nmap-formatter命令行参数完全指南:零基础也能轻松上手的转换工具

📅 2026/7/22 20:26:07 👁️ 阅读次数 📝 编程学习
nmap-formatter命令行参数完全指南:零基础也能轻松上手的转换工具

nmap-formatter命令行参数完全指南:零基础也能轻松上手的转换工具

【免费下载链接】nmap-formatterA tool that allows you to convert NMAP results to html, csv, json, markdown, graphviz (dot), sqlite, excel and d2-lang. Simply put it's nmap converter.项目地址: https://gitcode.com/gh_mirrors/nmapf/nmap-formatter

nmap-formatter是一款功能强大的NMAP扫描结果转换工具,支持将NMAP XML输出文件转换为HTML、CSV、JSON、Markdown、Graphviz (dot)、SQLite、Excel和D2语言等多种格式。无论你是网络安全新手还是经验丰富的管理员,这份指南都能帮助你快速掌握所有命令行参数的使用方法,让扫描结果的处理变得简单高效。

快速入门:基础使用方法

nmap-formatter的基本使用语法非常简单,只需指定输出格式和NMAP XML文件路径即可:

nmap-formatter [输出格式] [nmap.xml文件路径]

支持的输出格式包括:html、csv、md(Markdown)、json、dot(Graphviz)、sqlite、excel和d2(D2语言)。如果不指定文件路径,工具将从标准输入(STDIN)读取数据。

示例:生成HTML报告

nmap-formatter html scan-results.xml -f report.html

这条命令会将scan-results.xml文件转换为HTML格式,并保存为report.html文件。下面是HTML输出的示例效果:

核心参数解析:控制输入与输出

输出文件指定(-f/--file)

使用-f--file参数可以指定输出文件路径。如果不指定,结果将输出到标准输出(STDOUT),这在需要管道处理时非常有用:

nmap-formatter json scan.xml -f results.json # 保存到文件 nmap-formatter csv scan.xml | grep "open" # 管道过滤开放端口

版本信息查看(--version)

查看当前工具版本:

nmap-formatter --version

或使用简化命令:

nmap-formatter version

格式专用参数:定制化输出效果

不同的输出格式有其专属的定制化参数,以下是常用格式的关键配置选项。

HTML格式定制

  • --html-use-template:使用自定义HTML模板,例如:
    nmap-formatter html scan.xml --html-use-template custom.html
  • --html-skip-header:跳过HTML输出中的头部信息
  • --html-skip-toc:不生成目录(Table of Contents)
  • --html-dark-mode:启用深色模式(默认开启),可通过--html-dark-mode=false关闭
  • --html-toc-float:使目录随滚动浮动显示

Markdown格式定制

  • --md-use-template:使用自定义Markdown模板
  • --md-skip-summary:跳过扫描摘要信息
  • --md-skip-port-scripts:不显示端口脚本(NSE)的输出结果

JSON格式优化

  • --json-pretty:启用JSON格式化输出(默认开启),便于阅读
  • --json-snake-case:将JSON键名转换为蛇形命名法(snake_case)

SQLite数据库配置

  • --sqlite-dsn:指定SQLite数据库文件路径(默认值为nmap.sqlite
  • --scan-id:为扫描结果添加唯一标识符,便于区分多次扫描

高级功能:过滤与筛选

主机状态过滤(--skip-down-hosts)

默认情况下,nmap-formatter会跳过状态为"down"的主机。如果需要包含所有主机(包括不可达的),可以使用:

nmap-formatter html scan.xml --skip-down-hosts=false

复杂过滤表达式(--filter)

通过--filter参数可以使用表达式对扫描结果进行高级筛选。例如,只显示状态为"up"且开放80或443端口的主机:

nmap-formatter html scan.xml --filter '.Status.State == "up" && any(.Port, { .PortID in [80,443] })'

可视化输出:Graphviz与D2语言

nmap-formatter支持生成网络拓扑图,帮助直观理解网络结构。

Graphviz (dot)格式

生成dot格式文件后,可使用Graphviz工具转换为图片:

nmap-formatter dot scan.xml -f network.dot dot -Tpng network.dot -o network.png

示例dot输出效果:

D2语言格式

D2是一种现代的图表描述语言,生成D2文件后可使用d2工具渲染:

nmap-formatter d2 scan.xml -f network.d2 d2 network.d2 network.png

常见问题与解决方案

如何处理大型NMAP文件?

对于大型XML文件,建议使用--skip-down-hosts--filter参数减少输出数据量,提高处理速度。

自定义模板的存放位置?

自定义HTML或Markdown模板可以放在任何位置,只需在--html-use-template--md-use-template参数中指定完整路径即可。

如何将结果导入数据库?

使用SQLite格式输出,配合--sqlite-dsn参数指定数据库路径,可直接将扫描结果导入SQLite数据库,便于后续查询和分析:

nmap-formatter sqlite scan.xml --sqlite-dsn my_scans.db --scan-id 2024-07-21

总结

nmap-formatter提供了丰富的命令行参数,能够满足从简单转换到高级定制的各种需求。通过灵活运用这些参数,你可以轻松将NMAP扫描结果转换为可读性强、格式多样的报告,有效提升网络分析和文档编写的效率。无论是安全审计、网络监控还是学习研究,nmap-formatter都是你不可或缺的实用工具。

【免费下载链接】nmap-formatterA tool that allows you to convert NMAP results to html, csv, json, markdown, graphviz (dot), sqlite, excel and d2-lang. Simply put it's nmap converter.项目地址: https://gitcode.com/gh_mirrors/nmapf/nmap-formatter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考