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($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;
}


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

  #2  
Старый 23.11.2008, 15:02
LEE_ROY
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
С нами: 10265091

Репутация: 541


По умолчанию

в шапке напсано:
PSCAN.PHP?IP=<IP>&SCAN=TRUE
тоесть ты ему гетом даеш проксю, а он чекает )
 
Ответить с цитированием

  #3  
Старый 23.11.2008, 15:13
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
С нами: 9560486

Репутация: 1809


По умолчанию

Спасибо LEE_ROY!
 
Ответить с цитированием

  #4  
Старый 23.11.2008, 15:17
eLWAux
Постоянный
Регистрация: 15.06.2008
Сообщений: 941
С нами: 9423746

Репутация: 2399


По умолчанию

а так:
?ip=12.34.56.78&scan=true&q=1
виведет тебе єщо результат коннекта)

ТС, учить английский тебе надо))

Цитата:
## ##
## USAGE ##
## ##
## //TEST IP AND DEFINED PORT ##
## PSCAN.PHP?IP=<IP>&PORT=<PORT> ##
## ##
## ##
## //SCAN IP (ports 80 - 65200) ##
## PSCAN.PHP?IP=<IP>&SCAN=TRUE ##
## ##
## ##
PSCAN.PHP?IP=<IP>&SCAN=TRUE
просканирует ІР на порти 80 до 65200

PSCAN.PHP?IP=<IP>&PORT=<PORT>
просканить ІР на ПОРТ

Последний раз редактировалось eLWAux; 23.11.2008 в 15:26..
 
Ответить с цитированием

  #5  
Старый 23.11.2008, 15:35
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
С нами: 9560486

Репутация: 1809


По умолчанию

А как сделать цикл, чтобы он сканил диапазон ip на несколько портов? Например
Цитата:
PSCAN.PHP?IP=120.1.1.1-120.255.255.255&PORT=80,8080,3128
 
Ответить с цитированием

  #6  
Старый 23.11.2008, 20:15
vikseriq
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
С нами: 9356941

Репутация: 107
По умолчанию

Цитата:
Сообщение от mff  
А как сделать цикл, чтобы он сканил диапазон ip на несколько портов?
Пиши скриптец. Например:
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 - массив с портами
Прокси перебирать аналогично - циклом.

Последний раз редактировалось vikseriq; 23.11.2008 в 20:19..
 
Ответить с цитированием

  #7  
Старый 23.11.2008, 15:44
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
С нами: 9456866

Репутация: 979


По умолчанию

скрипт переписывать придется
 
Ответить с цитированием

  #8  
Старый 23.11.2008, 20:18
P3L3NG
Banned
Регистрация: 04.06.2008
Сообщений: 402
С нами: 9440285

Репутация: 719
По умолчанию

а у тя курл стоит на хосте?
 
Ответить с цитированием

  #9  
Старый 23.11.2008, 20:20
vikseriq
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
С нами: 9356941

Репутация: 107
По умолчанию

Наверное да, раз он спрашивает уже о диапазонах )
Иначе.. >:=)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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.