[Nmap-scanner-general] Need a little help with example from perldoc
Brought to you by:
perldork
From: Dukes C. <Cla...@HC...> - 2006-11-02 18:29:15
|
Trying to create a multi host scanner but I'm getting errors, can anyone help out here? #!/usr/bin/perl use strict; =20 $| =3D 1; use Nmap::Scanner; =20 open (FILE, $ARGV[0]); my $count =3D 1; my(@host_array) =3D <FILE>; # read file into list my $total =3D (@host_array); print "Checking $total hosts\n"; @host_array =3D sort(@host_array); # sort the list chomp (@host_array); =20 if (@ARGV < 1){ usage(); } sub usage { print "Usage: synping.pl <hosts>\n"; print "Example:\n"; print "perl synping.pl hosts.txt\n"; exit(-1); } =20 foreach my $hostname (@host_array) { my $scanner =3D new Nmap::Scanner; $scanner->register_scan_started_event(\&scan_started); $scanner->register_port_found_event(\&port_found); $scanner->scan("-sS -p 22,23 -O $hostname"); # Scan for telnet or ssh =20 } sub scan_started { my $self =3D shift; my $host =3D shift; =20 my $hostname =3D $host->name(); my $addresses =3D join(',', map {$_->address()} $host->addresses()); my $status =3D $host->status(); =20 print "$hostname ($addresses) is $status\n"; } =20 sub port_found { my $self =3D shift; my $host =3D shift; my $port =3D shift; =20 my $name =3D $host->name(); my $addresses =3D join(',', map {$_->addr()} $host->addresses()); =20 print "On host $name ($addresses), found ", $port->state()," port ", join('/',$port->protocol(),$port->portid()),"\n"; =20 } This returns: Checking 2520 hosts 2693<nmap-error> <pid=3D"2142"/> <cmdline=3D"'/usr/bin/nmap' -v -v -v -sS -p 22,23 -O 2811-x-f-h.vac.co.y.net -oX -"/> <perl-msg>Can't locate object method "name" via package "Nmap::Scanner::Host" at ./synping.pl line 55. </perl-msg> <nmap-msg></nmap-msg> </nmap-error> ---clueless :-) |