返回

HAR 查看与脱敏

开发工具

正在载入

正在加载工具

工具代码会在打开时按需载入,请稍候。

本工具的全部运算都发生在你的浏览器中,输入内容不会发送到任何服务器。

关于这个工具

选择 HAR 1.2 文件或粘贴其 JSON,即可在浏览器中查看已记录的网络会话。按域名或 HTTP 状态码筛选请求,再以纯文本查看请求头、请求体、响应体和各阶段耗时。工具不会上传归档、重放请求、访问记录中的 URL,也不会持久保存导入的数据。导出会根据配置生成独立的脱敏 HAR;查看时仍可看到原始详情。脱敏只能减少信息暴露,不能保证完全匿名,分享前必须复核完整的导出文件。

常见用途

  • 比较接口的连接、等待和接收耗时,排查慢请求,而无需再次访问服务器。
  • 在浏览器网络记录中查找某个域名下的失败请求。
  • 为技术支持工单准备精简 HAR,移除常见凭据与正文后,再人工检查残留的身份信息。

使用方法

  1. 1.从浏览器的 Network(网络)面板导出 HAR,然后选择文件或粘贴完整 JSON。输入须为 HAR 1.2,UTF-8 大小不超过 5 MiB,且最多包含 2,000 条记录。
  2. 2.按域名或状态码筛选列表并选择请求,查看 URL、请求头、正文和以毫秒为单位的耗时。未提供某项耗时,不代表该阶段耗时为零。
  3. 3.设置导出脱敏规则。建议先保持全部查询值脱敏、请求与响应正文移除,仅按需要放宽,再下载脱敏 HAR。分享前检查每条导出记录;列表筛选不会缩小导出范围。

虚构 HAR 示例

SSL 已包含在连接阶段的 100 毫秒请求

{"log":{"version":"1.2","creator":{"name":"Synthetic example","version":"1.0"},"entries":[{"startedDateTime":"2026-01-01T00:00:00.000Z","time":100,"request":{"method":"GET","url":"https://example.com/api/items","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[],"headersSize":-1,"bodySize":0},"response":{"status":200,"statusText":"OK","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":0,"mimeType":"application/json"},"redirectURL":"","headersSize":-1,"bodySize":0},"cache":{},"timings":{"blocked":0,"dns":0,"connect":30,"ssl":10,"send":5,"wait":50,"receive":15}}]}}
GET example.com · 200
总耗时:100 ms
连接:30 ms,其中 SSL:10 ms
发送:5 ms · 等待:50 ms · 接收:15 ms

这是只含虚构数据的完整 HAR。各阶段合计为 0 + 0 + 30 + 5 + 50 + 15 = 100 ms。再次累加 SSL 会错误地得到 110 ms。打开该示例不会向 example.com 发起请求。

默认脱敏后仍需人工复核

GET https://example.com/users/demo-42?token=demo-token&page=2
Authorization: Bearer demo-token
Cookie: session=demo-session
X-Account: demo-42
Authorization 与 Cookie:移除
查询参数值:脱敏
域名与 /users/demo-42 路径:保留
X-Account 值:仍需复核

这是虚构的请求节选,不是可直接导入的完整 HAR。默认规则会隐藏常见凭据和全部查询值,但路径与未识别的身份类请求头仍可能保留。请检查实际导出文件,不要把脱敏等同于匿名保证。

只脱敏指定 JSON 键,其他值仍可见

Content-Type: application/json

{"TOKEN":"demo-token","customer":"demo-42","count":2}

指定正文键:token
TOKEN 的值:脱敏
customer:demo-42
count:2

这段虚构正文用于说明受支持的 JSON 按键名脱敏,不是完整 HAR。指定 token 同样会匹配 TOKEN;其他字段保留,因此 customer 标识仍需复核。若无需保留载荷,建议继续移除正文。

常见 HAR 查看误区

  • 只粘贴一个请求对象或 JavaScript 对象字面量:请导入带 log.version 和 log.entries 的完整 HAR JSON;键名必须加双引号,不能使用尾逗号。
  • 打开超过 5 MiB 或 2,000 条记录的归档:请重新抓取更小的复现过程,或先通过可信的本地流程精简文件。
  • 计算总耗时时将 SSL 与 connect 再相加:SSL 已经包含在 connect 中。
  • 把 -1 或缺失耗时看作零:导出工具可能未测量该阶段。
  • 筛选为一条请求后认为只会导出该条:导出仍包含全部已导入记录。
  • 分享原文件,或不检查就信任脱敏结果:请在实际导出文件中复核域名、路径、标题、残留请求头以及保留的正文或查询值。

限制与说明

  • 仅接受不超过 5 MiB(5,242,880 个 UTF-8 字节)、最多 2,000 条记录且请求 URL 为 HTTP(S) 的 HAR 1.2 JSON。这是有输入边界的查看器,不是实时抓包器、完整 HAR 校验器、数据包分析器或请求重放工具。 输入还限制为最多 64 层嵌套和 100,000 个 JSON 值。
  • 耗时来自原归档,单位为毫秒。缺失值或 -1 表示不可用,而不是零。SSL 耗时已包含在 connect 中,不应重复相加。并发请求会重叠,因此累加各请求耗时不等于页面加载时间。
  • 默认导出会移除 Cookie、已识别的认证请求头、请求与响应正文、注释以及自定义或未知字段,并脱敏所有查询参数值。按指定查询名或正文键名脱敏时不区分大小写;这不是通用的敏感信息检测器。
  • 正文按键名脱敏仅适用于工具支持的 JSON 和 URL 编码表单表示。在该模式下,无法支持、格式错误或 base64 编码的正文会被移除;选择「保留」则可能留下这些正文及其中的敏感信息。导出通过重建已知字段生成,会丢弃页面及未支持的元数据,不是原文件的逐字节副本。
  • 无论当前域名或状态码筛选如何,导出都包含全部已导入记录。保留的域名、URL 路径、请求头值及主动保留的内容,仍可能暴露身份或秘密。原始 HAR 还可能含有可识别身份的页面标题。纯文本显示可防止嵌入内容执行,但不意味着这些内容适合分享。 抓包时间戳,以及网址主机、路径或普通头部中的 IP 地址,也可能识别个人。

常见问题

如何获取 HAR?浏览器的脱敏导出已经足够了吗?

在浏览器 Network(网络)面板中记录需要排查的操作后,使用导出功能。Chrome 提供排除部分敏感请求头的脱敏 HAR 导出,但 URL 和其他记录内容仍需检查。尽可能缩短抓取范围并使用虚构测试数据。本工具会再应用自己的导出规则,不能证明文件已适合公开。

默认脱敏与指定键名脱敏有什么区别?

默认规则隐藏所有查询值,并移除请求与响应正文。指定键名模式按名称匹配查询参数或受支持的正文字段,不区分大小写;未匹配的值可能保留。请列出与当前记录相关的键并检查结果。路径中的标识、陌生请求头或未选中的字段,不会因为常见凭据已移除就自动消失。

为什么各阶段耗时与预期的总和不同?

HAR 保存的是导出工具测得的数据。SSL 属于 connect 的一部分,不可用的阶段可能是 -1 或缺失,而多个请求可以并发。仅凭 wait 较大,也不能断定延迟全部来自服务器。请将各阶段记录作为排查依据,而不是完整的原因诊断。

筛选或导出会修改原始 HAR 吗?

不会。筛选只改变可见请求列表,导出会重建包含全部已导入记录的独立归档,不会覆盖原文件,也不会将导入内容保存为历史记录。下载会把生成的文件保存到你的设备上,仍应按可能含敏感信息的文件妥善保管。

相关工具