[PERL]Multi-thread Proxy Scanner by Sharky [Human & Server]] Многопоточный прокси сканнер by Sharky Скриншот: Описание: [!] Сканит диапазон IP на наличие проксиков [!] Многопоточнсть [!] Сканит быстро [!] Прост в обращении [!] Чекает найденные проксики на валидность ( посредством парсинга гугла ) Запуск Человерку понятная версия: [*] Сохранить сорец в файл prox.pl или скачать по ссылкам внизу поста и разархивировать [*] Тыкнуть по получившемуся ярлычку [*] через консоль: Code: perl prox.pl [*] Далее просто вводить всё что просит Серверная версия ( ссылки в конце поста ): [*] Через консоль: Code: perl prox2.pl [start ip] [end ip] [port] [timeout (Default = 10)] [threads (Default = 50 )] [file for good proxies (Default = 'proxy.txt')] [*] Пример: Code: perl prox2.pl 192.168.1.1 192.168.255.255 3128 10 50 proxies.txt Source (человеку понятной версии): PHP: #!/usr/bin/perl use IO::Socket; use LWP::UserAgent; use HTTP::Request; use threads; use threads::shared; my @range : shared; my $i : shared; my $proxylist : shared; $| = 1; $nn = "\r\n"; $g = 0; print " ###################################################### ### ### ### Proxy Scanner ### ### with love by Sharky ### ### Special for Antichat ### ### *** ### ### ### ###################################################### " . $nn . $nn; print "[?] Start IP: "; $start = <STDIN>; print "[?] End IP: "; $end = <STDIN>; print "[?] Port: "; $port = <STDIN>; print "[?] Timeout: "; $timeout = <STDIN>; print "[?] Threads: "; $threads = <STDIN>; print "[?] File for good proxies: "; $proxylist = <STDIN>; @range = ip_range(); $size = scalar @range; threads(); sub threads { print $nn. "[+] $size IP`s for Scaning." . $nn; print "[+] Start Scaning." . $nn . $nn; for ( 0 .. $threads ) { $trl[$_] = threads->create( \&scan, $_ ); } for (@trl) { $_->join; } } sub scan { while (@range) { { lock(@range); $cur = shift @range; } my $sock = new IO::Socket::INET( PeerAddr => $cur, PeerPort => $port, PeerProto => 'tcp', Timeout => $timeout ); if ( !$sock ) { { lock($i); $i++; } } else { check(); close $sock; { lock($i); $i++; } } $percent = ( $i / $size ) * 100; $percent = sprintf( "%.1f", $percent ); print "[%] $percent% [Good Proxies] $g\r"; } } sub ip_range { my @ips; $s = inet_aton($start); $e = inet_aton($end); $s_ip = unpack( 'N', $s ); $e_ip = unpack( 'N', $e ); for ( $o = $s_ip ; $o < $e_ip ; $o++ ) { $o = pack( 'N', $o ); $ip = inet_ntoa($o); push @ips, $ip; $o = unpack( 'N', $o ); } chomp @ips; return @ips; } sub check { my $ua = new LWP::UserAgent; $ua->agent("Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); $ua->proxy( ['http'] => 'http://'.$cur.":".$port ); $surl = "http://google.com/index.php"; $req = new HTTP::Request GET => $surl; $document = $ua->request($req); $content = $document->content; if ( $content =~ /google/ ) { $g++; print "[OK] $cur:$port" . $nn; open( FILE, ">>$proxylist" ); print FILE "$cur:$port\n"; close(FILE); } } #with love by Sharky Либо скачать архивом: Человеку понятная версия : Rapidshare.com Webfile.ru Dump.ru Серверная версия: Rapidshare.com Webfile.ru Dump.ru Да прибудет с вами анонимность (с)
Ух ! Огромное спасибо ! А можно реализовать так, чтобы просто запустить .pl и потом результаты в текстовике смотреть ? Чтоб например через шелл запустить ...
функционал: оно проверяет только http прокси оно не проверяет их на анонимность реализация: самый первый пиздец это ip_range(), тут автор генерит ип для сканирования заранее, если указать диапазон с 192.168.1.1 по 192.170.1.1 то процесс перла уже занимает 37 метров, если диапазон больше, то вообще пзц. дальше автор зачем то сначала пытается открыть сокет, а затем уже при помощи lwp получить страницу, а ведь это можно и самим lwp сделать. так же тут вместо гугля можно получать страничку сайта типа 2ip.ru и там проверить по наличию реального ип анонимный ли это прокси. ну мелкие косяки на фоне того что выше рассматривать смысла нет. да N19hTW0lF, работы просто заe***ельские.
а я так не думаю, зачем ты выкладываешь своё говно для людей? вот запустит человек твою ху*ню с большим диапазоном, ебнет свой дедик... и огорчица
я диапазоны по ляму забивал... полёт нормальный не нравится не ешь (с) тем не менее спасибо за критику
лучше бы ты мимо пролетал или хотя бы приземлялся в теме "полезных скриптов". > не нравится не ешь я и не собирался, лишь бы другие не подавились >тем не менее спасибо за критику всегда пожалуйста
Можно попробовать увеличить скорость работы чека создав на сайте каком то страничку с одним словом(чтоб быстрее грузилась)