TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
perl package Nmap::Scanner; i jedno pytanie , AwerS 9/07/08 10:58 Mam sobie skrypt:
#!/usr/bin/perl
use strict;
use Nmap::Scanner;
my $scan = Nmap::Scanner->new();
$scan->add_target(\'localhost\');
$scan->add_scan_port(\'1-1024\');
$scan->add_scan_port(\'31337\');
$scan->tcp_syn_scan();
$scan->guess_os();
my $results = $scan->scan();
my $hosts = $results->get_host_list();
while (my $host = $hosts->get_next())
{
print \"On \" . $host->hostname() . \": \\n\";
my $ports = $host->get_port_list();
while (my $port = $ports->get_next())
{
print join(\' \', \'Port ->\'
. $port->portid(), \'is in state\', $port->state(), \"\\n\");
}
}
Za zadanie ma skanowanie hostow, ale mam jeden maly problem:
uzywam : $scan->guess_os(); w celu okreslenia systemu operacyjnego i tu nastepuje problem bo nie wiem jak moge sie dobrac przy wyniku do nazwy systemu operacyjnego.
Probowalem cos takiego jak print \"Os \" . $host->os()->name() . \": \\n\";
ale cos takiego nie dziala. zwraca : \"Can\'t locate object method \"name\" via package \"Nmap::Scanner::OS\"\"
samo $host->os();
zwraca: Os Nmap::Scanner::OS=HASH(0x8a41fa0):
Mam pytanie jak mozna rozkminic jak wyglada struktura tego hasa ?
Dokumentacja do pakietu: http://search.cpan.org/...schube/Nmap-Scanner-1.0/AwerS - hmm , kreton40i4 9/07/08 11:27
moze to bedzie przydatne http://search.cpan.org/...rkInfo/Discovery/Nmap.pm- wszystko fajnie , AwerS 9/07/08 11:45
po za use Carp;
Cpan chce mi aktualizowac perla do wersji 5.10 a ja za bardzo nie jestem chetny na taka zmiane.AwerS
- rozwiazanie , AwerS 9/07/08 13:57
#!/usr/bin/perl
use strict;
use Nmap::Scanner;
my $scan = Nmap::Scanner->new();
$scan->add_target('localhost');
$scan->add_target('10.0.0.2');
$scan->add_scan_port('21');
$scan->tcp_syn_scan();
$scan->guess_os();
my $results = $scan->scan();
my $hosts = $results->get_host_list();
while (my $host = $hosts->get_next())
{
my $os = $host->os();
my @osclasses = $os->osclasses();
my $count = @osclasses;
my $hostname = $host->hostname();
if ($count > 0)
{
my $osclass = $osclasses[0];
my $osfamily = $osclass->osfamily();
my $osgen = $osclass->osgen();
my $vendor = $osclass->vendor();
my $accuracy = $osclass->accuracy();
print "Host $hostname is $osfamily $osgen from $vendor vendor with $accuracy% accuracy\n";
}
else
{
print "Unknown operating system of host $hostname\n";
}
}AwerS |
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|