分析我的java代码发送的HTTP流量的最佳方法?

时间:2011-01-31 16:09:03

标签: java http traffic sniffer

我有一些新的Java代码(使用Apache commons http库)和旧的(严格使用java 1.4 API),并尝试使用较新的apache commons库重写旧代码。然而,它不起作用,我正在努力找出原因。请求正在发送,但我的新代码在我无法访问的接收服务器上超时。由于旧代码有效,我必须搞砸http请求。使用某种HTTP流量嗅探器来检查发送的内容是非常有用的,这样我就可以看到它们之间存在哪些差异。

我从网上下载了一些http嗅探器(this onethat one),但都没有捕获我的java代码发送的任何http数据(但是当我发送随机数据时它们确实有用)来自浏览器的请求)。关于我如何掌握这些数据的任何想法?

4 个答案:

答案 0 :(得分:8)

使用wireshark

它是伟大的,免费的,开源的,跨平台的,并且可以突出显示不同的网络层,并且它不是从一些看起来像SEO垃圾邮件的可疑网站运行。

Snort是另一个好的,但它更适合入侵检测和自动响应。不过,它有一个很好的嗅探器。

答案 1 :(得分:3)

通常我发现数据包嗅探的级别太低,无法对HTTP进行故障排除。尝试反向代理;我个人喜欢Charles,因为它在Windows,Mac OS X和Linux中的工作方式相同; Fiddler在Windows上很流行。

答案 2 :(得分:0)

如果你试图嗅探你的环回(127.0.0.1) - 这有点复杂,你应该安装特殊的驱动程序。
我建议你向“假”服务器发送请求而不是嗅它 你可以用“WireShark”或“burpSuite”嗅探(如果你可以配置通过代理服务器的程序)。
冰川

答案 3 :(得分:0)

您可以指定SOCKS代理。通常Java使用SocksSocketImpl - 即它支持自动SOCKS代理。

任何其他嗅探器也会这样做