为 Mac 寻找类似于 Windows 上的 Fiddler 的 HTTP 调试代理

Dou*_*ris 243 mac sniffing web-development http macos

在之前的工作中,当我在 Windows 机器上工作时,我使用Fiddler来查看 HTTP 事务和调试。

我特别希望监视我正在处理的 ajax 站点的 HTTP 事务,以验证该站点是否按照我的预期运行。重写 HTTP(由 Fiddler 提供)是一个很好的方法,但不是必需的。

有人可以推荐类似的东西在 Mac 上使用吗?

bra*_*ork 133

使用 Chrome 并导航到 chrome://net-internals/

它允许进行详细的分析和转储。

  • 此工具似乎只能捕获 chrome 流量。有没有办法使用这个工具来捕获来自/到特定进程的 http 流量? (34认同)
  • 这个工具看起来很“整洁”,但是你怎么能看到整个请求有效负载(即 GET 请求标头?) (5认同)
  • 好的。知道什么时候将其添加到 chrome 中吗? (2认同)
  • 不,谢谢。我曾经在 Windows 上使用 Fiddler,但在转移到 Mac 时,我在寻找隐藏的 chrome 功能时偶然发现了网络内部结构。 (2认同)

Dou*_*ris 71

我找到了Charles Proxy。它更接近 Fiddler 的功能。它不是免费的,但可能物有所值。

  • charles(以及 fiddler 和 webscarab)提供的一个重要功能是拦截和修改请求的能力,包括 https 解密。 (5认同)

小智 40

我使用mitmproxy来拦截 HTTP 流量。这是一个很棒的工具,您也可以使用它来调试移动设备或任何操作系统。


Ted*_*eid 28

我最喜欢的用于监控流量的 mac 应用程序是HTTPScoop我在去年的博客中详细介绍了它以及从命令行使用 tcpdump 的情况。

  • 链接到博客不起作用:( (3认同)

Arj*_*jan 19

不是你问的,但在 Firefox 中,如果我想编辑和重放请求,包括更改 URL 和 HTTP 方法,Live HTTP Headers插件就是我所需要的。

实时 HTTP 标头

在 Firebug 中,网络监控显示所有请求和响应。同样,在 Safari中,内置 Web Inspector的资源窗格也满足了我的大部分需求。(通过首选项启用 Web Inspector:在菜单栏中显示开发菜单。)Chrome 和 Firefox 具有类似的工具。

当事情变得更复杂时,我会启动我的Wireshark数据包嗅探器。但是,与 Fiddler 不同的是,Wireshark 不允许您更改数据,也不支持像 Fiddler 显然支持的自动响应程序之类的功能。

对于 Wireshark,请参阅超文本传输​​协议 (HTTP)以了解一些通用的 HTTP 捕获信息,以及用于调试 Apache 的 HTTP 数据包捕获,例如一些显示过滤器。(您可能希望将设置捕获过滤器“ port 80”,显示所有的请求该端口,并响应该端口或者,要限制某些服务器,使用。捕捉过滤器“ port 80 and host www.google.com”。)喜欢的:

# 只显示 404: 页面未找到
http.response.code == 404

# 只显示某些 HTTP 方法
http.request.method == "POST" || http.request.method == "PUT"

# 只显示javascript
http.content_type 包含“javascript”

请注意,Wireshark 可以为您即时解压缩 gzip 或压缩编码(压缩)的内容。这使事情更容易阅读,因为大多数 Web 服务器会压缩它们发送到浏览器的数据。

(至于自动响应器:优秀的JS Bin有一个短视频介绍如何使用它来调试Ajax请求。如果您不了解JS Bin,请先观看介绍视频。)


Chr*_*Rea 7

除了 Charles(已经提到),我还喜欢Mozilla Firefox的HttpFox插件。和 Charles 一样,你可以在 Mac 和 Windows 上使用它。它比 Charles 更轻量级,因为它存在于浏览器中,有助于快速排除故障。以下是来自 HttpFox 页面的一些信息:

HttpFox 监视和分析浏览器和 Web 服务器之间的所有传入和传出 HTTP 流量。

它旨在将 HttpWatch 或 IEInspector 等工具已知的功能引入 Firefox 浏览器。

每个请求可用的信息包括:

  • 请求和响应头
  • 发送和接收 cookie
  • 查询字符串参数
  • POST参数
  • 响应体

而且,截图:

Mozilla Firefox 的 HttpFox 附加组件的屏幕截图


w00*_*00t 6

不是代理,但它确实有助于调试 HTTP:

只需在您将打开 HTTP 流量的接口上开始扫描,执行流量,然后停止扫描并键入“HTTP”作为过滤字符串。然后,您将能够检查 HTTP 会话的所有数据包。打开数据包详细信息视图后,您可以打开 HTTP 部分,它将在数据包之间保持打开状态。

这是一个很棒的工具,它不需要您更改浏览器代理。另一方面,它无法帮助处理 HTTPS 流量,因为它是加密的。(虽然它可以解密使用 RSA 的 SSL 连接

  • 只是一个更新:Wireshark 在 OS X 上很痛苦。它需要 X11,它不再包含在 OS X 中,所以你最终总共使用了大约 200MB 的磁盘。 (2认同)
  • 只是@MarkoBonaci 更新的更新,Wireshark 2.x 现在在 OSX 上运行良好,不再需要 X11。 (2认同)

小智 5

我迟到了 - 我使用Paros Proxy。它是用 Java 编写的,因此是跨平台的。但如果你希望它被打包为一个应用程序,有一个在这里的底部。