在阅读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回应答复回复ICMP回应请求,并通过TCP SYN-ACK回复到TCP SYN端口443。 但是在端口80上没有提供TCP ACK的应答。
非常感谢您的照顾
除了有状态的防火墙正在使用,ACK探测应该从封闭端口和开放端口引出一个RST包。 从Nmap关于-PA选项的文档 :
同时提供SYN和ACK ping探测的原因是为了最大限度地绕过防火墙的机会。 许多pipe理员configuration路由器和其他简单的防火墙来阻止传入的SYN数据包,除了公司网站或邮件服务器等公共服务。 […]当无状态的防火墙规则如此,SYN ping探针(-PS)很可能在发送到closures的目标端口时被阻塞。 在这种情况下,ACK探测器照亮了这些规则。