Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Нужен скрипт php proxy scanner HELP ME! |

08.07.2008, 04:05
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
Нужен скрипт php proxy scanner HELP ME!
|
|
|

08.07.2008, 11:05
|
|
Участник форума
Регистрация: 13.11.2007
Сообщений: 180
Провел на форуме: 1058585
Репутация:
122
|
|
Это собственно так называемый чекер прокси.
И он полностью работает вот подправил и немного добавил коментов что-бы тебе было понятно.
PHP код:
<?php
/* Переведено iron-viper for ANTICHAR.RU */
$filename = "filename.txt"; //здесь пишем путь до файла в котором будут лежать прокси вида IP:port
$rel=file_get_contents($filename); // "парсим" файл-лист с проксями указанный выше
$ipset = explode("\n",$rel); // делаем выборку(чтение) из того что выбрали
foreach($ipset as $ips)
{
$ipandport=explode(':',$ips);
//Так как в листе прокси вида 123.156.189.112:8080 то разбиваем значения(строки) на IP и порты
$host=$ipandport[0];
$i=(int)$ipandport[1];
$fp = @fsockopen("tcp://".$host,$i,$errno,$errstr,10); // открываем сокет и стукаем в адрес прокси по указанному порту
if($fp)
{
echo("Результат $fp
");
echo ("port " . $i . " открыт по адресу" . $host . "<br>");
fclose($fp);
}
flush();
}
?>
Инструкция:
в файл "filename.txt" к примеру записываем прокси в виде:
83.65.203.130:8080
81.63.140.37:3128
60.191.73.186:8080
129.69.210.96:3124
сохраняем и кидаем рядом со скриптом, далее запускаем скрипт и он сканит эти прокси.
На сервере где запускаешь скрипт должна быть поддержка сокетов.
Можно еще передописать скрипт чтобы он результаты сохранял и бла бла, но я ответил на твой вопрос думаю.
Последний раз редактировалось iron-viper; 08.07.2008 в 11:11..
|
|
|

08.07.2008, 16:57
|
|
Участник форума
Регистрация: 05.04.2007
Сообщений: 150
Провел на форуме: 771228
Репутация:
77
|
|
немного доделал чтоб сканил по диапазону
нужно создать good.txt с chmod 777
PHP код:
<form action="<?= $PHP_SELF?>" method="post">
ОТ : <input type=text name=ot>
ДО : <input type=text name=do>
ПОРТ : <input type=text name=port size=2>
Timeout : <input type=text name=timeout size=2 value="10"><br />
Удалить из good.txt старые прокси <input type=checkbox name=del_old checked>
<input type=submit name=submit value="check">
</form>
<?
if ($_POST['ot']!="" && $_POST['do']!="" && $_POST['port']!="")
{
if ($_POST['del_old']=="on")
{
$fd=fopen("good.txt","w");
@fputs($fd,"");
fclose($fd);
}
$ot=$_POST['ot'];
$do=$_POST['do'];
$timeout=$_POST['timeout'];
$port=$_POST['port'];
preg_match("/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/",$ot,$ott);
preg_match("/([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3}).([0-9]{1,3})/",$do,$doo);
$i=0;
while($i!=1)
{
if ($ott[4]>256){$ott[4]=0;$ott[3]++;}
if ($ott[3]>256){$ott[3]=0;$ott[2]++;}
if ($ott[2]>256){$ott[2]=0;$ott[1]++;}
if ($ott[1]==$doo[1] && $ott[2]==$doo[2] && $ott[3]==$doo[3] && $ott[4]==$doo[4])
{$i=1;}
$host="$ott[1].$ott[2].$ott[3].$ott[4]";
$fp = @fsockopen("tcp://".$host,$port,$errno,$errstr,$timeout);
if($fp)
{
$ff=fopen("good.txt","a+");
@fputs($ff,$host.":".$port."\r\n");
fclose($fp);
fclose($ff);
}
flush();
$ott[4]++;
}
if ($i==1)
{
echo "GOOD: <br />";
require("good.txt");
}
}
?>
Последний раз редактировалось 5triker; 08.07.2008 в 17:55..
|
|
|

08.07.2008, 17:22
|
|
Участник форума
Регистрация: 13.11.2007
Сообщений: 180
Провел на форуме: 1058585
Репутация:
122
|
|
И че он сканит? То есть понятно что задумка -диапазон, но ты порбывал сканить?
Я два раза поюзал, првый он сказал что в диапазоне из 10 адресов на порт 80, открыты все. Чего быть не может.
Во втором на диапазон 30 он вообще ничего не показал. Короче Бэд.
Последний раз редактировалось iron-viper; 08.07.2008 в 17:32..
|
|
|

08.07.2008, 17:48
|
|
Участник форума
Регистрация: 05.04.2007
Сообщений: 150
Провел на форуме: 771228
Репутация:
77
|
|
проверил щас на 61.235.0.20 61.235.0.30 1080
записало в файл правильно , но чет не вывело правдо в браузер
upd: немного исправил вывод вроде норм выводит терь
Последний раз редактировалось 5triker; 08.07.2008 в 17:56..
|
|
|

09.07.2008, 19:43
|
|
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме: 5866479
Репутация:
1809
|
|
5triker, работает, но он только socks почему то ищет... 
|
|
|

06.07.2009, 19:58
|
|
Новичок
Регистрация: 31.01.2009
Сообщений: 2
Провел на форуме: 385
Репутация:
0
|
|
а есть какое нибудь проф. решение этой задачи?? чтоб сканить именно по диапозону
|
|
|

07.07.2009, 21:35
|
|
Постоянный
Регистрация: 20.12.2007
Сообщений: 334
Провел на форуме: 1934122
Репутация:
118
|
|
PHP код:
<?php
#check only socks5
$ip_adress = '127.0.0.1-127.0.0.254';
$ports = array('9050','1010');
list($ip_begin, $ip_end) = explode('-', $ip_adress);
for($i = ip2long($ip_begin); $i < ip2long($ip_end); $i++) {
foreach($ports as $port)
check_socks5(long2ip($i), $port);
}
function check_socks5($socks_ip, $socks_port)
{
$socket = fsockopen($socks_ip, $socks_port);
if($socket) {
$auth = pack ('H*', '050100'); // 05 - версия протокола, 01 - метод запроса (CONNECT), 00 - без аутентификации
fwrite ($socket, $auth);
$read = fread($socket, 2);
if (bin2hex($read) == '0500') echo $socks_ip.':'.$socks_port.' - Good <br/>';
else echo $socks_ip.':'.$socks_port.' - Bad or Authorization Required <br/>';
fclose($socket);
} else print 'Host down <br/>';
}
?>
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|