Назад | Перейти на главную страницу

Почему WireShark считает, что этот фрейм является TCP-сегментом повторно собранного PDU

Найдите небольшой файл pcap Вот иллюстрируя мою проблему.

У меня трехстороннее рукопожатие TCP, за которым следуют два входа в систему с FIX. (FIX - это протокол, используемый в торговле.) Первый вход в систему FIX (кадр 4) прекрасно интерпретируется и анализируется WireShark, но второй вход в систему (кадр 6) интерпретируется как TCP segment of a reassembled PDU.

Однако кадр 6 не TCP-сегмент повторно собранного PDU. Он содержит полный TCP PDU, который следует интерпретировать и анализировать как FIX вход в систему. Я проверил, что порядковые номера, номера ACK, общая длина IP и т. Д. В порядке.

Почему кадр 6 интерпретируется как сегмент TCP повторно собранного PDU?

Нумерация хостов 0,76 и 0,67 немного ошеломляет.

Wireshark называет фрейм 6 «TCP-сегментом повторно собранного PDU», потому что ваша реализация TCP 10.10.10.67 предпочитает отправлять ACK без полезной нагрузки («голый» ACK) вместо того, чтобы включать полезную нагрузку, которая отправляется во фрейме 6. с ACK в кадре 5. (Это поведение, зависящее от стека OS / IP.) Это, в свою очередь, запускает поведение в диссекторе TCP, чтобы передать полезные данные из нескольких сегментов TCP диссектору FIX. По какой-то причине диссектор FIX не интерпретирует кадр 6.

Если вы отключите параметр «Разрешить субдиссектору десегментировать TCP-потоки» в параметрах диссектора TCP, вы обнаружите, что Wireshark интерпретирует это по-другому:

Вот некоторое обсуждение того же самого из списка пользователей wirehark.