У меня есть скрипт Perl, который должен сканировать до 400k строк. Иногда он останавливается без сообщения об ошибке. Как это исправить?Perl-скрипт перестает работать через некоторое время
Вот мой код, отредактированный
#!/usr/bin/perl
# M-A_labz
# Modules
use HTTP::Request;
use strict;
use Win32::Console::ANSI;
use warnings;
use LWP::Simple;
use Term::ANSIColor;
if ($^O =~ /Win/) {
system("cls");
system("title Mass Scripts Grabber 0.1");
}
else {
system("clear");
}
$| = 1;
print color("red"), '
';
print color 'reset';
print color("yellow"), "\n\n[+] Enter List File Ips : ";
print color 'reset';
my $host = <STDIN>;
chomp($host);
open (SITE, "<$host") || die "[-] Can't open the List of site file !";
my @SITE = <SITE>;
close SITE;
foreach my $xp (@SITE) {
chomp $xp;
my $ip = $xp;
chomp ($ip);
my %group;
if ($ip !~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) {
print color("bold white"), "# Skiping $ip\n";
print color 'reset';
}
my $page = 0;
print color("green"), "Working on $ip\n";
print color 'reset';
print color("bold white"), "[#] Begin Reserving !";
print color 'reset';
while (1) {
my $content = get("http://www.bing.com/search?q=ip:$ip&count=50&first=1&FORM=PERE")
or die("Error getting output\n");
my $status = keys %group;
while ($content =~ /<cite>[:\/\/]*([\w\.\-]+)[\w+\/\.\-_:\?=]*<\/cite>/g) {
$group{$1} = undef;
}
last if ($status == keys %group);
$page = $page + 10;
}
print color("bold white"), "\n# OUTPUT for $ip\n";
print color 'reset';
open (IN,">reverse-$ip.txt");
foreach my $host (keys %group) {
print IN "$host\n";
}
close(IN);
open (F, "<reverse-$ip.txt")
|| die "[-] Can't open the List Of Domains Names!";
my @DOMAINS = <F>;
close F;
foreach my $D (@DOMAINS) {
chomp $D;
print color("bold white"), "[-] $D :[Unknown] \n";
print color 'reset';
}
}
Как вы видите, я отсканировать до 400K IP-адресов.
Ошибка здесь, на сайте говорит, добавьте больше деталей, и я понятия не имею, что описать больше. Извините за этот бессмысленный скандал.
Сообщите свой код и образец ваших данных. – stevieb
Вот сценарий, проверьте http://pastebin.com/0eBsmbY0 У меня также есть похожие скрипты, но они не используют bing.com. – Bleron
Пожалуйста, разместите свой код в строке, в разделе «Переполнение стека» как часть вашего вопроса. Ссылки могут устаревать. Спасибо! – FlipperPA