Включение шестнадцатеричного дампа с помощью -x
На этом этапе мы узнаем, как исследовать исходное двоичное содержимое сетевых пакетов с использованием командной строки tshark
из пакета Wireshark. Опция -x
особенно мощна, так как она показывает фактические шестнадцатеричные данные, составляющие каждый пакет, что необходимо для глубокого анализа пакетов.
При работе с сетевым трафиком пакеты по сути представляют собой просто последовательности байтов. Флаг -x
сообщает tshark
отобразить:
- Стандартную информацию о заголовке пакета (например, адреса источника и назначения)
- Полное шестнадцатеричное представление исходных данных пакета
- ASCII - интерпретацию этих данных (если это применимо)
Перед тем как продолжить, убедимся, что мы находимся в правильном рабочем каталоге, где хранится наш файл захвата пакетов:
cd ~/project
Теперь проанализируем наш файл захвата пакетов (capture.pcap
) с включенным шестнадцатеричным выводом:
tshark -r capture.pcap -x
Эта команда создает вывод, разделенный на три основных раздела для каждого пакета:
- Строка сводки, показывающая основную информацию о пакете
- Шестнадцатеричный дамп, показывающий исходные байты пакета
- ASCII - представление этих байтов (отображающее печатные символы)
Вот как выглядит типичный раздел вывода (сокращен для демонстрации):
1 0.000000 192.168.1.1 → 192.168.1.2 TCP 66 443 → 49234 [SYN] Seq=0 Win=64240 Len=0
0000 00 1a 4b 12 34 56 00 1b 11 22 33 44 08 00 45 00 ..K.4V..."3D..E.
0010 00 34 12 34 00 00 80 06 78 9a c0 a8 01 01 c0 a8 .4.4....x.......
0020 01 02 01 bb c0 52 00 00 00 00 00 00 00 00 50 02 .....R........P.
0030 fa f0 00 00 00 00 00 00 00 00 ..........
Шестнадцатеричное отображение организовано следующим образом:
- Самый левый столбец (0000, 0010 и т.д.) показывает смещение байта в шестнадцатеричном формате
- Средний раздел отображает 16 байтов данных пакета в каждой строке в шестнадцатеричном формате
- Правый раздел показывает ASCII - представление символов (непечатаемые символы отображаются в виде точек)
Этот вид является бесценным, когда вам нужно исследовать заголовки протоколов на уровне байтов или проверить точное содержимое сетевых передач.