HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
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($chCURLOPT_URL"http://".$_SERVER['SERVER_NAME']."".$_SERVER['PHP_SELF']."?q=true");
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_HEADER0);
curl_setopt($chCURLOPT_CONNECTTIMEOUT10);
curl_setopt($chCURLOPT_TIMEOUT10);
curl_setopt($chCURLOPT_FOLLOWLOCATION1);
curl_setopt($chCURLOPT_USERAGENT,'[DB]');

curl_setopt($chCURLOPT_PROXY$host.":".$port);
if(
$type == "4"curl_setopt($chCURLOPT_PROXYTYPECURLPROXY_SOCKS4);
else if(
$type == "5"curl_setopt($chCURLOPT_PROXYTYPECURLPROXY_SOCKS5);

$mk_time getmicrotime();

$SOCKGOOD FALSE;
$html curl_exec($ch);
if(
stristrtrim($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$errstr10);
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($fp128);

if( 
stristrtrim($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.