网络层libpcap上的数据包重组

时间:2016-01-06 11:06:18

标签: c tcp wireless tcp-ip libpcap

环境

根据我的理解Network layer负责重新组装碎片数据报,然后将重组数据提供给上层Transport layer

我使用libpcap收集了数据包跟踪,我想自己在第3层重新组合碎片数据包。

This link说我需要片段标记,片段偏移,标识号和缓冲区值来重新组合片段。

问题

在第一段到达时,如何知道要初始化的缓冲区大小应该是什么,以便完全重组数据报。

感谢。

1 个答案:

答案 0 :(得分:0)

IP标头仅提供片段的大小。因此,您需要保留一个最大可能IP数据包大小的缓冲区,即65535字节。只有获得最后一个片段后,才能确定完整数据包的长度。