#!/usr/bin/perl -w port scanner use Socket; $host = $ARGV[0];print "Scanning $host\n"; @services = `grep /tcp /etc/services`;for(@services){($_ =~ /^(.*?)(\d*)\//) && ($services{$2}=$1)} for($x=21;$x<25;$x++) { socket(SOCK,PF_INET,SOCK_STREAM,getprotobyname('TCP')); if(connect(SOCK, sockaddr_in($x, inet_aton($host)))) { print "open\t$x " . $services{$x} . "\n"; } else { print "closed\t$x " . $services{$x} . "\n"; } close(SOCK); }