nmap 命令
#
nmap
(Network Mapper)是一个开源的网络探测和安全审计工具,用于发现网络上的主机和服务,创建网络映射,以及进行安全扫描和漏洞检测。
语法
#
常用选项
#
目标规范
#
选项 |
描述 |
192.168.1.1 |
单个 IP 地址 |
192.168.1.1-254 |
IP 地址范围 |
192.168.1.0/24 |
CIDR 表示法 |
example.com |
主机名 |
-iL 文件 |
从文件读取目标列表 |
主机发现
#
选项 |
描述 |
-sL |
列表扫描 - 仅列出要扫描的目标 |
-sn |
Ping 扫描 - 禁用端口扫描 |
-Pn |
将所有主机视为在线 - 跳过主机发现 |
-PS/PA/PU/PY[端口] |
TCP SYN/ACK, UDP 或 SCTP 发现特定端口 |
-PE/PP/PM |
ICMP 回显、时间戳和网络掩码请求发现 |
-n |
不进行 DNS 解析 |
-R |
对所有目标进行 DNS 解析 |
扫描技术
#
选项 |
描述 |
-sS |
TCP SYN 扫描(默认) |
-sT |
TCP 连接扫描 |
-sU |
UDP 扫描 |
-sA |
TCP ACK 扫描 |
-sW |
TCP 窗口扫描 |
-sM |
TCP Maimon 扫描 |
-sN/-sF/-sX |
TCP Null, FIN, Xmas 扫描 |
-sV |
版本检测 |
-sC |
使用默认脚本进行扫描 |
-sI 僵尸主机[:端口] |
空闲扫描 |
-sO |
IP 协议扫描 |
端口规范和扫描顺序
#
选项 |
描述 |
-p 端口范围 |
仅扫描指定端口(例如:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080) |
-F |
快速模式 - 扫描比默认扫描更少的端口 |
-r |
连续扫描端口 - 不随机化 |
--top-ports 数量 |
扫描最常用的 N 个端口 |
服务/版本检测
#
选项 |
描述 |
-sV |
探测开放端口以确定服务/版本信息 |
--version-intensity 级别 |
设置版本扫描强度(0-9) |
--version-light |
限制最可能的探测(强度 2) |
--version-all |
尝试每个探测(强度 9) |
脚本扫描
#
选项 |
描述 |
-sC |
使用默认脚本集进行扫描 |
--script=脚本名称 |
使用指定的脚本进行扫描 |
--script-args=参数 |
为脚本提供参数 |
输出选项
#
选项 |
描述 |
-oN 文件 |
输出标准格式到文件 |
-oX 文件 |
输出 XML 格式到文件 |
-oG 文件 |
输出可 grep 格式到文件 |
-oA 文件前缀 |
同时输出到所有格式 |
-v |
增加详细程度 |
-d |
增加调试级别 |
时间和性能
#
选项 |
描述 |
-T0 |
偏执级时序(非常慢,用于 IDS 规避) |
-T1 |
鬼祟级时序 |
-T2 |
文明级时序 |
-T3 |
普通级时序(默认) |
-T4 |
激进级时序 |
-T5 |
疯狂级时序(非常快,可能不可靠) |
--min-rate 数量 |
每秒发送的最小数据包数 |
--max-rate 数量 |
每秒发送的最大数据包数 |
常见用法
#
1. 基本扫描
#
2. 扫描整个子网
#
3. 快速扫描
#
4. 详细扫描特定端口
#
nmap -p 22,80,443 192.168.1.1
5. 扫描所有端口
#
6. 服务版本检测
#
7. 操作系统检测
#
8. 综合扫描(版本检测、脚本扫描和操作系统检测)
#
9. 隐蔽扫描
#
10. 使用脚本进行漏洞扫描
#
nmap --script vuln 192.168.1.1
11. 保存结果到文件
#
nmap -oA scan_results 192.168.1.1
输出示例
#
Starting Nmap 7.80 ( https://nmap.org ) at 2025-07-20 14:30 UTC
Nmap scan report for example.com (93.184.216.34)
Host is up (0.013s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE VERSION
80/tcp open http nginx 1.18.0
443/tcp open ssl/http nginx 1.18.0
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 15.32 seconds
注意事项
#
- 未经授权对网络或系统进行扫描可能违反法律法规和组织政策
- 在进行扫描前,应获得适当的授权
- 某些扫描技术可能会触发入侵检测系统(IDS)或防火墙警报
- 积极的扫描可能会对目标系统造成负载影响
- 在生产环境中使用时,应选择合适的扫描选项和时间
- 某些扫描选项(如 SYN 扫描)需要 root 权限