Показать сообщение отдельно

Скрипт сканирования подсетей
  #1  
Старый 26.08.2007, 19:49
icknull
Banned
Регистрация: 14.08.2007
Сообщений: 22
С нами: 9864199

Репутация: 1
По умолчанию Скрипт сканирования подсетей

#!/usr/bin/perl

use IO::Socket;

$st_ip = @ARGV[0] || die "Usage: $0 [start_ip] [end_ip] [port]\n";
$end_ip = @ARGV[1];
$port = @ARGV[2];

for ($ip = $st_ip; $ip <= $end_ip; $ip++) {
$socket = IO::Socket::INET->new (PeerAddr => $ip,
PeerPort => $port,
Proto => 'tcp');
if ($socket) {
print "\n[$ip] Port $port is open\n";
} else {close($socket);}
close($socket);
}


Вот исходник. Почему то, если указать любой адрес в качестве первого параметра (начальный адрес), он выведет что на этой машине открыт указанный порт. В чем ошибка?

P.S. Хорошо было бы если бы кто нибудь протестил его в локалке. Спасибо!
 
Ответить с цитированием