Wireshark vs Firebug vs Fiddler - 利弊?

Mic*_*Mao 84 debugging firebug web-applications fiddler wireshark

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

从localhost传输数据...

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

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

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

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

mik*_*002 74

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

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

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

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


Mac*_*bey 37

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

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

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

  • 实际上,Wireshark可以发现代理和nat服务器问题,它也可以在服务器上连接的客户端上使用. (2认同)

Ale*_*lex 33

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

如果你在Windows上,那么我会留在Fiddler.

  • 查尔斯和提德勒在建筑上非常相似.查尔斯在Mac上运行; 提琴手不会.查尔斯是用Java编写的,需要花钱.Fiddler是用C#编写的,免费的,并且可以在.NET中轻松扩展. (27认同)
  • 您是否有可能详细说明查尔斯与Fiddler之类的东西有何不同?你上面提到的东西看起来非常像小提琴手.我目前使用的是小提琴手,但如果能从中得到更多的东西,我会很高兴能使用更好的东西. (15认同)
  • 为什么它比wireshark更好? (10认同)
  • 它实际上适用于Windows,Mac OSX和Linux (7认同)
  • 我会在一天内回答Fiddler谷歌集团的几乎所有问题.但这不是聊聊此事的最佳地点. (2认同)

小智 13

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

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

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

  • 只是当你不在windows下工作时fiddler是没有用的。您还可以在两者之间放置一个代理,然后您可以自己执行此操作(在 C# 中)。例如 http://www.mentalis.org/soft/projects/proxy/ 。不需要提琴手。我家里不再有 Windows 系统 - 只有基于 ARM 的 Linux。我对此感到非常高兴。 (4认同)

Man*_*ath 5

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

查尔斯代理的优点:

  1. 更好地处理 HTTPS(您将获得一份放在“受信任机构”列表中的 Charles 证书)
  2. 具有更多功能,如加载/保存会话(尤其在调试多个页面时有用)、镜像网站(在缓存资产中有用,因此调试速度更快)等。
  3. 正如 jburgess 所提到的,处理 AMF。
  4. 以树状结构显示 JSON、XML 和其他类型的响应,使其更易于阅读。在图像响应中显示图像而不是二进制数据。

查尔斯代理的缺点:

  1. 成本 :-)

  • Fiddler 提供比 Charles 更简单的 HTTPS 信任,提供更丰富的 Save/Load 集,并使用树结构显示 JSON/XML 和其他格式。它是免费软件,并且有可用的 AMF 检查器,尽管我没有使用过它们。 (10认同)

Max*_*ler 5

为了补充该列表,还请注意http://mitmproxy.org/