首页/安全/漏洞与攻击面速查/nmap 输出格式与留痕归档
扫描与验证方法50 条

nmap 输出格式与留痕归档

扫描结果的归档直接影响复测与审计:用 -oA 同时输出文本、XML、grepable 三种格式,XML 便于入库与差异比对。

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

为什么要留痕归档

nmap 终端滚动输出无法复用:复测时想回答『这个端口上次是不是开放过』,没有留档就只能重扫一遍,而且两次结果受参数与网络状态影响不可比。用 -oA 一次生成三种格式(.nmap 文本、.xml、.gnmap),其中 XML 结构完整,最适合入库与差异比对。适用 nmap 7.x 各平台。

基本信息

核心选项-oA 生成全部格式,-oX/-oN/-oG 单独输出
追加输出--append-output 合并到已有文件
归档字段日期、目标范围、扫描目的、参数、工具版本
文件敏感性XML 与 grepable 含资产与端口清单
常用工具nmap 7.x,XML 可用脚本或 xmlstarlet 解析

典型使用场景

  • 复测对比:两次扫描结果按主机与端口做差异,确认整改是否生效
  • 暴露面月度基线:把当期 XML 与上月对比,输出新增开放端口清单
  • 审计留痕:扫描任务附带参数与工具版本,结论可复现
  • 交接与追溯:半年后能说清某个端口是什么时候出现的
  • 多工具汇集:把 XML 转换后与其他资产数据统一入库

输出与归档

输出与归档
nmap -sT -sV --open -p 80,443,22 192.0.2.0/24 -oA scan-2026-10-12
# 生成 scan-2026-10-12.nmap / .xml / .gnmap 三个文件
nmap -sV -iL targets.txt -oX result.xml --append-output    # 追加到同一文件
diff <(grep '^[0-9]' old.gnmap) <(grep '^[0-9]' new.gnmap)  # grepable 快速比对

三种输出格式对照

格式扩展名适用场景
普通文本nmap人工阅读与截图存档
XMLxml入库、脚本解析、差异比对
grepablegnmap命令行快速筛选与简单 diff
给扫描文件起可检索的名字(日期加目标范围加目的),避免半年后面对一堆 scan1.xml 无人能解释来源;文件名里不要带客户或系统敏感名,归档目录另做访问控制。
差异比对要固定参数:两次扫描若一次用了 -sV 一次没用,端口状态相同但服务识别结果不同,diff 会给出大量无意义差异。

归档命名建议

  • 文件名包含日期、目标范围与扫描目的,例如 2026-10-12_生产网段_暴露面月度基线
  • 同一任务的三种格式放在同一目录,避免 XML 与文本版本错配
  • 归档目录按季度分区,过期文件按数据分级要求清理或转冷存储
  • 附带一份说明文件记录扫描参数、执行人与审批单号

易错点

  • 扫描结果只保留在终端滚动输出中:复测时无法比对『之前是否开放过』
  • 用同一文件名反复覆盖输出:历史结果被新结果冲掉,趋势分析无数据可用
  • 归档文件放在共享目录:资产与端口清单随意外泄,等于把内网地图公开
  • 比对不同参数的两次扫描:差异里混入参数差异,无法判断真实变化

数据来源与参考

  • nmap 官方文档(Output)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌