1

Я использую tshark для создания дампа bittorrent.piece.data и, кажется, достиг некоторого внутреннего предела в tshark.

tshark -r 2-live.pcap -R "bittorrent.piece.data and ip.dst_host == 192.168.3.14" -T fields bittorrent.piece.data > dumped

Это должно выводить данные фрагмента (куски по 32 Кбайт) в виде байтов, разделенных двоеточиями, в шестнадцатеричном формате без нуля 0x, например: 7f: 00: ab: cd .... и т.д. Для 32 Кбайт.

Одна часть записывается в стандартный вывод на строку, которую я просто перенаправляю в файл, но данные фрагмента как-то усекаются до длины строки 65540, где я ожидаю 90-100 КБайт на строку / часть, учитывая 3 символа на -байт требуется форматом вывода, выбранным tshark (7f: == 1 байт)

Работая со strace, я вижу, что tshark пишет 4096 байт, а затем 61444 для каждого куска.

Я не знаю, является ли это жестким ограничением tshark в отношении вывода полей протокола, считываемого из файла pcap, или моя конфигурация Linux ограничивает это на более низком уровне. Я сильно ожидаю, что это первое, но приветствовал бы совет.

Нужно ли исправлять код wireshark/tshark, или мне не хватает командной строки или параметра конфигурации?

Примечание: я могу успешно выгрузить 32768 килобайт данных полезной нагрузки из инструмента wireshark с графическим интерфейсом, так что эти данные определенно находятся в файле pcap. Но я стремлюсь автоматизировать этот процесс, и мне нужно, чтобы tshark дал мне все байты ...

1 ответ1

0

Я бы предпочел вам записать необработанные пакетные данные в файл с ключом -w tshark (который должен работать нормально), а затем преобразовать их в желаемый формат с помощью hexdump -v -e '1/1 "%02x:"' <dump.raw >dump.hex .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .