#!/usr/bin/perl # # Usage : # # sockscan2.pl # # # written by SnakeByte [ SnakeByte@kryptocrew.de ] # www.kryptocrew.de/snakebyte/ # use Net::SOCKS; if (@ARGV != 4 ){ print "\nThis tool performs a portscan on a host,\n"; print "and to make it possible, to defeat an IDS , which\n"; print "by scanning from various socks proxies\n"; print "written by SnakeByte [Snakebyte\@kryptocrew.de]\n\n"; print "Usage : \n"; print "sockscan2 \n\n"; exit; } print "sockscan2 by SnakeByte [ SnakeByte\@kryptocrew.de ]\n"; $proxyfile = @ARGV[0]; $target = @ARGV[1]; $startport = @ARGV[2]; $endport = @ARGV[3]; print "scanning $target ...\n"; open (FILE, "<$proxyfile"); @proxylist=; close FILE; $a=-1; for ($i = $startport; $i <= $endport; $i++){ $a++; if ( $a <= (@proxylist) ){ $a = 0; } ($proxy, $proxyport)=split(":",@proxylist[$a]); my $sock = new Net::SOCKS(socks_addr => $proxy, socks_port => $proxyport, protocol_version => 4); $f = $sock->connect(peer_addr => $target, peer_port => $i); if ($sock->param('status_num') == SOCKS_OKAY ) { print "--- Port $i open ! --- \n"; } $sock->close(); } print "\nScan finished..\n";