локальный сетевой монитор хоста и запрос httpservlet

На моей машине есть два сервера Tomcat, которые взаимодействуют друг с другом.

1) Может ли кто-нибудь порекомендовать хороший (бесплатный) сетевой сниффер, чтобы я мог отслеживать запросы/ответы, отправляемые между ними?

2) Как я могу проверить запрос в коде Java? посмотреть, из чего состоит заголовок и тело и какова их структура?

большое спасибо, по какой-то причине № 2 не так прост, как я думал.

Me


person special0ne    schedule 29.10.2009    source источник
comment
привет, извините, если это было неясно ... мой вопрос в том, как я могу распечатать/увидеть заголовок и тело запроса, используя код Java? Спасибо-спасибо   -  person special0ne    schedule 30.10.2009
comment
Сработал ли приведенный ниже пример фильтра сервлета?   -  person Jimmy    schedule 09.02.2010


Ответы (4)


1) Wireshark - это сетевой сниффер. Но если вы работаете в Windows и хотите быстро и легко увидеть http-трафик, взгляните на Fiddler. Это плагин для IE, но он может отслеживать весь http-трафик с вашего компьютера.

2) В сервлет или еще лучше фильтр сервлета добавьте следующее.

Enumeration headerNames = request.getHeaderNames();
    while(headerNames.hasMoreElements()) {
      String headerName = (String)headerNames.nextElement();
      out.println("<TR><TD>" + headerName);
      out.println("    <TD>" + request.getHeader(headerName));
    }
person Jimmy    schedule 29.10.2009
comment
FWIW, Fiddler на самом деле не является плагином для IE. Это автономный отладчик прокси. Единственная интеграция с IE, которую он имеет, заключается в том, что он добавляет кнопку на панель инструментов IE для его запуска, но то же самое он делает и для Firefox. - person EricLaw; 08.11.2009

Мне нравится Wireshark.

Если вы работаете в Windows, вы не можете напрямую отслеживать петлю 127.0.0.1. Вам нужно будет настроить альтернативный петлевой адаптер (такая же функциональность на другом адресе). Это подробно описано в документации Wireshark:

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

Я не уверен, что вы имеете в виду под своим вторым вопросом, можете ли вы рассказать подробнее?

Если все ваши запросы основаны на HTTP, то Wireshark сможет отображать заголовки и данные тела, но вне контекста кода Java.

person Tim Sylvester    schedule 29.10.2009

Как насчет настройки серверов Tomcat для удаленной отладки для номера 2? Добавить точку останова, чтобы вы могли проверять объекты? http://wiki.apache.org/tomcat/FAQ/Разработка

person MikeJ    schedule 29.10.2009
comment
я сделал это, но у меня были проблемы с проверкой запроса, вот о чем вопрос номер 2... - person special0ne; 31.10.2009

я только что использовал

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

и он работал безупречно для того, что я хотел.

Бесстыдно скопировано из этого вопроса:

Сниффер для локального хоста (ОС Windows)

person Victor    schedule 28.12.2011