本文最后更新于
2026年05月20日,已超过
27天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
Nmap 的命令格式通常是 nmap [扫描类型] [选项] [目标]。

目标指定
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap 192.168.1.1 | 扫描单个IP地址 | 针对特定主机进行全面扫描 |
| nmap scanme.nmap.org | 扫描单个域名 | 对特定域名进行探测,需获得授权 |
| nmap 192.168.1.0/24 | 扫描一个C类子网 | 快速发现局域网内所有存活主机 |
| nmap -iL targets.txt | 从文件中读取目标列表 | 批量扫描大量IP地址或域名 |
主机发现
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap -sn 192.168.1.0/24 | 仅进行Ping扫描,发现局域网存活主机 | 快速获取整个网络中哪些设备在线 |
| nmap -Pn 192.168.1.1 | 跳过主机发现,默认所有指定目标都在线 | 当确信主机在线或防火墙禁Ping时使用 |
端口扫描
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap -sS 192.168.1.1 | TCP SYN扫描,高效隐蔽,默认方式 | 最常用的通用扫描,速度快 |
| nmap -sT 192.168.1.1 | TCP Connect扫描,完成完整TCP握手 | 无root权限时使用 |
| nmap -sU 192.168.1.1 | UDP扫描,探测DNS (53), SNMP (161)等服务 | 发现UDP服务,速度较慢 |
| nmap -p 22,80,443 | 只扫描指定的端口(用逗号分隔) | 快速检查关键服务是否开放 |
| nmap -p 1-1000 | 扫描指定范围内的端口 | 缩小范围,平衡扫描深度与时间 |
| nmap -p- | 扫描全部65535个端口 | 进行最彻底的端口扫描,确保无遗漏 |
| nmap -F | 快速扫描模式,仅扫描nmap-services文件中列出的100个最常用端口 | 需要快速获得一份简洁的开放端口报告 |
服务/系统识别
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap -sV 192.168.1.1 | 探测端口上服务的详细版本信息 | 评估软件版本是否存在已知漏洞 |
| nmap -O 192.168.1.1 | 猜测目标主机的操作系统类型 | 为渗透测试收集目标情报 |
| nmap -A 192.168.1.1 | 激进模式,启用-O, -sV, -sC等多项功能 | 进行一次全面深入的信息收集 |
时间与性能
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap -T4 192.168.1.1 | 设置时间模板,范围为0 (慢) 到5 (快) | 在内网或高速链路上加速扫描 |
防火墙规避
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap -f 192.168.1.1 | 将数据包分段发送,尝试绕过简单的包过滤防火墙 | 规避基本防火墙检测机制 |
| nmap -D RND:10 192.168.1.1 | 使用诱饵IP进行扫描,混淆真实的扫描源 | 隐藏扫描来源,增加溯源难度 |
结果输出
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap -oN result.nmap | 将扫描结果以标准格式保存到文件 | 保存一份便于直接阅读的报告 |
| nmap -oX result.xml | 将扫描结果以XML格式保存 | 供其他程序或脚本解析处理 |
| nmap -oG result.gnmap | 将扫描结果以Grepable格式保存 | 方便使用grep、awk等命令行工具进行过滤和分析 |
| nmap -oA result | 一次性输出所有主要格式(.nmap, .xml, .gnmap) | 需要多种格式报告以备不时之需 |
Nmap脚本引擎
| 示例命令 | 说明 | 使用场景 |
|---|
| nmap --script=http-title 192.168.1.1 | 运行单个脚本,例如获取HTTP服务的网页标题 | 针对特定服务进行信息收集 |
| nmap -sC 192.168.1.1 | 运行默认的、最常用的脚本集 | 在不指定具体脚本时进行常规的安全检测 |
| nmap --script=vuln 192.168.1.1 | 运行漏洞检测类脚本 | 对目标进行自动化漏洞扫描 |
| nmap --script=mysql-brute -p 3306 | 运行暴力破解脚本,如破解MySQL密码 | 在授权情况下测试弱口令 |