Текст полезной нагрузки (поле данных) не проанализирован для повторно переданных пакетов?

Я использую tshark для вывода удобочитаемого текста из TCP-пакетов. Я делаю это с полем data.text. Например, мои переключатели tshark.exe включают:

-o data.show_as_text:TRUE -T fields -e data.text

Это прекрасно работает для большинства пакетов. Проблема возникает, когда пакет повторно передается отправителем. В этих случаях data.text всегда пуст.

При анализе трафика в Wireshark я вижу, что повторно переданные кадры TCP (они помечены как [Повторная передача TCP] и содержат примечание «Этот кадр является (предположительно) повторной передачей») вообще не включают поле данных — Wireshark не реконструирует это (хотя у меня включена опция анализа данных как текста). Вместо этого эти кадры имеют поле «Повторно переданные данные TCP-сегмента» (tcp.segment_data), которое не содержит проанализированного текста.

Это ошибка с tshark/wireshark? Почему для этих пакетов не создается поле данных? Есть ли другой способ получить текст из повторно переданных TCP-пакетов, или это мой единственный вариант вручную расшифровать шестнадцатеричный код tcp.segment_data для повторно переданных пакетов?

TCP-соединение, которое я отслеживаю, часто повторно передает пакеты, поэтому в данный момент мне не хватает важных данных.


person jramm    schedule 21.06.2018    source источник
comment
Возвращаясь, чтобы сказать, что я так и не нашел решения этой проблемы. Вместо этого я добавил в свой проект некоторый собственный код, который вручную декодирует полезную нагрузку в текст.   -  person jramm    schedule 11.06.2020


Ответы (1)


У вас включена сборка TCP? Может попробовать отключить с помощью -o tcp.desegment_tcp_streams:FALSE? Если это не поможет, возможно, в используемой вами версии Wireshark есть ошибка. Вы можете попробовать обновить до последней стабильной версии (2.6.1 на момент написания этой статьи) и повторить попытку. . Вы даже можете попробовать последний автоматический установщик, если он доступен для вашей ОС, или вы можете попробуйте собрать Wireshark из исходников. Если проблема не устранена, вы можете отправить отчет об ошибке Wireshark вместе с образцом файла захвата, чтобы проиллюстрировать эта проблема.

Вы также можете добавить фильтр отображения Wireshark в свою командную строку, чтобы ограничить вывод только теми пакетами, которые содержат data.text, например. -Y data.text.

Обратитесь к tshark справочной странице для получения дополнительной информации о -Y и других опции.

person Christopher Maynard    schedule 02.07.2018