[转载]connect端口扫描器修正版
文章作者:demonalex_at_dark2s.org[code]#!usr/bin/perl -w
#扫描器 power by demonalex_at_dark2s.org
use Socket;
#主机地址部分
$host=$ARGV[1];
$packhost=inet_aton($host);
#主机地址部分
$proto=$ARGV[0];
$port1=$ARGV[2];
$port2=$ARGV[3] || $port1;
@port=($port1..$port2);
$port3=$port2-$port1;
if($proto eq '-t'){
$sock_data=SOCK_STREAM;
$sock_proto=6;
$protocol='TCP';
}
elsif($proto eq '-u'){
$sock_data=SOCK_DGRAM;
$sock_proto=17;
$protocol='UDP';
}
else{
die "The second parameter must be '-t'=TCP or '-u'=UDP...\n";
}
if($port3<0){
print"Sorry,port2 must be bigger than port1...\n";
exit 1;}else{
for($num=0;$num<=$port3;$num++){
$addr[$num]=sockaddr_in($port[$num],$packhost);
socket($sock[$num],AF_INET,$sock_data,$sock_proto);
if(connect($sock[$num],$addr[$num])){
print "The $protocol $port[$num] is opened!Great!!!\n";
close $sock[$num];
next;
}else{
warn "The $protocol $port[$num] may be closed!\n";
close $sock[$num];
next;
}
}
exit 1;}[/code]
#格式:perl connect.pl -t 192.168.x.x 139 445
#扫描192.168.x.x的TCP139到TCP445的端口情况
#增加了扫描UDP功能,不过好象有点BUG,修正中:)
#欢迎测试,如有问题请EMAIL:demonalex_at_dark2s.org
页:
[1]