gpt4 book ai didi

perl - 我应该使用 Nmap::Parser 还是 Nmap::Scanner 来审计网络?

转载 作者:行者123 更新时间:2023-12-01 09:10:28 24 4
gpt4 key购买 nike

我想以最快的方式审核我的大型网络的设备。我应该使用 Nmap::ParserNmap::Scanner ?

我想创建一个返回 ping 以及相关操作系统足迹和标识的 IP 地址列表。

示例:

ping 192.168.*.*

然后,当我成功 ping 时,将 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;
}

关于perl - 我应该使用 Nmap::Parser 还是 Nmap::Scanner 来审计网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1515643/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com