Codefox icon

Untitled

Codefox | PRO | 11/02/13 05:38:13 AM UTC | 0 ⭐ | 763 👁️ | Never ⏰ | []
text |

1.1 KB

|

None

|

0 👍

/

0 👎

#!/usr/bin/perl -w
# IP Scanner
# By Feky
#
use IO::Socket;
 # Check if parameters are set
if(@ARGV != 4){
  print "Parameters: [min ip] [max ip] [min port] [max port]\n";
  exit 1;
}
# Check for port errors
if(($ARGV[2] > $ARGV[3]) || ($ARGV[2] > 65535) || ($ARGV[3] > 65535)){
  print "Port error.\n";
  exit 1;
}
 # Check for IP address errors
@sip = split(/\./, $ARGV[0]);
@eip = split(/\./, $ARGV[1]);
for($x = 0; $x < 4; ++$x){
  if(($sip[$x] > 255) || ($eip[$x] > 255)){
    print "IP address error.\n";
    exit 1;
  }
}
$p = 0;
print "Scanning...\n\n";
while(1){
  $cip = join('.', @sip);
  IO::Socket::INET->new(PeerAddr=>($cip),PeerPort=>$p,proto=>'tcp',Timeout=>1) and print "$cip:$p\n";
  if($p == $ARGV[3]){
      $sip[3] += "1";
      $p = $ARGV[2];
  } else {
      ++$p;
  }
  if($sip[3] > "255"){
    $sip[2] += "1";
    $sip[3] = "0";
  }
  if($sip[2] > "255"){
    $sip[1] += "1";
    $sip[2] = "0";
  }
  if($sip[1] > "255"){
    $sip[0] += "1";
    $sip[1] = "0";
  }
  if($ARGV[1] =~ /$cip/){
    print "\nScan completed.\n";
    exit 1;
  }
}
exit;

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎