Обнюхивание и отображение TCP-пакетов в UTF-8

Я пытаюсь использовать tcpdump для отображения содержимого пакетов tcp, текущих в моей сети. У меня есть что-то вроде:

tcpdump -i wlan0 -l -A

параметр-A отображает содержимое как текст ASCII, но мой текст, похоже, UTF-8. Есть ли способ правильно отобразить UTF-8 с помощью tcpdump? Вы знаете какие-нибудь другие инструменты, которые могли бы помочь?

большое спасибо

3 ответов


убедитесь, что ваш терминал поддерживает вывод UTF-8 и передает вывод на что-то, что заменяет непечатаемые символы:

tcpdump -lnpi lo tcp port 80 -s 16000 -w - | tr -t '[^[:print:]]' ''
tcpdump -lnpi lo tcp port 80 -s 16000 -w - | strings -e S -n 1

если ваш терминал не поддерживает UTF-8, вы должны преобразовать вывод в поддерживаемую кодировку . Например:

tcpdump -lnpi lo tcp port 80 -s 16000 -w - | tr -t '[^[:print:]]' '' | iconv -c -f utf-8 -t cp1251

говорит iconv опустить символ, который не имеет допустимого представления в целевой кодировке.


есть много вариантов, которые вы можете изучить нюхать пакеты.

Wireshark является самым полезным сниффером и доступен бесплатно для всех платформ. Он имеет многофункциональный интерфейс который поможет вам нюхать пакеты и анализировать протоколы. Он имеет много фильтров, так что вы можете отфильтровать нежелательные пакеты и смотреть только на пакеты, которые вас интересуют. Проверьте их веб-страницу: доступно для загрузки для Windows и OS X

для dowload для Linux дистрибутивы проверить этой ссылке

Если вы предпочитаете альтернативное решение больше на линиях tcpdump, вы также можете изучить tcpflow, который, безусловно, является хорошим вариантом для анализа пакетов. Он также предоставляет вам возможность хранить файлы для последующего анализа. Проверьте эту ссылку: tcpflow

другой вариант:Justsniffer

что, вероятно, лучше всего решает вашу проблему и предоставляет вам ведение журнала текстового режима и настраиваемый.


tcpdump -i wlan0 -w packet.ppp

эта команда сохраняет пакеты в пакет.ppp

после этого откройте его в Wireshark

wireshark packet.ppp

щелкните правой кнопкой мыши на пакете, а затем выберите Follow tcp packet

затем u может иметь различные форматы для просмотра данных в wireshark.

спасибо, Муникратап.