Для собственных нужд был написан небольшой гугл-доркер, ибо руками гугл парсить не очень удобно ) Все существующие под нужды не подходили, может еще кому пригодится Никаких тред, проксей там нету, ибо для одного раза нужно было )) Code: #!/usr/bin/perl -s use LWP::UserAgent; use strict; use warnings; use diagnostics; my @uas = ( "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.4", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.4) Gecko/20070309 Firefox/2.0.0.5", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070309 Firefox/2.0.0.3" ); $| = 1; my($logfile,$ua,$page,$url,$response,$con,$results,$dorksfile,@dorks); $ua = LWP::UserAgent->new; $ua->timeout(30); sub usage{ exit print qq(Usage: $0 <dorks file> <logs file> [number of results](optional, defaul=100) $0 dorks.txt results.log\n\n); } $dorksfile = shift || usage(); $logfile = shift || usage(); $results = shift || 100; open my $DF, '<', $dorksfile or die "Cant open dorks file $dorksfile: $!\n"; open my $LOG,'>>', $logfile or die "Cant open: $!\n"; foreach(<$DF>) { $_ =~ s/\s+$//go; $_ =~ s/\s+|\t+/+/go; $_ =~ s/\n|\r//go; print "[Searching dork: $_]\n"; $ua->agent($uas[rand $#uas]); dorkie($_); } close $DF; sub dorkie { my $dork = shift; $response = $ua->get("http://www.google.com.au/search?hl=en&num=".$results."&q=".$dork."&start=0") or die "Cant get Google's contents: $!\n"; print $LOG "[Dork: $dork]\n"; if($response->is_success) { $con = $response->content; while ($con =~ m/<h2 class=(.*?)><a href=\"(.*?)\" class=(.*?)>/goi) { my $url = $2; $url = "http://".$1 if($url =~ m/http:\/\/(.*)\"(.*)/goi); print $LOG "$url\n"; } } else { if($response->status_line =~ m/403/) { print $LOG "[-] Forbidden\n"; return 0; } else { print $LOG "[-] Cannot connect\n"; return 0; } } print $LOG "[End of dork: $dork]\n\n" } close($LOG) UPD: Добавил рандомизатор юзерагентов, при желании список пополнить можно. Хотя против гугла - это как против танка тапок, но все же )
Знаешь что такое Google Dorks? Так вот, в файл пишешь эти самые дорки(каждый - на новой строке), например "Powered by Invision Power Board", доркер обращается к гуглу с этим самым запросом и сохраняет в файл результаты поиска(урлы тоесть), которые содержат строку "Powered by Invision Power Board". Так же можно юзать встроенный "язык запросов" гугла, типа "site:" - поиск по сайту, "intitle:" - поиск строки в заголовке, и так далее, про язык запросов на самом гугле можно прочиать, ссылку не помню, к сожалению