ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

PHP Proxy Scanner by Jackh4xor
  #1  
Старый 23.11.2008, 14:41
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
С нами: 9560486

Репутация: 1809


По умолчанию PHP Proxy Scanner by Jackh4xor

Гуры, требуется ваша помощь, есть вот такой скрипт, хвалят его на америкосовских сайтах, но почемуто он не работает, тупо белый экран Пробывал на 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;
}


?>
 
Ответить с цитированием
 



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP 186 21.02.2010 02:41
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44
Живые прокси xdx Skype, IRC, ICQ, Jabber и другие IM 111 15.04.2007 13:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.