为什么是 Nmap
信息收集是渗透第一步:摸清目标开了哪些端口、什么服务、什么版本,才决定打哪。Nmap(Network Mapper)是标配:主机发现、端口扫描、服务识别、OS 指纹识别一体。
基本语法
nmap [扫描类型] [选项] <目标>
目标支持单个 IP、域名、网段(192.168.1.0/24)或列表文件(-iL targets.txt)。
常用扫描类型
| 选项 | 名称 | 说明 |
|---|---|---|
-sS | SYN 半开扫描 | 只发 SYN 包不完成三次握手,快且隐蔽,最常用(需 root) |
-sT | TCP 全连接扫描 | 完成完整三次握手,无特权时用,日志里更明显 |
-sU | UDP 扫描 | 扫 UDP 端口(DNS 53、SNMP 161 等),速度慢 |
-sn | 存活探测 | 只做主机发现不扫端口(原 -sP),摸网段里有多少活机 |
常用选项
| 选项 | 作用 |
|---|---|
-p 80,443 / -p- | 指定端口 / 全端口(1-65535) |
-sV | 探测服务版本(如 OpenSSH 8.9) |
-O | 操作系统指纹识别 |
-A | 全面扫描(= -sV -O + 脚本 + traceroute) |
-T4 | 加速(0-5,越大越快越吵) |
-oN/-oX 结果文件 | 输出为文本/XML,方便存档 |
实战示例
# 探测本地网段有哪些存活主机
nmap -sn 192.168.1.0/24
# 对目标做 SYN 半开扫描 + 版本识别
nmap -sS -sV 192.168.1.10
# 全端口扫描(慢但不留死角)
nmap -sS -p- -T4 192.168.1.10
# 扫描并识别操作系统
nmap -A 192.168.1.10
结果解读
- open:开放且有服务监听,重点关注
- closed:主机存活但端口无服务
- filtered:被防火墙过滤无响应,考虑换扫描方式
- open|filtered:UDP 常见状态,无法确定
扫到端口只是开始:21 匿名 FTP、22 弱口令、80/443 交 Web 测试流程、3306/6379 未授权访问、445 SMB 枚举。
动手实践
对本地网段扫端口,熟悉命令与参数组合,记录存活主机和开放端口。