#!/usr/local/bin/perl -w use strict; use IO::Socket; my $Usage="$0 -start [Start port] -end [End port] -address [IP address]"; die "Usage: $Usage \n" if ((@ARGV==0)||((scalar @ARGV)%2!=0)); my %CommandLine=@ARGV; my $Start=$CommandLine{-start} || 1; my $End=$CommandLine{-end} || 1024; my $Address=$CommandLine{-address} || "127.0.0.1"; print "Scanning $Address: ports $Start\-$End\n"; local $^W=0; for (my $Port=$Start;$Port<=$End;$Port++) { print "Port $Port (",getservbyport($1,"tcp")||"Unknown",") is open\n" if IO::Socket::INET->new("$Address:$Port"); }; $^W++;