Frage

Ich möchte die Ausrüstung meines großen Netzwerkes auf dem schnellsten Weg möglich prüfen. Sollte ich Nmap::Parser oder Nmap::Scanner ?

Ich mag eine Liste von IP-Adressen erstellen, die einen Ping sowie eine zugehörige OS-Fußabdruck und Identifizierung zurück.

Beispiel: :

ping 192.168.*.*

Dann, wenn ich einen erfolgreichen Ping erhalten, speichern Sie die IP-Adresse in einem Hash zusammen mit einer Vermutung, was das Betriebssystem

War es hilfreich?

Lösung

Ob Sie Nmap::Parser oder Nmap::Scanner, Sie haben die gleiche Scan mit Nmap laufen, so gibt es keine Geschwindigkeitsdifferenz zwischen den beiden.

Hier ist ein Beispiel Nmap::Scanner mit denen etwa dem tut, was Sie wollen, um den Status des Hosts Reporting und versucht, OS Fingerabdruck sie, wenn sie nach oben, um die Ergebnisse in einem Hash zu speichern. Sie sollten sie erweitern können je nach Bedarf.

#!/usr/bin/perl

use strict;
use warnings;

use Nmap::Scanner;

my %network_status;

my $scanner = new Nmap::Scanner;
$scanner->register_scan_complete_event(\&scan_completed);
$scanner->guess_os();

$scanner->scan('-O 192.168.*.*');

foreach my $host ( keys %network_status ) {
    print "$host => $network_status{$host}\n";
}


sub scan_completed {
    my $self     = shift;
    my $host     = shift;

    my $hostname = $host->hostname();
    my $addresses = join(',', map {$_->addr()} $host->addresses());
    my $status = $host->status();

    print "$hostname ($addresses) is $status ";

    my $os_name = 'unknown OS';
    if ( $status eq 'up' ) {
        if ( $host->os() && $host->os()->osmatches() ) {
            my ($os_type) = $host->os()->osmatches();
            $os_name = $os_type->name();
        }
        print "($os_name)";
    }
    print "\n";

    $network_status{$addresses} = $os_name;
}

Andere Tipps

Nun, einer von denen ist ein Parser für Daten, die Sie bereits haben, und einer von denen ist ein Scanner, der Daten erstellt. Verwenden Sie die eine, die die Arbeit erledigt, die Sie benötigen. Welcher Teil der Aufgabe wird das Problem verursacht?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top