为什么WireShark认为这个帧是重组PDU的TCP段

Ran*_*lue 9 tcp wireshark

在这里找到一个小的 pcap 文件说明我的问题。

我有一个三向 TCP 握手,然后是两次 FIX 登录。(FIX 是交易中使用的协议。)第一个 FIX 登录(第 4 帧)由 WireShark 很好地解释和解析,但第二个登录(第 6 帧)被解释为TCP segment of a reassembled PDU.

然而,帧 6不是重组 PDU 的 TCP 段。它包含一个完整的 TCP PDU,应该被解释和解析为 FIX 登录。我检查过序列号、ACK号、IP总长度等都是好的。

为什么第 6 帧被解释为重组 PDU 的 TCP 段?

Eva*_*son 15

将主机编号为 0.76 和 0.67 有点让人麻木。

Wireshark 将第 6 帧称为“重组 PDU 的 TCP 段”,因为您在 10.10.10.67 上的 TCP 实现选择发送没有负载的 ACK(“裸”ACK),而不是包含在第 6 帧中发送的负载带有第 5 帧中的 ACK。(这是一种依赖于 OS/IP 堆栈的行为。)这反过来会触发 TCP 解析器中的行为,以将有效载荷从多个 TCP 段传递到 FIX 解析器。无论出于何种原因,FIX 解剖器都不会解释第 6 帧。

如果关闭 TCP 解剖器选项中的“允许子解剖器对 TCP 流进行分割”选项,您会发现 Wireshark 对此有不同的解释:

Wireshark 截图

下面是来自 wireshark-users 列表一些关于同一件事的讨论