Friday, December 3, 2010

Scan Opened TCP Ports Based on Server Name List Script

 In order to see if the server is sql server or other port is listening, the following script can scan the port based on the server list. 


#!/usr/bin/perl -w

use IO::Socket;
use strict;
my $debug = 0;
my $servername='';
my @ports=('2025','1433');

open(SERVERNAME,"sqlserver.log");

while ($servername=<SERVERNAME>){

        chomp $servername;
        print "scaning server:$servername .....\n\n" if $debug;

        foreach my $port (@ports){

          my $sock = new IO::Socket::INET (
                PeerAddr => $servername,
                PeerPort => $port,
                Proto => 'tcp');
          if (! $sock ) {
                print "ServerName:$servername:$!\n" if $debug
          }else {
                print "ServerName:$servername:OPENED:$port\n";
                close($sock);
          }
        }
}
close(SERVERNAME);

0 comments: