Sponsored by: █ Sparkhost - Hosting Without Compromises! █ Hybrid Performance Web Hosting █ Spark Host Stream Hosting █ Hybrid IRC & IRCd Server Shell Accounts
Fast Port Scanner
#1
Posted 17 October 2003 - 03:43 PM
#2
Posted 17 October 2003 - 04:19 PM
now the only thing missing is a post by coder with the perl version of this baby with an output file option for those darn nice command line prompts
#3
Posted 18 October 2003 - 07:05 AM
-Shaun.
#4 Guest_coder_*
Posted 18 October 2003 - 07:46 AM
the fact that this was written in VB (and comes with no ActiveX controls) tells us that it's a TCP Connect Scanner (I'm guessing winsock...) another very LOAD scan type. Now of course this kind of probe can still be done quietly, but this requires a lot of timing and patience...
i haven't taken a look at the scanner yet (i'm on *nix) - i'm just stating some simple facts
GhostCow: i'll take a look at it, and see what options i have to port to perl
oh- btw; excuse the bad spelling (i'm really hung over
#5
Posted 18 October 2003 - 12:29 PM
#6
Posted 18 October 2003 - 12:20 PM
#7 Guest_coder_*
Posted 18 October 2003 - 01:00 PM
Gr33n: You can easily add UDP capabilities to your winsock scanner... changing the protocol value between 0 and 1
#8
Posted 18 October 2003 - 07:16 PM
#9
Posted 19 October 2003 - 01:26 AM
A better way to write a UDP scanner is to open a datagram socket (UDP), send a UDP datagram, open an ICMP raw socket, and use select() to monitor the ICMP raw socket for an incoming ICMP_UNREACH packet.
Raw sockets are pretty simple in both C and Perl. Coder, Perl does have raw sockets, I've seen people write raw socket code in Perl before. To implement stealth scanning techniques (e.g syn scanning, fin scanning, xmas tree scanning etc...), just open a raw TCP socket, build the correct datagram, and send the datagram, whilst monitoring the socket for a response. You can then use an if() statement to evaluate the packet. You then report the open or closed status based on the evaluation of the packet. Put this routine in a while(i < end_port) loop.
-Shaun.
#10 Guest_coder_*
Posted 20 October 2003 - 06:53 AM
#11
Posted 20 October 2003 - 07:34 AM
#12 Guest_coder_*
Posted 20 October 2003 - 07:40 AM
yay!, now i have .pl to capture packets...
use Net::Pcap;
$count = 10;
my $err;
my $dev=Net::Pcap::lookupdev(\$err);
if (defined $err) {
die ('Unable to determine network device for monitoring - ',$err);
}
my ($address, $netmask, $err);
if (Net::Pcap::lookupnet($dev, \$address, \$netmask, \$err)) {
die 'Unable to look up device information for ', $dev, ' - ', $err;
}
print STDOUT "$dev: addr/mask -> $addr/$mask\n";
$object = Net::Pcap::open_live($dev, $snaplen, $promisc, $to_ms, \$err);
Net::Pcap::loop($object, $count, \&callback_function, $user_data);
Net::Pcap::close($object);
sub callback_function {
my ($user_data, $header, $packet) = @_;
#Blah Blah Blah with my data =)
}
#13
Posted 20 October 2003 - 10:56 AM
edit: how exactly am i supposed to use it? i tried entering my ip (for example) as a parameter but nothing seems to happen except my firewall asking me if to allow access to that program.... what to do?
#14
Posted 20 October 2003 - 11:19 AM
-Shaun.
#15
Posted 06 December 2003 - 11:22 AM
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users













