0

我的机器上有两台 Tomcat 服务器,它们相互通信。

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

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

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

4

4 回答 4

2

1) Wireshark 是“网络嗅探器”。但是,如果您在 Windows 上并且想要一种快速简便的方法来查看 http 流量,请查看 Fiddler。它是一个 IE 插件,但可以监控来自您机器的所有 http 流量。

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));
    }
于 2009-10-29T21:29:33.553 回答
1

我喜欢Wireshark

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

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

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

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

于 2009-10-29T21:25:58.227 回答
0

我刚用

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

它完美地满足了我的需求。

从这个问题无耻地复制:

本地主机嗅探器(Windows 操作系统)

于 2011-12-28T10:25:54.723 回答
0

How about setting up the Tomcat servers for remote debugging for number 2? Add a break point so you can inspect the objects? http://wiki.apache.org/tomcat/FAQ/Developing

于 2009-10-29T21:34:47.003 回答