【问题标题】:local host network monitor and httpservlet request本地主机网络监视器和 httpservletrequest
【发布时间】:2009-10-29 21:19:43
【问题描述】:

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

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

2) 如何在 java 代码中检查请求?看看标题和正文的组成及其结构?

非常感谢, 由于某种原因,#2 并不像我想象的那么简单。

【问题讨论】:

  • 嗨,如果不清楚,对不起......我的问题是“我如何使用 java 代码打印/查看请求的标题和正文”?谢谢谢谢
  • 下面的 servlet 过滤器示例对您有用吗?

标签: java header httprequest network-monitoring


【解决方案1】:

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));
    }

【讨论】:

  • FWIW,Fiddler 并不是真正的 IE 插件。它是一个独立的代理调试器。它唯一的 IE 集成是它在 IE 的工具栏上添加了一个按钮来启动它,但它对 Firefox 也是如此。
【解决方案2】:

我喜欢Wireshark

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

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

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 我已经完成了,但是我在检查请求时遇到了麻烦,这就是第 2 个问题...
    【解决方案4】:

    我刚用过

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

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

    无耻地抄袭这个问题:

    Sniffer for localhost (Windows OS)

    【讨论】:

      猜你喜欢
      • 2019-02-05
      • 1970-01-01
      • 2016-03-16
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 2010-09-06
      相关资源
      最近更新 更多