本地主机网络监视器和httpservlet请求

时间:2009-10-29 21:19:43

标签: java header httprequest network-monitoring

我的计算机上有两个Tomcat服务器,它们之间相互通信。

1)有人可以推荐一个好的(免费)网络嗅探器,这样我就可以监控它们之间发送的请求/响应吗?

2)如何在java代码中检查请求?看看标题和正文是什么以及它们的结构?

非常感谢, 出于某种原因,#2并不像我想象的那样直截了当。

4 个答案:

答案 0 :(得分:2)

1)Wireshark是“网络嗅探器”。但是如果你在Windows上并希望快速简便地查看http流量,请查看Fiddler.Its是一个IE插件,但可以监控来自你机器的所有http流量。 / p>

2)在servlet或更好的servlet过滤器中添加以下内容。

Enumeration headerNames = request.getHeaderNames();
    while(headerNames.hasMoreElements()) {
      String headerName = (String)headerNames.nextElement();
      out.println("<TR><TD>" + headerName);
      out.println("    <TD>" + request.getHeader(headerName));
    }

答案 1 :(得分:1)

我喜欢Wireshark

如果您使用的是Windows,则无法直接监控127.0.0.1环回。您需要设置备用环回适配器(在另一个地址上具有相同的功能)。这在Wireshark文档中有详细说明:

http://wiki.wireshark.org/CaptureSetup/Loopback

我不确定你的第二个问题是什么意思,你能详细介绍一下吗?

如果您的所有请求都是基于HTTP的,那么Wireshark将能够显示标题和正文数据,但它不在Java代码的上下文中。

答案 2 :(得分:0)

如何设置Tomcat服务器以进行2号远程调试?添加断点以便检查对象? http://wiki.apache.org/tomcat/FAQ/Developing

答案 3 :(得分:0)

我刚用过

http://socketsniff.nirsoft-freeware.qarchive.org/_download2.html

它完美地完成了我想要的工作。

从这个问题中无耻地复制:

Sniffer for localhost (Windows OS)