Perl Coro初体检
蛮纠结的,本想着后天出差的时候可以用。结果还是不行,还是用多线程吧。原生的东西应该都是比较好的。:(
#!/usr/bin/perl
use Coro;
#use Net::Ping;
use AnyEvent::Ping::TCP;
my @check_list;
my @target=<>;
foreach my $ip (@target){
foreach my $port (1..65535){
push @check_list,async{
nex($ip,$port);
}
};
};
foreach (@check_list){
$_->join;
};
sub nex{
($ip,$port)=@_;
$scan=Net::Ping->new('syn',3);
$scan->port_number($port);
$scan->ping($ip);
if($scan->ack){
print "ip:$ip port:$port open\n";
}
$scan->close();
}
页:
[1]