ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
По умолчанию 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, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Что такое Php? PAPA212 Болталка 13 28.12.2007 20:44
Живые прокси xdx ICQ 111 15.04.2007 13:10
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



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


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




ANTICHAT.XYZ