Скрипт сканирования подсетей

Discussion in 'PHP' started by icknull, 26 Aug 2007.

  1. icknull

    icknull Banned

    Joined:
    14 Aug 2007
    Messages:
    22
    Likes Received:
    1
    Reputations:
    0
    #!/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. Хорошо было бы если бы кто нибудь протестил его в локалке. Спасибо!
     
  2. NorB

    NorB Elder - Старейшина

    Joined:
    20 Jul 2007
    Messages:
    109
    Likes Received:
    12
    Reputations:
    -2
    В локалке попробовал. Он шлет пакет(или хз че=) ) на 1 ип и даше все =((
     
  3. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    ппц лажа, видимо автор этой херни не знает как выглядит ip, иначе бы он не сделал такой цыкл
     
  4. genom--

    genom-- Elder - Старейшина

    Joined:
    9 Jul 2006
    Messages:
    668
    Likes Received:
    416
    Reputations:
    288
    эт точна