He is a Quick'n dirty script that scan all desired ports.
It works but it is really slow (1 second per port).

<--
#!perl -w
use IO::Socket;
use Net::Ping;
use strict;

my ($portNumber, $remote, $pingObject);
my $maxSocket = 20;
my $startPort = 130;
my $endPort   = 140;
my $remoteSys = "155.132.49.32";

#
# Ping the remote system to be sure he is alive (optional)
#
$pingObject = Net::Ping->new("icmp", 5, 1024);
die "Fail to resolve " . $remoteSys if ! gethostbyname($remoteSys);
print $remoteSys . " (" . inet_ntoa(scalar gethostbyname($remoteSys)) .
")\n";
die "Fail to ping " . $remoteSys . "\n" if (!
$pingObject->ping($remoteSys));
$pingObject->close();

#
# For each port (in the range) test a socket
#
foreach $portNumber ($startPort..$endPort)
{
  print "Try the port : " . $portNumber . "\n";
  $remote = IO::Socket::INET->new(Proto    => "tcp",
                                  PeerAddr => $remoteSys,
                                  PeerPort => $portNumber);
  if ($remote)
  {
    print "Open port : " . $portNumber . "\n";
    close $remote;
  }
}

#
# Leave
#
exit 0;
-->

Olivier Gerault

_______________________________________________
ActivePerl mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to