
文章目录nmap-parse-outputnmap 扫描结果的命令行处理工具nmap-parse-outputnmap 扫描结果的命令行处理工具做渗透测试或网络资产梳理时nmap 扫完一轮后拿到的是一个 XML 文件。想从中提取 IP 列表、开放端口、HTTP 服务或者生成一份可读的 HTML 报告往往需要写脚本自己处理。nmap-parse-output 就是专门做这个事的命令行工具目前 GitHub 上收获了 553 Star。这个工具的核心逻辑很简单读取 nmap 输出的 XML 文件通过一组预设命令把数据转换成你想要的格式。它依赖 xsltproc内部命令大多基于 XSLT 实现所以扩展和修改都比较直接。nmap-parse-output 把命令分成四类提取数据、操作扫描结果、转换格式、其他辅助命令。提取数据类的命令覆盖了日常最常见的需求。all-hosts可以输出所有存活主机方便喂给下一次扫描或 masscanports输出所有开放端口用逗号分隔http-ports专门筛选 HTTP 和 HTTPS 端口service和banner可以按服务名提取对应的主机和端口。另外它还支持按端口分组、按服务分组、按产品名分组以及提取 HTTP 标题、SSL 证书信息等。操作扫描结果类的命令则用于精简或标注数据。include和exclude可以按主机过滤include-ports和exclude-ports可以按端口过滤comment-hosts、comment-ports、mark-ports可以在结果里加注释或标颜色然后配合html或html-bootstrap命令生成带标注的 HTML 报告。转换格式类命令主要是html、html-bootstrap和to-json。html生成基础 HTML 报告html-bootstrap基于 nmap-bootstrap-xsl 生成更美观的报告并且使用了 CDN 资源的 SRI 校验。用法上nmap-parse-output 支持标准输入输出多个命令可以管道串联。比如先生成 HTTP 端口列表./nmap-parse-output scan.xml http-ports再比如过滤指定主机后继续处理端口./nmap-parse-output scan.xml include 192.168.1.1,192.168.1.20 | ./nmap-parse-output - ports又比如给特定端口加注释并标红最后输出 HTML./nmap-parse-output scan.xml comment-ports 8080,10.0.20.4:443 this port should be filtered \ | ./nmap-parse-output - mark-ports 8080,10.0.20.4:443 red \ | ./nmap-parse-output - html report.html这些命令的组合方式很灵活适合放进自动化脚本或 CI 流程里。安装方式也直接。clone 仓库后确保系统已安装 bash 和 xsltproc就可以直接运行nmap-parse-output脚本。它也提供了 Bash 和 ZSH 的补全脚本以及部分 Linux 发行版的打包版本。如果你经常需要处理 nmap 扫描结果又不想为每种输出格式写解析脚本这个工具可以省不少时间。它适合安全工程师、运维人员以及任何需要把 nmap XML 变成结构化数据或报告的人。适合安全工程师、运维人员以及任何需要把 nmap XML 变成结构化数据或报告的人。