- 1.主机发现: 
- -sn:仅进行主机发现,不进行端口扫描。
- -Pn:将所有指定的主机视为已开启状态,跳过主机发现过程。
- -PS/PA/PU/PY[protocollist]:使用TCP SYN/ACK或SCTP INIT/ECHO方式来发现主机。
- -PE/PP/PM:使用ICMP echo、timestamp、netmask请求发现主机。
- -PO[protocollist]:使用IP协议包探测对方主机是否开启。
- 2.端口扫描: 
- -sS/sT/sA/sW/sM:指定使用TCP SYN/Connect()/ACK/Window/Maimon scans的方式对目标进行扫描。
- -sU:指定使用UDP扫描的方式确定目标主机的UDP端口情况。
- -p<port ranges>:扫描指定的端口或端口范围。
- -F:快速模式,仅扫描最常用的100个端口。
- 3.服务和版本探测: 
- -sV:进行服务版本探测,尝试确定开放端口上运行的应用程序及版本信息。
- 4.操作系统探测: 
- -O:启用操作系统探测,尝试确定目标主机的操作系统类型和版本。
- 5.脚本扫描: 
- -sC:使用默认类别的脚本进行扫描,这些脚本通常用于安全审计和发现。
- --script=<Lua scripts>:使用某个或某类脚本进行扫描,支持统配符描述。
- 6.性能和时间控制: 
- -T<0-5>:设置扫描过程的时序模板,影响扫描速度和隐蔽性。
- --host-timeout<time>:放弃低速目标主机,单位为毫秒。
- 7.其他高级用法: 
- -sI<zombie host[:probeport]>:使用Idle scan的方式扫描主机,需要找到合适的zombie host。
- -e<interface>:指定使用的网络接口。
- -n/-R:-n表示不进行DNS解析;-R表示总是进行DNS解析。
- --traceroute:追踪每个路由节点。
- 8.输出选项: 
- -oX <file>:将扫描结果输出为XML格式的文件。
- -oG <file>:将扫描结果输出为grepable格式的文件。
- -oA <basename>:将扫描结果输出为三种格式:XML、grepable和正常格式。
主机发现
扫描一个网段:nmap -sn 192.168.1.0/24 ,-sn 在 Nmap 中是一个缩写选项。它代表了“Ping Scan”,也就是只进行主机发现,而不进行端口扫描。
- 1. - -sT:TCP connect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息。
- 2. - -sS:半开扫描,很少有系统能把它记入系统日志。不过,需要Root权限。
- 3. - -sF:秘密FIN数据包扫描。
- 4. - -sN:Xmas Tree扫描模式。
- 5. - -sP:Ping扫描,Nmap在扫描端口时,默认都会使用ping扫描,只有主机存活,Nmap才会继续扫描。
- 6. - -sU:UDP扫描,但UDP扫描是不可靠的。
- 7. - -sA:这项高级的扫描方法通常用来穿过防火墙的规则集。
- 8. - -sV:探测端口服务版本。
- 9. - -Pn:扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项进行扫描。
- 10. - -v:显示扫描过程,推荐使用。
- 11. - -h:帮助选项,是最清楚的帮助文档。
- 12. - -p:指定端口,如“1-65535、1433、135、22、80”等。
- 13. - -O:启用远程操作系统检测,存在误报。
- 14. - -A:全面系统检测、启用脚本检测、扫描等。
- 15. - -oN/-oX/-oG:将报告写入文件,分别是正常、XML、grepable三种格式。
- 16. - -T4:针对TCP端口禁止动态扫描延迟超过10ms。
- 17. - -iL:读取主机列表,例如,“-iL C:\ip.txt”。