Wireshark vs Firebug vs Fiddler - 利弊?

时间:2010-11-24 03:03:12

标签: debugging web-applications firebug fiddler wireshark

最近,我遇到了一个CGI应用程序没有响应的问题。症状是Firefox显示:

  

从localhost传输数据......

但问题是我看不到来自Firebug的Net面板的任何流量,浏览器只是永远停留在同一个舞台上。

我正在考虑调试此应用程序的方法,但我看不到源代码或其任何已编译的Java / C ++组件,因此我认为HTTP网络级别的诊断是一个良好的开端。

我对Fiddler和Wireshark缺乏经验,只是想知道他们会在HTTP网络级别获得更好的反馈/统计数据吗?我听说Wireshark很先进,但可能会引入大量的流量,所以系统管理员不太喜欢它。在这个时候,我认为Firebug并没有真正向我展示足够的信息。

我需要收集信息,以便我可以转发给客户作为证据。

7 个答案:

答案 0 :(得分:71)

Wireshark,Firebug,Fiddler都做类似的事情 - 捕获网络流量。

  • Wireshark捕获任何类型的网络数据包。它可以捕获TCP / IP下的数据包详细信息(HTTP位于顶部)。它确实有过滤器来减少它捕获的噪音。

  • Firebug跟踪浏览器页面发出的每个请求,并捕获相关标头以及请求的每个阶段所花费的时间( DNS,接收,发送,...... )。

  • Fiddler作为HTTP / HTTPS代理。它捕获计算机发出的每个HTTP请求,并记录与之相关的所有内容。它确实允许将post变量转换为表格形式和编辑/重放请求。 默认情况下,它不会捕获IE中的localhost流量,请参阅常见问题解答以获取解决方法。

答案 1 :(得分:34)

WireShark的好处是它可能会在HTTP协议以下的级别显示错误。 Fiddler将向您显示HTTP协议中的错误。

如果您认为问题出现在浏览器发出的HTTP请求中,或者您只是在寻找有关服务器响应内容的更多信息,或者需要多长时间来响应,Fiddler应该这样做。

如果您怀疑浏览器和服务器(或其下面的其他层)使用的TCP / IP协议可能有问题,请使用WireShark。

答案 2 :(得分:32)

以上都不是,如果你在Mac上。使用Charles Proxy。这是我遇到过的最好的网络/请求信息收集器。您可以查看和编辑所有传出请求,并以多种形式查看这些请求的响应,具体取决于响应的类型。许可证的成本为50美元,但您可以下载试用版并查看您的想法。

如果您在Windows上,那么我会留在Fiddler。

答案 3 :(得分:12)

每次与查尔斯相比时,提琴手都是胜利者。

fiddler的“自定义规则”功能在任何http调试器中都是无与伦比的。编写代码来动态处理http请求和响应的能力对我和我在Web开发中所做的工作是非常宝贵的。

骗子们有这么多的功能,以至于查尔斯没有,而且可能永远不会有。提琴手是光明的一年。

答案 4 :(得分:4)

如果您正在开发一个使用AMF传输数据的应用程序(在我定期使用的GIS web APIs特定集合中相当普遍),Fiddler目前不提供允许您使用的AMF解码器以易于阅读的格式轻松查看二进制数据。 Charles提供此功能。

答案 5 :(得分:3)

我使用Charles Proxy和Fiddler进行HTTP / HTTPS级调试。

Charles Proxy的优点:

  1. 更好地处理HTTPS(您获得的Charles证书已放入'受信任的权威机构'列表中)
  2. 具有更多功能,如加载/保存会话(特别是在调试多个页面时很有用),镜像网站(用于缓存资产,从而加快调试速度)等。
  3. 如jburgess所述,处理AMF。
  4. 在树形结构中显示JSON,XML和其他类型的响应,使其更易于阅读。以图像响应显示图像而不是二进制数据。
  5. 查尔斯代理的缺点:

    1. 费用: - )

答案 6 :(得分:3)

要补充列表,还要注意http://mitmproxy.org/