我的机器上有两台 Tomcat 服务器,它们相互通信。
1)有人可以推荐一个好的(免费)网络嗅探器,以便我能够监控它们之间发送的请求/响应吗?
2)如何检查java代码中的请求?看看标题和正文包含什么以及它们的结构?
非常感谢,由于某种原因,#2 并不像我想象的那样直截了当。
我
我的机器上有两台 Tomcat 服务器,它们相互通信。
1)有人可以推荐一个好的(免费)网络嗅探器,以便我能够监控它们之间发送的请求/响应吗?
2)如何检查java代码中的请求?看看标题和正文包含什么以及它们的结构?
非常感谢,由于某种原因,#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));
}
我喜欢Wireshark。
如果您在 Windows 上,则无法直接监控 127.0.0.1 环回。您将需要设置一个备用环回适配器(在另一个地址上具有相同的功能)。这在 Wireshark 文档中有详细说明:
http://wiki.wireshark.org/CaptureSetup/Loopback
我不确定你的第二个问题是什么意思,你能更详细一点吗?
如果您的所有请求都是基于 HTTP 的,那么 Wireshark 将能够显示标头和正文数据,但它在 Java 代码的上下文之外。
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