Мне нужно посмотреть, как приложение отправляет и получает трафик через протокол 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. Прекрасно работает.