Назад | Перейти на главную страницу

Как я могу прослушать / сбросить протокол HTTP как ASCII для порта с tcpdump или альтернативным?

Мне нужно посмотреть, как приложение отправляет и получает трафик через протокол http, который он передает на localhost (у него есть встроенный порт, закодированный с помощью .gz). Я уверен, что это какой-то XML, который он отправляет и получает, но я хочу нюхать это, а затем проанализировать это

Возможно ли это как-нибудь с Tcpdump? там я вижу только то, что он подключается, но не фактическая отправка, получение

Если вы хотите использовать tcpdump, такую ​​команду tcpdump -s 0 -A -qn filters должен дать вам то, что вы хотите. В -s 0 устанавливает размер пакета и -A сбрасывает ascii. Вместо того -A вам также может понравиться -X который предоставит вам вывод в формате шестнадцатеричного дампа.

Вы также можете использовать wirehark, и как только вы закончите захват, просто щелкните правой кнопкой мыши один из пакетов и выберите «Follow TCP Stream».

ngrep очень полезен для этого. Что-то простое, как

ngrep -W byline port 80

будет работать, но вы также можете фильтровать содержимое запросов (отсюда и часть имени grep), и он распечатывает полезную нагрузку пакета:

ngrep -W byline some_string port 80

Я сделал довольно много этого с wirehark. Обнюхивайте нужный мне трафик с помощью tcpdump, отправьте его куда-нибудь, где я могу запустить Wireshark, а затем просмотрите трассировку с помощью Wireshark. Отслеживание сеанса TCP дает мне запрос и ответ в красивой форме ASCII. Прекрасно работает.