Я достиг трудно кодированного предела tshark?

Я использую 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 кбайт.

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

Выполнение с strace I видит, что tshark пишет 4 096 байтов и затем 61444 для каждой части.

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

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

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

1
задан 28.09.2014, 18:56

1 ответ

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

0
ответ дан 24.11.2019, 01:40

Теги

Похожие вопросы