- fsockopen: documentation ( source)
- fclose: documentation ( source)
- fwrite: documentation ( source)
- fopen: documentation ( source)
<?php
/*
Script pro vyhledání minecraft serveru
Cernokneznik 2013
*/
/* Definice proměnných a funkcí */
function testserver($host,$port) { //Ověření serveru
$fp = @fsockopen($host,$port,$errno,$errstr, $timeout = 60);
if ($fp === true) {
return "1"; //Server je zapnutý
}
}
/* Vyhledávání serverů */
for($p5 = 10000; $p5 <= 49152; $p5++){ //Generace portů - snížený rozsah -> odebrány funkční porty
/* Prochází možné ip-adresy pro port $p5 */
echo"Procházím možné ip-adresy pro port $p5";
for($p1 = 0; $p1 <= 255; $p1++){ //část IP
//Skip privátních IP adres
if($p1 == 10){
$p1=11;
echo"Přeskočen rozsah IP adresy 10.0.0.0 – 10.255.255.255";
}
for($p2 = 0; $p2 <= 255; $p2++){ //část IP
//Skip privátních IP adres
if($p1 == 172 && $p2 == 16){
$p2=32;
echo"Přeskočen rozsah IP adresy 172.16.0.0 – 172.31.255.255";
}elseif($p1 == 192 && $p2 == 168){
$p2=169;
echo"Přeskočen rozsah IP adresy 192.168.0.0 – 192.168.255.255";
}
for($p3 = 0; $p3 <= 255; $p3++){ //část IP
for($p4 = 1; $p4 <= 254; $p4++){ //část IP - snížený rozsah -> privátní sítě
$ip = "".$p1.".".$p2.".".$p3.".".$p4.""; //Sestavení IP adresy
//Ověření dostupnosti serveru
if(testserver($ip, $p5)== 1){
$soubor=fopen("vysledky.txt", "w+"); //Prozatím....
$text = "TIME> ". $cas ." | IP> ". $ip .":". $p5 ."\n";
fwrite($soubor, $text); //Zapsání výsledku do souboru
fclose($soubor); //Uzavření souboru
}
}
}
} //Schody, Woooohooo!!
}
}
?>