Лучший способ проанализировать http-трафик, отправленный моим Java-кодом? - PullRequest
6 голосов
/ 31 января 2011

У меня есть некоторый java-код, как новый (с использованием библиотек Apache commons http), так и старый (строго с использованием API java 1.4), и я пытаюсь переписать старый код, используя более новые библиотеки apache commons.Однако, это не работает, и я изо всех сил пытаюсь выяснить, почему.Запросы отправляются, но мой новый код истекает на принимающем сервере, к которому у меня нет доступа.Поскольку старый код работает, я, должно быть, испортил запрос http.Было бы очень полезно использовать какой-нибудь анализатор HTTP-трафика, чтобы точно проверить, что отправляется, чтобы я мог видеть, какие есть различия.

Я скачал несколько http снифферов из Интернета ( этот и этот ), но ни один из них не захватил данные http, отправленные моим Java-кодом(но они работают, когда я отправляю случайные запросы из браузера).Любые идеи о том, как я могу получить эти данные?

Ответы [ 4 ]

8 голосов
/ 31 января 2011

Использование wireshark .

Это здорово, бесплатно, с открытым исходным кодом, кроссплатформенно, и может выделять различные сетевые уровни, и оно не запускается с какого-то сомнительного веб-сайта, который выглядит как SEO-спам.

Snort - еще один хороший пример, но он больше ориентирован на обнаружение вторжений и автоматические реакции на это. Тем не менее, у него есть отличный сниффер.

3 голосов
/ 31 января 2011

Обычно я обнаруживаю, что перехват пакетов слишком низкий для устранения неполадок HTTP. Попробуйте обратный прокси; лично мне нравится Charles , так как он работает одинаково в Windows, Mac OS X и Linux; Fiddler популярен в Windows.

0 голосов
/ 31 января 2011

Вы можете указать SOCKS Proxy.обычно Java использует SocksSocketImpl - т.е. она автоматически поддерживает прокси-серверы SOCKS.

Подойдет любой другой анализатор

0 голосов
/ 31 января 2011

Если вы попытаетесь прослушать свой шлейф (127.0.0.1) - это немного сложно, и вы должны установить для этого специальный драйвер.
Я бы посоветовал вам отправить запрос на «поддельный» сервер, а затем прослушать его.1002 * вы можете прослушивать с помощью "WireShark" или "burpSuite" (если вы можете настроить программу, которая проходит через прокси-сервер).
gl.

...