如何收集网络跟踪

遇到问题时,网络跟踪有时可以提供很多有用的信息。 本操作指南介绍了收集网络跟踪的选项。

警告

网络跟踪包含应用发送的每条消息的全部内容。 切勿将来自生产应用的原始网络跟踪发布到 GitHub 等公共论坛。

使用 Fiddler 收集网络跟踪

Fiddler 是一个功能强大的工具,用于收集 HTTP 跟踪。 从 telerik.com/fiddler 安装并启动该工具,然后运行你的应用程序,重现此问题。 Fiddler 适用于 Windows、macOS 和 Linux。

如果使用 HTTPS 进行连接,则需执行一些额外的步骤来确保 Fiddler 可以解密 HTTPS 流量。 有关详细信息,请参阅 Fiddler 文档

收集跟踪后,可通过从菜单栏中选择“文件”>“保存”>“所有会话”来导出跟踪。

使用 tcpdump 收集网络跟踪(仅限 macOS 和 Linux)

此方法适用于所有应用程序。

可以使用 tcpdump 收集原始 TCP 跟踪,具体方法是在命令行界面中运行以下命令。 如果出现权限错误,你可能需要 root 权限或为命令添加前缀 sudo

tcpdump -i [interface] -w trace.pcap

[interface] 替换为要捕获的网络接口。 通常,这类似于 /dev/eth0(对于标准以太网接口)或 /dev/lo0(对于 localhost 流量)。 有关详细信息,请参阅主机系统上的 tcpdump 手册页。

man tcpdump

在浏览器中收集网络跟踪(仅限基于浏览器的应用程序)

大多数浏览器开发人员工具都有一个“网络”选项卡,你可以使用该选项卡捕获浏览器与服务器之间的网络活动。

Microsoft Edge (Chromium)

  1. 打开 DevTools

    • 选择 F12
    • 选择 Ctrl+Shift+I (Windows/Linux) 或 Command+Option+I (macOS)
    • 依次选择 Settings and moreMore Tools > Developer Tools
  2. 选择 Network 选项卡

  3. 如果需要,请刷新页面,并重现此问题

  4. 在工具栏中选择 Export HAR... 以将跟踪导出为“HAR”文件

    使用 Microsoft Edge 收集网络跟踪