☰
nmap-parse-output:nmap 扫描结果的命令行处理工具
2026/10/15 5:12:16 网站建设 项目流程

文章目录

  • nmap-parse-output:nmap 扫描结果的命令行处理工具

nmap-parse-output:nmap 扫描结果的命令行处理工具

做渗透测试或网络资产梳理时,nmap 扫完一轮后拿到的是一个 XML 文件。想从中提取 IP 列表、开放端口、HTTP 服务,或者生成一份可读的 HTML 报告,往往需要写脚本自己处理。nmap-parse-output 就是专门做这个事的命令行工具,目前 GitHub 上收获了 553 Star。

这个工具的核心逻辑很简单:读取 nmap 输出的 XML 文件,通过一组预设命令把数据转换成你想要的格式。它依赖 xsltproc,内部命令大多基于 XSLT 实现,所以扩展和修改都比较直接。

nmap-parse-output 把命令分成四类:提取数据、操作扫描结果、转换格式、其他辅助命令。

提取数据类的命令覆盖了日常最常见的需求。all-hosts可以输出所有存活主机,方便喂给下一次扫描或 masscan;ports输出所有开放端口,用逗号分隔;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 变成结构化数据或报告的人。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询