- 论坛徽章:
- 0
|
本人初学perl,想写一个能判断web目录是否能put的程序.写完后发现对单个ip的扫描没有问题,想从文件读入一个ip列表,或者扫描一个段的时候发现程序总是在扫描完第一个ip后不再执行,请问是什么原因导致程序无法进行下去.谢
以下是程序
#!c:\perl\bin\perl
use IO::Socket;
@list=('/','/scripts/','/cgi-bin/','/_mem_bin/','/msadc/','/_private/','/_vti_pvt/','/_vti_bin/','/iissamples/','/pbserver/','/cfdocs/','/iisadmin/','/iisadmpwd/','/_private/','/news/','/events/','/publications/','/exchange/');
if (@ARGV < 2) {
print "Usage: iplistfile port\n";
exit;
}
else{
$host=$ARGV[0];
$port=$ARGV[1];
}
open(IPLIST, "$host" ||die "can not open the file!";
@iplist=<IPLIST>;;
close(IPLIST);
foreach $eeee(@iplist){
chomp $eeee;
foreach(@list){
$socket= IO::Socket::INET->;new(Proto=>;"TCP",
PeerAddr=>;"$eeee",
PeerPort=>;"$port"
or die "Cant connect to $eeee: $!\n";
#print "$_\n";
print $socket " UT ${_}123.txt HTTP/1.1\n";
print $socket "Host: $eeee\n";
print $socket "Content-Length: 10\n";
print $socket "AAAAAAAAAAA\n\n\n";
$socket->;recv($rbuf,200);
$socket->;recv($rbud,150);
#print "$rbud\n";
if($rbud=~/201/){
print "$_ OK!!\n";}
else{
print "$_ shit...\n";
}
close($socket);
sleep(3);
}
} |
|