Я использую 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 дал мне все байты ...