Извлечь определенное смещение байта с помощью tshark

У меня есть pcap пакетов ICMP. Я пытаюсь использовать tshark для извлечения данных полезной нагрузки, чтобы я мог извлечь определенное смещение байта.

Документация по tshark очень запутанная, особенно для меня, новичка.

Я много искал и пытаюсь собрать команду для достижения своей цели.

Я могу запустить следующую команду:

shark -r test.pcapng -Y icmp -z flow,icmp,network > output.bin

Но он выводит только список пакетов, как это было показано в Wireshark.

Например, я пытаюсь извлечь из каждого пакета следующее смещение в байтах (смещение 22):

введите здесь описание изображения

Как мне извлечь определенное смещение байта с помощью tshark?

ИЗМЕНИТЬ:

Выполнение следующей команды возвращает только часть данных полезной нагрузки, как я могу получить все это?

tshark -r test.pcapng -Y "frame.number == 13" -T fields -e data -w output.bin

введите здесь описание изображения


person juiceb0xk    schedule 21.02.2020    source источник


Ответы (1)


Я предоставил ответ по адресу https://ask.wireshark.org/question/14795/extract-specific-byte-offset-using-tshark/, но для удобства я суммирую 2 возможных решения, которые я предоставил здесь. В двух словах:

  1. Выделенный байт на изображении является полем TTL заголовка IP. Если это поле вас интересует, вы можете получить его через:

    tshark -r test.pcapng -Y "frame.number == 13" -T fields -e ip.ttl -w output.bin
    
  2. Если вы ищете более общее решение для печати 22-го байта пакета, независимо от того, является ли это полем ip.ttl или нет, вы можете использовать такое решение, как:

    tshark -r test.pcapng -Y "frame.number == 13" -x -w output.bin | grep "^0010" | cut -d ' ' -f 9
    

Второе решение выше также иллюстрирует, как вы можете сбросить все байты; это делается с помощью опции -x tshark.

person Christopher Maynard    schedule 22.02.2020