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


9

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

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

但是,帧6 不是重组PDU的TCP段。它包含完整的TCP PDU,应将其解释为FIX登录并进行解析。我检查了序列号,ACK号,IP总长度等是否都很好。

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


因此您遇到问题吗?
内森C

1
是的,我正在生成所有这些帧,并且我所做的工作显然有问题。
2013年

1
我强烈建议在您的问题中加入第4帧和第6帧(甚至相邻的帧)的显着细节。pcap文件的链接很棒,但只有极少数读者会倾向于实际下载和查看它。
天鹰

乍一看,我什么也找不到。段4未分段。第6帧来自目的地,您是说第6帧应解释为第4帧的服务器响应,即FIX登录应在此完成。对。
Soham Chakraborty

Answers:


15

主机编号分别为.76和.67有点令人麻木。

Wireshark将第6帧称为“重组PDU的TCP段”,因为在10.10.10.67上的TCP实现选择发送不带有效负载的ACK(“裸” ACK),而不包括在第6帧中发送的有效负载带有第5帧中的ACK。(这是OS / IP堆栈相关的行为。)这又触发了TCP解析器中的行为,将有效载荷从多个TCP段传递到FIX解析器。出于任何原因,FIX解剖器都无法解释第6帧。

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

Wireshark屏幕截图

这是wireshark用户列表中有关同一件事一些讨论

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.