常见Nmap语句
一、主机发现与基本扫描
1. 基本主机发现
使用Ping扫描发现存活主机(-sn)。
nmap -sn 192.168.1.0/24
2. 无Ping扫描
跳过主机发现,直接扫描所有主机(-Pn)。
nmap -Pn 192.168.1.0/24
3. ARP主机发现
在本地网络使用ARP扫描发现主机(-PR)。
nmap -PR 192.168.1.0/24
4. ICMP Echo发现
使用ICMP Echo请求发现主机(-PE)。
nmap -PE 192.168.1.0/24
5. ICMP时间戳发现
使用ICMP时间戳请求发现主机(-PP)。
nmap -PP 192.168.1.0/24
6. ICMP地址掩码发现
使用ICMP地址掩码请求发现主机(-PM)。
nmap -PM 192.168.1.0/24
7. TCP SYN Ping发现
使用TCP SYN包发现主机(-PS)。
nmap -PS80,443 192.168.1.0/24
8. TCP ACK Ping发现
使用TCP ACK包发现主机(-PA)。
nmap -PA80,443 192.168.1.0/24
9. UDP Ping发现
使用UDP包发现主机(-PU)。
nmap -PU53 192.168.1.0/24
10. SCTP INIT Ping发现
使用SCTP INIT包发现主机(-PY)。
nmap -PY 192.168.1.0/24
二、端口扫描技术
11. TCP SYN扫描
半开放TCP SYN扫描(-sS)。
nmap -sS 192.168.1.1
12. TCP Connect扫描
全连接TCP扫描(-sT)。
nmap -sT 192.168.1.1
13. TCP ACK扫描
TCP ACK扫描检查防火墙规则(-sA)。
nmap -sA 192.168.1.1
14. TCP Window扫描
TCP Window扫描检测端口状态(-sW)。
nmap -sW 192.168.1.1
15. TCP Maimon扫描
TCP Maimon扫描(-sM)。
nmap -sM 192.168.1.1
16. UDP扫描
UDP端口扫描(-sU)。
nmap -sU 192.168.1.1
17. SCTP INIT扫描
SCTP INIT扫描(-sY)。
nmap -sY 192.168.1.1
18. SCTP COOKIE ECHO扫描
SCTP COOKIE ECHO扫描(-sZ)。
nmap -sZ 192.168.1.1
19. IP协议扫描
扫描目标支持的IP协议(-sO)。
nmap -sO 192.168.1.1
20. 指定端口范围
扫描特定端口范围和类型(-p)。
nmap -p 1-1024,U:53,T:80 192.168.1.1
三、版本与服务检测
21. 服务版本检测
检测开放端口的服务版本(-sV)。
nmap -sV 192.168.1.1
22. 版本检测强度
调整版本检测强度级别(--version-intensity)。
nmap -sV --version-intensity 9 192.168.1.1
23. 轻量版本检测
轻量级版本扫描(--version-light)。
nmap -sV --version-light 192.168.1.1
24. 全部版本检测
尝试所有探针版本检测(--version-all)。
nmap -sV --version-all 192.168.1.1
25. 版本跟踪
启用版本检测跟踪(--version-trace)。
nmap -sV --version-trace 192.168.1.1
26. OS检测
操作系统指纹识别(-O)。
nmap -O 192.168.1.1
27. 积极OS检测
启用积极模式OS检测(--osscan-guess)。
nmap -O --osscan-guess 192.168.1.1
28. 限制OS检测
限制OS检测候选数(--osscan-limit)。
nmap -O --osscan-limit 192.168.1.1
29. RPC扫描
RPC服务扫描(-sR)。
nmap -sR 192.168.1.1
30. 服务版本与OS组合
结合版本和服务检测(-A)。
nmap -A 192.168.1.1
四、脚本引擎(NSE)操作
31. 默认脚本扫描
运行默认类别脚本(-sC)。
nmap -sC 192.168.1.1
32. 指定脚本运行
运行特定脚本(--script)。
nmap --script http-title 192.168.1.1
33. 脚本类别运行
运行特定类别脚本(如vuln,--script)。
nmap --script vuln 192.168.1.1
34. 脚本参数传递
传递参数给脚本(--script-args)。
nmap --script http-waf-detect --script-args uri=/test 192.168.1.1
35. 脚本跟踪
启用脚本执行跟踪(--script-trace)。
nmap --script http-enum --script-trace 192.168.1.1
36. 脚本更新数据库
更新NSE脚本数据库(--script-updatedb)。
nmap --script-updatedb
37. 脚本并行执行
并行执行多个脚本(--script)。
nmap --script "http-*,ftp-*" 192.168.1.1
38. 排除脚本
排除特定脚本运行(--script)。
nmap --script "default and not http-brute" 192.168.1.1
39. 自定义脚本路径
使用自定义脚本目录(--script)。
nmap --script /path/to/custom.nse 192.168.1.1
40. 脚本输出格式化
脚本输出到XML格式(-oX)。
nmap --script vuln -oX output.xml 192.168.1.1
五、绕过防火墙与IDS
41. 分片扫描
使用分片包绕过防火墙(-f)。
nmap -f 192.168.1.1
42. MTU分片扫描
指定MTU大小分片(--mtu)。
nmap --mtu 24 192.168.1.1
43. 诱饵扫描
使用诱饵主机混淆扫描(-D)。
nmap -D RND:10 192.168.1.1
44. 源端口伪造
伪造源端口扫描(-g)。
nmap -g 53 192.168.1.1
45. 源地址伪造
伪造源IP地址(-S)。
nmap -S 192.168.1.100 192.168.1.1
46. 接口指定扫描
通过特定接口扫描(-e)。
nmap -e eth0 192.168.1.1
47. 数据长度附加
附加随机数据长度绕过(--data-length)。
nmap --data-length 25 192.168.1.1
48. 随机数据附加
附加随机数据绕过IDS(--data)。
nmap --data 0xdeadbeef 192.168.1.1
49. MAC地址伪造
伪造MAC地址扫描(--spoof-mac)。
nmap --spoof-mac 00:11:22:33:44:55 192.168.1.1
50. IPv6扫描
IPv6地址扫描(-6)。
nmap -6 2001:db8::1
六、输出与报告
51. XML输出
输出扫描结果到XML文件(-oX)。
nmap -oX scan.xml 192.168.1.0/24
52. Grepable输出
输出到Grepable格式(-oG)。
nmap -oG scan.grep 192.168.1.0/24
53. 正常输出
输出到正常格式文件(-oN)。
nmap -oN scan.nmap 192.168.1.0/24
54. 所有格式输出
同时输出所有格式(-oA)。
nmap -oA scan 192.168.1.0/24
55. 脚本输出到文件
脚本结果输出到文件(-oS)。
nmap -oS scan.script 192.168.1.0/24
56. 详细输出级别
调整输出详细度(-v)。
nmap -v3 192.168.1.0/24
57. 调试输出
启用调试模式输出(-d)。
nmap -d 192.168.1.1
58. 数据包跟踪
跟踪发送/接收数据包(--packet-trace)。
nmap --packet-trace 192.168.1.1
59. 理由输出
显示端口状态理由(--reason)。
nmap --reason 192.168.1.1
60. 打开端口列表
仅列出打开端口(--open)。
nmap --open 192.168.1.0/24
七、高级性能与优化
61. 时间模板
使用时间模板调整扫描速度(-T)。
nmap -T4 192.168.1.0/24
62. 最小并行率
设置最小并行主机扫描(--min-parallelism)。
nmap --min-parallelism 10 192.168.1.0/24
63. 最大重试次数
设置最大端口重试次数(--max-retries)。
nmap --max-retries 2 192.168.1.1
64. 主机超时设置
设置主机扫描超时(--host-timeout)。
nmap --host-timeout 30m 192.168.1.1
65. 扫描延迟
设置扫描延迟避免检测(--scan-delay)。
nmap --scan-delay 1s 192.168.1.1
66. 最大RTT超时
设置最大RTT超时(--max-rtt-timeout)。
nmap --max-rtt-timeout 100ms 192.168.1.1
67. 初始RTT超时
设置初始RTT超时(--initial-rtt-timeout)。
nmap --initial-rtt-timeout 50ms 192.168.1.1
68. 最小主机组大小
设置最小主机组大小(--min-hostgroup)。
nmap --min-hostgroup 50 192.168.1.0/24
69. 最大主机组大小
设置最大主机组大小(--max-hostgroup)。
nmap --max-hostgroup 100 192.168.1.0/24
70. 排除主机
排除特定主机扫描(--exclude)。
nmap --exclude 192.168.1.100 192.168.1.0/24