Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
PHP Proxy Scanner by Jackh4xor |

23.11.2008, 14:41
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
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;
}
?>
|
|
|

23.11.2008, 15:02
|
|
Постоянный
Регистрация: 09.11.2006
Сообщений: 639
Провел на форуме: 1917742
Репутация:
541
|
|
в шапке напсано:
PSCAN.PHP?IP=<IP>&SCAN=TRUE
тоесть ты ему гетом даеш проксю, а он чекает )
|
|
|

23.11.2008, 15:13
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Спасибо LEE_ROY!
|
|
|

23.11.2008, 15:17
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
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..
|
|
|

23.11.2008, 15:35
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
А как сделать цикл, чтобы он сканил диапазон ip на несколько портов? Например
PSCAN.PHP?IP=120.1.1.1-120.255.255.255&PORT=80,8080,3128
|
|
|

23.11.2008, 15:44
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
скрипт переписывать придется
|
|
|

23.11.2008, 20:15
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
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..
|
|
|

23.11.2008, 20:18
|
|
Banned
Регистрация: 04.06.2008
Сообщений: 402
Провел на форуме: 2267346
Репутация:
719
|
|
а у тя курл стоит на хосте?
|
|
|

23.11.2008, 20:20
|
|
Участник форума
Регистрация: 31.07.2008
Сообщений: 207
Провел на форуме: 299231
Репутация:
107
|
|
Наверное да, раз он спрашивает уже о диапазонах )
Иначе.. >:=)
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|