Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
网络层libpcap上的数据包重组_C_Tcp_Wireless_Tcp Ip_Libpcap - Fatal编程技术网

网络层libpcap上的数据包重组

网络层libpcap上的数据包重组,c,tcp,wireless,tcp-ip,libpcap,C,Tcp,Wireless,Tcp Ip,Libpcap,环境 据我了解,网络层负责重新组装碎片数据报,然后将重新组装的数据提供给上层的传输层 我已经使用libpcap收集了数据包跟踪,我想自己在第3层重新组装碎片数据包 表示我需要片段标志、片段偏移量、标识号和缓冲区值,以便重新组装片段 问题 在第一段到达时,如何知道为完成数据报的重新组装而初始化的缓冲区的大小 谢谢 IP头只提供片段的大小。因此,您需要保留一个最大可能IP数据包大小的缓冲区,即65535字节。只有得到最后一个片段,才能确定完整数据包的长度

环境

据我了解,
网络层
负责重新组装碎片数据报,然后将重新组装的数据提供给上层的
传输层

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

表示我需要片段标志、片段偏移量、标识号和缓冲区值,以便重新组装片段

问题

在第一段到达时,如何知道为完成数据报的重新组装而初始化的缓冲区的大小


谢谢

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