首页/安全/漏洞与攻击面速查/nmap 基础用法与默认行为
扫描与验证方法50 条

nmap 基础用法与默认行为

nmap 是端口与服务识别的基础工具;默认对少量常用端口做 SYN 或 connect 扫描,配合 -sV 做版本识别。理解各参数含义比照抄命令更重要。

漏洞与攻击面速查安全更新于 2026-10-13

nmap 是什么

nmap 是端口与服务识别的基础工具:它通过发送特定探测包并分析响应,判断主机是否在线、哪些端口开放、以及端口上运行的服务与版本。默认行为是扫描少量常用端口,配合 -sV 做版本识别、-Pn 跳过主机存活探测、--open 只保留开放端口。使用时要注意两点:扫描会给目标带来额外负载,需要授权与窗口控制;版本识别依赖特征库,结论是判断依据之一而不是最终结论,重要资产应结合其他方式交叉验证。

基本信息

适用平台Linux 与 Windows 均可运行,部分扫描类型需要 root 或管理员权限
扫描类型-sS SYN(默认有权限时)/-sT 完整连接
服务识别-sV 探测版本
过滤输出--open 只显示开放端口
解析控制-n/-R DNS 解析开关
输入输出-iL 从文件读目标,-oA 输出三种格式结果
权限差异无特权用户只能使用完整连接扫描

典型使用场景

  • 资产梳理:确认自有主机的端口开放情况与对外暴露面
  • 服务识别:核对端口上运行的服务与版本,为补丁核对提供输入
  • 变更核查:上线前后对比端口开放差异,发现预期外的监听
  • 横向可达性评估:在授权范围内确认网段之间的访问控制是否有效
  • 脚本化检查:用内置脚本做证书信息、常见配置项等专项核查
  • 结果归档:把扫描结果按时间保存,便于与历史基线对比

常用起手式

常用起手式
# TCP 连接扫描(无 root 权限可用)
nmap -sT -sV --open --top-ports 100 192.0.2.10
# 需要 root:SYN 扫描更快更隐蔽(对目标日志而言)
sudo nmap -sS -sV -p 22,80,443,8080,3306 192.0.2.10
# -n 跳过 DNS 解析,加速输出
# 批量目标:-iL targets.txt -oA scan-2026-10
# 仅限自有或已获书面授权的资产

输出字段读法

字段含义注意事项
22/tcp open ssh端口开放且识别到服务识别结果来自特征匹配,需人工确认
filtered被过滤,无法判断开放与否常见于防火墙丢包,需换探测方式
closed端口关闭但有响应可用于判断主机在线
Service Info版本与产品信息可作为补丁核对线索,非最终结论
扫描内网资产时优先确认目标是否允许 ICMP;若主机屏蔽 ping,需要 -Pn 才能继续(见主机发现条目)。
速率是可控项:--max-rate 与 --min-parallelism 可以在业务敏感时段把负载压下来,进度慢一些比触发业务告警更划算。

易错点

  • 对生产云主机直接全端口 SYN 扫,触发安全组限速与主机告警
  • 把服务识别结果当确定结论:版本特征可能被改写或代理,重要资产要交叉验证
  • 忽略过滤状态:filtered 不等于关闭,换用其他探测方式或从其他位置复测
  • 扫描结果不归档:缺少历史基线,无法判断某项暴露是新增还是一直存在
  • 用扫描结果直接对外通报:应先由资产方确认归属与用途,再决定披露口径
  • 在未授权目标上做任何探测:即使只判断连通性也可能触及法律与合同责任

数据来源与参考

  • nmap 官方文档(Port Scanning Techniques)
  • nmap 官方文档(Service and Version Detection)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌