Должен ли я использовать Nmap::Parser или Nmap::Scanner для аудита сети?

StackOverflow https://stackoverflow.com/questions/1515643

  •  19-09-2019
  •  | 
  •  

Вопрос

Я хотел бы провести аудит оборудования моей большой сети как можно быстрее.Должен ли я использовать Nmap::Parser или Nmap::Scanner?

Я хочу создать список IP-адресов, которые возвращают пинг, а также связанную с ним ОС и идентификацию.

Пример:

ping 192.168.*.*

Затем, когда я получу успешный пинг, сохраните IP-адрес в хеше вместе с предположением о том, какая у вас ОС.

Это было полезно?

Решение

Используете ли вы Nmap::Parser или Nmap::Scanner, вам придется запустить одно и то же сканирование с помощью Nmap, поэтому между ними нет разницы в скорости.

Вот пример использования Nmap::Scanner который делает примерно то, что вы хотите: сообщает о состоянии хостов и пытается определить их работоспособность ОС, сохраняя результаты в хеше.Вы должны иметь возможность расширить его по мере необходимости.

#!/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;
}

Другие советы

Ну, один из них — это анализатор данных, которые у вас уже есть, а другой — сканер, создающий данные.Используйте тот, который выполняет ту работу, которая вам нужна.Какая часть задачи вызывает проблему?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top