Thanks to Nguyen code ;-)
====
#!/usr/local/bin/perl
#require ("sys/socket.ph");
use Socket;
# ////////////////////////////////////////////////////////
# //
# // Perl Port Scan
# // Author: Thu Nguyen
# //
# ///////////////////////////////////////////////////////
#dump it out right away
$|=1;
# ////////////
# // Defintion
# ////////////
$AF_INET=2; $PF_INET=$AF_INET; $SOCK_STREAM=1;
$ver = "0.01";
print ("Perl Port Scan: $vern");
#$hostname = `hostname`;
#$hostname =~ s/n//g;
#$domainname = `domainname`;
$server = @ARGV[0];
if($server eq "")
{
exit 1;
}
@ports = (25,7,21,22,23,25,37,42,43,53,70,80,88,110,137,138,139);
@port_desc =
("smtp","echo","ftp","ssh","telnet","snmp","time","nameserver","whois","DNS"
,"gopher","www",
"kerberos","pop3","netbios-ns","netbios-dgm","netbios-ssn");
($d1,$d2,$prototype) = getprotobyname("tcp");
($d1,$d2,$d3,$d4,$rawserver) = gethostbyname($server);
print "Server: $server\n";
$numport = @ports;
for($i=0;$i<$numport;$i++)
{
$port = @ports[$i];
$port_desc = @port_desc[$i];
socket(SOCKET,PF_INET(),SOCK_STREAM(),$prototype) || die ("Socket creation
fail $! ");
$clientaddr = pack("Sna4x8",$AF_INET,$port,$rawserver) || die ("Server
Down?");
$connected = connect(SOCKET,$clientaddr);
if($connected)
{
print "port: $port ($port_desc) is open \n";
}
else
{
print "port: $port ($port_desc) is closed \n";
}
close(SOCKET);
#sleep(1000);
}
======
Yves.
-----Original Message-----
From: John Deretich [mailto:[EMAIL PROTECTED]
Sent: Thursday, March 06, 2003 3:08 AM
To: Perl-Win32-Admin-Request (E-mail)
Subject: ports
Hi,
does anyone know if there's a module
that can check for available ports on a network?
thanks,
John
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Win32-Admin mailing list
[EMAIL PROTECTED]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs