最近,我遇到了一个CGI应用程序没有响应的问题。症状是Firefox显示:
从localhost传输数据......
但问题是我看不到来自Firebug的Net面板的任何流量,浏览器只是永远停留在同一个舞台上。
我正在考虑调试此应用程序的方法,但我看不到源代码或其任何已编译的Java / C ++组件,因此我认为HTTP网络级别的诊断是一个良好的开端。
我对Fiddler和Wireshark缺乏经验,只是想知道他们会在HTTP网络级别获得更好的反馈/统计数据吗?我听说Wireshark很先进,但可能会引入大量的流量,所以系统管理员不太喜欢它。在这个时候,我认为Firebug并没有真正向我展示足够的信息。
我需要收集信息,以便我可以转发给客户作为证据。
答案 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的优点:
查尔斯代理的缺点:
答案 6 :(得分:3)
要补充列表,还要注意http://mitmproxy.org/