当设置 -PP 标志时,Nmap 不发送 ICMP 时间戳请求

当设置 -PP 标志时,Nmap 不发送 ICMP 时间戳请求

我希望 nmap 向主机发送 ICMP 时间戳请求。为了实现这一点,我使用命令:

nmap -PP“ip 地址”

但是nmap生成的请求中没有ICMP请求,只有TCP SYN数据包。

主机实际上在我的子网中。如果我将“ip addr”设置为其他子网中的某个不存在的主机,我会观察到 ICMP 时间戳请求。

所以看来 nmap 仅在特殊条件下才发送 ICMP 时间戳请求。

这些条件是什么?是否可以强制 nmap 向任何主机发送 ICMP 时间戳请求(也许通过一些附加标志)?

据我所知,还有其他可以使用的实用程序,例如 nping、hping3,但我想首先澄清一下 nmap 的选项。

谢谢。

答案1

手动的

这些-P*选项(选择 ping 类型)可以组合。您可以通过使用不同的 TCP 端口/标志和 ICMP 代码发送多种探测类型来增加穿透严格防火墙的几率。另请注意-P*默认情况下,即使您指定了其他选项,ARP/邻居发现也会针对本地以太网上的目标完成,因为它几乎总是更快、更有效。

默认情况下,完成的默认主机发现-sn由 ICMP 回显请求、端口 443 的 TCP SYN、端口 80 的 TCP ACK 以及 ICMP 时间戳请求组成。当由非特权用户执行时,仅将 SYN 数据包发送(使用调用connect)到目标上的端口 80 和 443。当特权用户尝试扫描本地以太网上的目标时,除非--send-ip指定,否则将使用 ARP 请求。-sn选项可以与任何发现探测类型(-P*选项)结合使用,以获得更大的灵活性。

从这两部分我们可以猜测,要强制使用 ICMP 时间戳,应该使用这个(如果 ARP 缓存中没有这样的地址,操作系统仍将执行 ARP 请求!):

nmap --send-ip -PP lan.ip.addr.ess

发行仅有的这样的 ICMP 时间戳并且不进行反向 DNS 查找或端口扫描:

nmap --send-ip -n -sn -PP lan.ip.addr.ess

相关内容