在阅读 nmap 手册页时,我读到了 -sn 选项:
The default host discovery done with -sn consists of an ICMP echo request,
TCP SYN to port 443, TCP ACK to port 80, and an ICMP timestamp request
by default.
我不太明白在端口 80 上执行 TCP ACK 的目的。由于目标服务器的 TCP 堆栈不会处理任何 SYN,它只会丢弃收到的 ACK 数据包,而不会向 nmap 提供任何信息。
例如,在我的私人服务器上,它用 ICMP echo reply 来回复 ICMP echo 请求,用 TCP SYN-ACK 来回复 TCP SYN 端口 443。但是端口 80 上没有提供 TCP ACK 的答复。
非常感谢你对物质的关注
答案1
除非使用状态防火墙,否则 ACK 探测应从关闭和打开的端口引出 RST 数据包。从Nmap 关于该-PA
选项的文档:
同时提供 SYN 和 ACK ping 探测的原因是为了最大限度地提高绕过防火墙的机会。许多管理员配置路由器和其他简单防火墙来阻止传入的 SYN 数据包,但发往公司网站或邮件服务器等公共服务的数据包除外。[...] 当存在此类无状态防火墙规则时,SYN ping 探测 (-PS) 在发送到关闭的目标端口时很可能会被阻止。在这种情况下,ACK 探测非常有用,因为它可以突破这些规则。