Debugging Wireshark vs Firebug vs Fiddler-利弊?

Debugging Wireshark vs Firebug vs Fiddler-利弊?,debugging,web-applications,firebug,fiddler,wireshark,Debugging,Web Applications,Firebug,Fiddler,Wireshark,最近,我遇到了一个CGI应用程序没有响应的问题。症状正在显示: 正在从本地主机传输数据 但问题是,我无法从Firebug的网络面板上看到任何流量,浏览器永远停留在同一个舞台上 我正在考虑调试这个应用程序的方法,但我看不到源代码或任何编译的Java/C++组件,因此我认为HTTP网络级别的诊断是一个良好的开端 我在Fiddler和Wireshark方面没有什么经验,只是想知道他们在HTTP网络级别上会得到更好的反馈/统计数据吗?我听说Wireshark很先进,但可能会引入大量流量,因此系统管理员不

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

正在从本地主机传输数据

但问题是,我无法从Firebug的网络面板上看到任何流量,浏览器永远停留在同一个舞台上

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

我在Fiddler和Wireshark方面没有什么经验,只是想知道他们在HTTP网络级别上会得到更好的反馈/统计数据吗?我听说Wireshark很先进,但可能会引入大量流量,因此系统管理员不太喜欢它。目前我认为Firebug并没有向我提供足够的信息


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

如果您在Mac上,以上内容都不需要。使用。它是我遇到过的最好的网络/请求信息收集器。您可以查看和编辑所有传出请求,并根据响应的类型以多种形式查看这些请求的响应。一个许可证要50美元,但你可以下载试用版,看看你的想法


如果您的应用程序在Windows上,那么我将只使用Fiddler。

WireShark的好处是,它可能会显示低于HTTP协议级别的错误。Fiddler将显示HTTP协议中的错误

如果您认为问题出在浏览器发出的HTTP请求的某个地方,或者您只是在寻找有关服务器响应内容或响应时间的更多信息,Fiddler应该这样做


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

WireShark、Firebug、Fiddler都会做类似的事情—捕获网络流量

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

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

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


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

我使用Charles代理和Fiddler进行HTTP/HTTPS级别的调试

Charles Proxy的优点:

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

  • 费用:-)

  • 与查尔斯相比,费德勒每次都是赢家

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


    小提琴手有很多特点,查尔斯没有,也可能永远不会有。费德勒在前面几光年

    为了补充这个列表,请注意

    您是否可以详细说明Charles与Fiddler的区别?你上面提到的很像小提琴手。我目前使用的是fiddler,但如果我能从中得到更多的东西,我会很高兴使用更好的东西。Charles和fiddler在架构上非常相似。查尔斯在Mac电脑上跑步;小提琴手不会。Charles是用Java编写的,需要花钱。Fiddler是用C#编写的,免费,并且在.NET中易于扩展。它实际上可以在Windows、Mac OSX和Linux上运行。为什么它比wireshark好?我在一天内回答了Fiddler的Google Group中的几乎所有问题。但这里不是讨论这个问题的好地方。Fiddler提供了比Charles更简单的HTTPS信任,提供了更丰富的保存/加载集,并使用树结构显示JSON/XML和其他格式。这是免费软件,虽然我没有使用过AMF检查器,但有可用的AMF检查器。@EricLaw:是的,但是你的“免费软件”(受美国出口限制-也称为不安全加密)不在Linux上运行(我的ARM处理器Chromebook Linux和Debian)。事实上,Wireshark可以发现代理和nat服务器问题,它也可以在您连接的客户端和服务器上使用。什么使这个选项值得考虑?@JonofAllTrades这是从命令行运行的。每个备选方案都提供了不同的实现,所以在本例中的多样性确实起到了一定的作用。Maxim-Mitm是一个基于命令行的工具。缺少GUI对于像我这样的用户来说是个问题。你能告诉我们什么时候使用命令行工具以及什么时候使用gui吗?当你在服务器上进行SSHing操作并且需要一个代理时,也许mitmproxy会是一个救命稻草(除非你准备好拥有一个单独的gui环境来代理)。mitmproxy有一个UI,除了fiddler没有任何用处