Nmap使用-S选项无端口返回与-sS扫描结果差异问题咨询
问题1:添加-S选项后无法检测到开放端口的原因
你第二条命令中的-S x.x.x.x参数作用是指定Nmap发送扫描报文的源IP为目标主机自身的IP,这直接导致扫描失效,原因如下:
- 目标主机收到SYN扫描报文后,会识别到报文源IP是自身地址,绝大多数操作系统会直接丢弃这类不符合正常网络通信逻辑的报文,不会返回SYN+ACK(端口开放)或RST(端口关闭)响应,Nmap无法拿到端口状态反馈
- 即便少数系统会响应这类报文,响应报文的目的IP是目标自身地址,不会回传到你执行扫描的主机,Nmap进程收不到任何返回包,自然会判定主机未存活、无开放端口
常规sS/sT扫描未指定源IP时,Nmap会自动选择出口网卡的真实IP作为源地址,通信链路正常,因此可以拿到正确的扫描结果。
问题2:-S选项的常见适用场景
- 多IP/多网卡主机适配:当扫描主机配置了多块网卡、绑定了多个内网/公网IP时,可通过
-S指定特定IP作为扫描源,匹配不同网段的访问规则要求 - 网络访问控制验证:测试目标网络的防火墙、ACL规则对不同源IP的访问控制效果时,可通过
-S指定不同源IP,验证规则是否符合预期 - 白名单环境扫描:部分目标网络仅允许特定白名单源IP访问,如果你持有该白名单IP的使用权,可通过
-S指定该IP作为源完成探测 - 安全测试场景:开展IDS/IPS逃逸测试、源地址欺骗类的安全验证时,可配合其他参数通过
-S伪造源IP完成测试
内容的提问来源于stack exchange,提问作者Sagi Olshansky
相关产品推荐
相关产品推荐

