0

我在 winpcap 上接收到以下 2 个 TCP 数据包:

http://pastebin.com/FUAs3UZ7 或 pcap 格式https://www.dropbox.com/s/0ss4j0weszy92no/SO.pcap

这两个数据包将被重新组装,但它们的 IP 标志是“010”,意思是“不分片”,并且分片偏移量为 0。它们确实有一个连续的标识号,但如果我理解正确的话,仅此而已足以定义一个分段的数据包。

Wireshark确实重新组装了这些数据包,我真的不明白为什么。

我在这里想念什么?Wireshark 如何知道重新组装这两个数据包?

4

1 回答 1

1

第一个数据包:

00 80 f4 09 e6 a5 - 以太网目标地址

00 50 56 26 ab 04 - 以太网源地址

08 00 - 以太网类型,即 IPv4

45 - IP 版本(4,用于 IPv4)和标头长度(5,用于 5*4 = 20 字节)

00 - DSCP/ECN(或 TOS,在过去)

02 40 - 总长度(576 字节)

74 ff - 识别

40 00 - 标志和片段偏移;DF,片段偏移量为 0

80 - 活着的时间

06 - 协议,即 TCP

当您说“Wireshark确实重组了这些数据包”时,您指的是IP重组还是TCP重组?这些发生在不同的层,我怀疑 Wireshark 正在做的是重新组装第一个数据包中的全部或部分 TCP 段和第二个数据包中的 TCP 段,以便为在TCP之上运行的协议制作一个数据包;TCP 是一种字节流协议,因此不能保证 TCP 段边界(在几乎所有情况下都变成链路层帧边界)对应于在 TCP 之上运行的协议的数据包边界。

于 2013-10-01T18:00:12.590 回答