nmap 扫描需要 50 分钟

nmap 扫描需要 50 分钟

我运行了nmap -Pn本地网络所有可能的地址,花了 50 分钟。100-200例如,如果我将范围限制为,则相同的扫描需要 3-4 分钟。

为什么“完整”nmap 扫描需要这么长时间以及如何才能使其更快?

答案1

您正在扫描空白区域。这-Pn选项(以前的-PN-P0)告诉 Nmap 跳过主机发现步骤(俗称“ping 扫描”)并假设每个目标地址都有一个主机正在侦听。对于默认的 TCP 扫描,这意味着 Nmap 将扫描每个目标地址上的 1000 个不同端口,无论是否收到任何回复。当没有收到探测的回复时,Nmap 将等待完整的超时时间(默认从 1 秒开始),然后重试几次以确保数据包没有被丢弃。您宝贵的带宽(以及时间)被浪费在发送永远不会得到响应的探测上。

主机发现的另一个重要部分是为 Nmap 提供网络连接速度和响应速度的基准。在进行“ping 扫描”时,Nmap 会发现每个目标的往返时间。然后,它可以更准确地确定数据包何时被丢弃并应重试,或者何时一次发送太多数据包。如果没有这些信息,Nmap 必须谨慎行事,降低发送速率并进行额外的重传以确保没有数据包丢失。

简而言之,该-Pn选项通常没什么用,尽管它是最常用和推荐的选项之一。

答案2

Nmap 使用主机发现技术来最大限度地减少扫描地址所花费的时间。主机发现尝试在扫描系统上的端口之前确定地址是否处于活动状态。默认情况下,nmap 使用多种技术的组合在远程系统上执行主机发现。

首先,它向系统发送 ICMP Echo 请求。这与 ping 使用的方法相同。它是确定 IP 地址是否处于活动状态。如果扫描器收到 ICMP Echo 回复。它知道该地址处有一个系统,然后启动端口扫描。然而,在这些情况下,许多系统不会应答 ICMP 请求,nmap 接下来会直接向端口 80 和 443 发送连接请求。2 个通常用于公共服务的 TCP 端口。如果扫描仪收到回复,则会启动端口扫描。最后,nmap 尝试一种称为 ICMP 时间戳请求的技术来查看它是否可以探测主机。如果扫描仪没有收到对任何这些请求的响应,则它假定不存在系统。

ARP发现:它使用地址解析协议来检查目标系统的以太网。这是一种更快的技术。

-Pn 标志;nmap 跳过主机发现并对目标系统执行全面扫描。

-PR 指定 ARP 扫描。

nmap -F ipAdress 这将扫描前 100 个端口

您还可以使用计时模板标志。计时模板是预定义值的集合,这些值聚集在一个包中,允许您调整扫描速度。编号从 0(最慢的计时模板)到 5 个最快的模板。 -T5被称为疯狂模板。

-T4是进攻型模板。

-T3是普通模板。默认一。

-T2很有礼貌。不太可能影响目标。

-T1鬼鬼祟祟的。避免被发现。

-T0偏执狂。几乎没用

相关内容