Nmap XML 开放端口报告
将已保存的 Nmap XML 转为包含主机地址与开放端口的 Excel 和 CSV 表。
- 1添加输入
- 2确认后运行
- 3获取结果
工具输入和文件在当前浏览器处理,不会上传。
开始之前
粘贴已保存的 Nmap XML,或选择一个 UTF-8 XML 文件。将状态明确为 open 的端口整理成表格;下载 XLSX 供表格软件使用、CSV 用于交换,或 JSON 保留完整解析记录。
如何使用
- 粘贴已授权扫描的 XML,或选择其保存文件。切回粘贴输入前清除选定文件。
- 生成报告,核对开放端口数、主机数与 scanStatus;缺少或失败的结束信息表示报告可能不完整。
- 下载 open-ports.xlsx、open-ports.csv 或完整 JSON。用于资产清单前与原始扫描范围对照。
支持范围与限制
单个 UTF-8 文件最多 10 MiB,粘贴文本最多 1 MiB,最多 20,000 条开放端口记录。选定文件优先于粘贴文本,XML 根节点必须为 nmaprun。每格最多 32,767 个 UTF-16 代码单元,重复后的全部表格值总计最多 2 MiB UTF-8。
只读取 host/ports/port 中 state="open" 且协议为 tcp 或 udp 的条目。closed、filtered、open|filtered、extraports 与系统探测端口均不计入;缺少的服务字段留空。
同一主机有多个地址时,表格优先使用第一个 IPv4,否则使用第一个 IPv6;JSON 下载保留报告中的全部 IP 地址。没有开放端口时导出表头与零条记录。
接受标准的裸 <!DOCTYPE nmaprun>,不加载 DTD;拒绝外部及内部实体声明。忽略样式表指令,不读取任何引用资源。
CSV 为类似公式的单元格添加单引号,XLSX 全部以文本单元格保存。页面 JSON 预览前 100 条并截短过长值,下载保留完整值;缺少成功结束标记或包含超时主机时显示提示。本工具只读取已保存报告,不执行扫描,也不证明资产清单完整。
操作示例
示例输入
<?xml version="1.0"?><!DOCTYPE nmaprun><nmaprun scanner="nmap"><host><status state="up"/><address addr="192.0.2.10" addrtype="ipv4"/><hostnames><hostname name="server.example.test"/></hostnames><ports><port protocol="tcp" portid="22"><state state="open"/><service name="ssh" product="OpenSSH" version="9.0"/></port><port protocol="tcp" portid="80"><state state="closed"/></port></ports></host></nmaprun>
示例参数
{}示例输出
address,hostname,protocol,port,state,service,product,version 192.0.2.10,server.example.test,tcp,22,open,ssh,OpenSSH,9.0
出现问题时
请使用 Nmap XML 输出,而不是普通或 grepable 文本。替换截断或格式错误的文件后重试;零开放端口属于有效空结果,需核对原扫描范围。
常见问题
为什么不包含 open|filtered?
该状态不能确定端口开放。工具只导出明确的 open,避免把不确定结果统计成已确认服务。
会运行 Nmap 或连接主机吗?
不会。仅解析设备上已有的 XML 并生成本地下载;主机名和服务描述来自报告,不进行解析查询或真实性验证。
Excel 能打开结果吗?
能。XLSX 使用文本单元格和冻结表头;另有带 UTF-8 BOM、为类似公式值加转义的 CSV,以及保留原值的 JSON。