Гуры, требуется ваша помощь, есть вот такой скрипт, хвалят его на америкосовских сайтах, но почемуто он не работает, тупо белый экран Пробывал на Agave и на localhost HELP!!! PHP: <? ############################################## # php proxy scanner- by Jackh4xor # j4ckh4xor [at ]gmail [.com] ############################################## ############################################## ## ## ## USAGE ## ## ## ## //TEST IP AND DEFINED PORT ## ## PSCAN.PHP?IP=<IP>&PORT=<PORT> ## ## ## ## ## ## //SCAN IP (ports 80 - 65200) ## ## PSCAN.PHP?IP=<IP>&SCAN=TRUE ## ## ## ## ## ############################################## ## ## ## TESED ON WINDOWS PHP5 & APACHE 2 ## ## UNTESTED ON NIX BUT SHOULD WORK ## ## ## ############################################## ## ## set_time_limit(0); $_port = $_GET['PORT']; $_ip = $_GET['IP']; $_scan = $_GET['SCAN']; $Query = $_GET['q']; function Port_Check($host, $port) { if (isset($host) && isset($port)) { $i=(int)$port; $fp = @fsockopen("tcp://".$host,$i,$errno,$errstr,10); if($fp) { $res = TRUE; } else { $res = FALSE; } } else { $res = FALSE; } return $res; } function getmicrotime() ## USED IN PING { list ($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } function Sockcheck($host,$port,$type) { $Response = '..GOODCON..'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://".$_SERVER['SERVER_NAME']."".$_SERVER['PHP_SELF']."?q=true"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_USERAGENT,'[DB]'); curl_setopt($ch, CURLOPT_PROXY, $host.":".$port); if($type == "4") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4); else if($type == "5") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5); $mk_time = getmicrotime(); $SOCKGOOD = FALSE; $html = curl_exec($ch); if(stristr( trim($html) , $Response )) { $SOCKGOOD = TRUE; } else { $SOCKGOOD = FALSE; } if ($SOCKGOOD == TRUE) { $Proxy_Ping = trim(Round(((getmicrotime()-$mk_time) * 1000),0)); $res = "(".$port.") <font color=green>Open</font> : SOCK ".$type." Proxy Found <font color="; if ($Proxy_Ping < 500) { $res .= 'green'; } elseif ($Proxy_Ping < 1000) { $res .= 'orange'; } else { $res .= 'red'; } $res .= sprintf("> %s </font>ms<br>", $Proxy_Ping); } else { $res = "(".$port.") <font color=green>Open</font> : No SOCK ".$type." Proxy Found<br>"; } curl_close ($ch); unset($ch); return $res; } function HTTPProxy_Test($IP, $Port) { $Response = '..GOODCON..'; $fp = fsockopen($IP, (int)$Port, $errno, $errstr, 10); if (!$fp) { $res = "$errstr ($errno)<br />\n"; } else { $mk_time = getmicrotime(); $out = "GET http://".$_SERVER['SERVER_NAME']."".$_SERVER['PHP_SELF']."?q=true HTTP/1.0\r\n"; $out .= "User-Agent: [DB]\r\n"; $out .= "Connection: Close\r\n"; $out .= "Pragma: no-cache\r\n"; $out .= "Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7\r\n"; $out .= "Cache-Control: no\r\n"; $out .= "Accept-Language: en;q=0.7,en-us;q=0.3\r\n"; $out .= "\r\n"; fwrite($fp, $out); $HTTPGOOD = FALSE; while (!feof($fp)) { $fptmp = fgets($fp, 128); if( stristr( trim($fptmp) , $Response ) ) { $HTTPGOOD = TRUE; BREAK; } } if ($HTTPGOOD == TRUE) { $Proxy_Ping = trim(Round(((getmicrotime()-$mk_time) * 1000),0)); $res = "(".$Port.") <font color=green>Open</font> : HTTP Proxy Found <font color="; if ($Proxy_Ping < 500) { $res .= 'green'; } elseif ($Proxy_Ping < 1000) { $res .= 'orange'; } else { $res .= 'red'; } $res .= sprintf("> %s </font>ms<br>", $Proxy_Ping); } else { $res = "(".$Port.") <font color=green>Open</font> : No HTTP Proxy Found<br>"; } fclose($fp); } return $res; } function scanPorts($host, $pfrom, $pto, $delay) { $res; for ($i = $pfrom-1; $i <= $pto; $i++) { $res[$i]['RES'] = 0; if (Port_Check($host, $i)) { $re[$i]['RES'] = 1; $res[$i]['HTTP'] = HTTPProxy_Test($host, $i); $res[$i]['SOCK4'] = Sockcheck($host, $i,4); $res[$i]['SOCK5'] = Sockcheck($host, $i,5); } else { $res[$i]['RES'] = 0; $res[$i]['C'] = '('.$i.') <font color=red>Closed</font> : Unable to test... <br>'; } sleep($delay); } return $res; } if (isset($_ip)) { if (isset($_scan)) { $mk_time = getmicrotime(); $pt = scanPorts($_ip,80,65200,2); echo "Scanning ".$_ip." .....<br>"; foreach($pt as $tport => $tres) { if ($tres['RES'] == 1) { echo "-- ".$tres['HTTP']; echo "-- ".$tres['SOCK4']; echo "-- ".$tres['SOCK5']; } //else { echo "- ".$tres['C']; } //uncomment to show closed ports as well } $Proxy_Ping = trim(Round(((getmicrotime()-$mk_time)),0)); echo "<br>Scanned in ".$Proxy_Ping."Secs<br>"; } if (isset($_port)) { if (Port_Check($_ip,$_port) == TRUE) { echo "Scanning ".$_ip." .....<br>"; echo HTTPProxy_Test($_ip, $_port); echo Sockcheck($_ip, $_port,4); echo Sockcheck($_ip, $_port,5); } } } if (isset($Query)) { $Response = '..GOODCON..'; echo $Response; } ?>
а так: ?ip=12.34.56.78&scan=true&q=1 виведет тебе єщо результат коннекта) ТС, учить английский тебе надо)) PSCAN.PHP?IP=<IP>&SCAN=TRUE просканирует ІР на порти 80 до 65200 PSCAN.PHP?IP=<IP>&PORT=<PORT> просканить ІР на ПОРТ
Пиши скриптец. Например: PHP: for ($i = 1; $i<count($list); $i++){ system ('php /home/scr/PSCAN.PHP?IP=120.1.1.1-120.255.255.255&PORT='.$list[$i]); } $list - массив с портами Прокси перебирать аналогично - циклом.