nmap 是什么
nmap 是端口与主机探测工具:端口参数指定范围,假定在线选项跳过主机发现,只显示开放端口便于快速判断,连接扫描用完整 TCP 握手(普通用户可用),半开扫描更隐蔽但需要 root 权限。它既能做资产盘点,也是安全评估的基础工具。
基本信息
| 适用平台 | Linux / Windows / macOS |
|---|---|
| 命令语法 | nmap [扫描类型] [选项] 目标 |
| 常用选项 | -p 端口、-Pn 假定在线、-sT 连接扫描、-sS 半开扫描、--open 只显示开放、-T0 到 -T5 速度 |
| 权限要求 | 半开扫描与部分探针需要 root,连接扫描普通用户可用 |
典型使用场景
- 资产盘点:确认自己网段内哪些主机开放了哪些端口
- 服务自检:发布前核对本机对外暴露的端口是否符合预期
- 变更前后对比:用同一组参数改前改后各跑一次,差异即暴露面变化
- 安全组验证:确认云平台规则是否真的按预期生效
- 降速稳妥扫描:用较慢的时序模板降低对目标的影响,避开生产高峰
常用示例
常用示例
nmap -Pn -p 22,80,443 10.0.0.5 # 指定端口
nmap -Pn -p 1-1024 --open 10.0.0.0/28 # 小网段常见端口,只列开放
nmap -Pn -sT -p 3306 10.0.0.9 # 非 root 用连接扫描
nmap -Pn -p 80 --script=http-title 10.0.0.5 # 带脚本探针识别服务标题
nmap -Pn -sT -T2 --open -p 1-1000 10.0.0.0/28 # 降速扫描,影响最小
nmap -Pn -sU -p 53,123,161 10.0.0.5 # UDP 端口探测(较慢)输出逐列读法
| 输出内容 | 含义 | 怎么看 |
|---|---|---|
| PORT | 端口与协议 | 如 443/tcp |
| STATE | 开放、关闭、被过滤 | 被过滤说明无法判定,通常是规则丢弃 |
| SERVICE | 常见服务名 | 来自内置端口映射表 |
| VERSION | 服务指纹 | 需要额外探针,目标侧可能留下记录 |
| Nmap scan report | 目标主机与解析名 | 确认扫描对象符合预期 |
扫描他人资产可能违法,仅在自有服务器或书面授权范围内使用;生产环境注意扫描频率与时段。
默认先做主机发现,云安全组或防火墙丢弃 ICMP 时会误报主机不在线,此时加假定在线选项。
UDP 扫描速度明显慢于 TCP,且结论常为开放或被过滤并存,按需缩小端口范围。