|
该脚本我发现有点问题,就是当链接成功以后,不会自动断开,这个问题我一直都在想办法。。
这段时间可以好好看看。。当然,如果有哥们懂的,欢迎留言交流下。。。
#! /usr/bin/perl
use threads;
use IO::Socket::INET;
use strict;
my @openport;
sub scan{
my ($host,@ports,$proto) = @_;
foreach my $port (@ports){
my $socket = new IO::Socket::INET(
PeerHost => $host,
PeerPort => $port,
Proto => $proto,
);
if($socket){
print $port,"is open!\n";
push(@openport, $port);
$socket->close();
}
}
}
sub thread{
my $host = shift;
my @ports = (1..65535);
my $length = 65535/4;
my $thr0 = threads->new(\&scan, $host, @ports[1..$length], 'tcp');
my $thr1 = threads->new(\&scan, $host, @ports[$length+1..$length*2], 'tcp');
my $thr2 = threads->new(\&scan, $host, @ports[$length*2+1..$length*3], 'tcp');
my $thr3 = threads->new(\&scan, $host, @ports[$length*3+1..65535], 'tcp');
$thr0->join();
$thr1->join();
$thr2->join();
$thr3->join();
}
thread('127.0.0.1');
#scan('127.0.0.1',29,'tcp');
foreach my $accessport (@openport){
print $accessport," is open!";
}
|
|
|