Nmap端口扫描有哪些高级技巧?
浅谈信息收集
很多人以为Nmap扫描就是简单的nmap 192.168.1.1,殊不知这种粗放式扫描在实战中往往会错失关键信息。真正的高手,懂得如何通过精确的参数组合,让Nmap成为网络侦察的利器。
精准规避防火墙的扫描策略
现代防火墙对标准SYN扫描的检测率高达90%,但采用分段扫描却能让检测率骤降至20%。比如使用-f参数将TCP头分段,或者通过--mtu指定自定义MTU值,这些技巧能有效绕过深度包检测。
更隐蔽的是空闲扫描(Idle Scan),利用僵尸主机的IPID序列号进行端口探测,完全不留下自己的IP痕迹。这种扫描需要找到合适的僵尸主机,通常选择长时间在线且流量较小的系统。
- 数据包分段:-f 或 --mtu 24
- 时序控制:-T paranoid/sneaky
- 源端口欺骗:--source-port 53
高级时序策略的实际应用
Nmap的时序模板从T0到T5共6个等级,但真正实用的是自定义时序。通过--min-hostgroup和--max-rtt-timeout的精细调节,能在保证扫描效果的同时最大限度降低被发现的概率。
nmap -T4 --min-hostgroup 64 --max-rtt-timeout 1000 192.168.1.0/24
服务识别的深度挖掘
单纯使用-sV进行版本检测往往不够深入。结合--version-intensity参数可以控制探测强度,从1到9级,级别越高探测越全面但耗时越长。
更有价值的是使用--version-all尝试所有探测,虽然耗时较长,但有时能发现那些隐藏的特殊服务。
操作系统指纹的进阶技巧
-O参数进行OS检测只是基础,真正的精髓在于--osscan-guess和--osscan-limit的组合使用。前者在无法精确识别时提供最佳猜测,后者只对确认为存活的主机进行OS检测,大幅提升效率。
NSE脚本引擎的战术运用
Nmap脚本引擎(NSE)是真正的杀手锏。但多数人只知道使用--script vuln,却忽略了自定义脚本的威力。
nmap --script "http-title and not (ssl or ssh)" 192.168.1.0/24
通过--script-args传递参数给脚本,比如设置超时时间、指定用户代理等,这些细节往往决定扫描的成败。
在渗透测试中,一个精心设计的Nmap扫描能够揭示目标的完整攻击面,而这些高级技巧就是区分新手与专家的关键所在。

参与讨论
分段扫描那个-f参数试了确实有用,防火墙没报警
空闲扫描找僵尸主机有啥推荐的方法不?
之前做测试用-T4加自定义超时,效率提升挺明显的
NSE脚本还能这么组合用啊,之前只会跑现成的