libpcap IP数据包重组

问题描述:

我正在寻找一个示例代码,用libpcap *在C中进行IP数据包重组。在libpcap库中正式实现IP数据包碎片整理吗?我找到了这个建议:http://www.mail-archive.com/[email protected]/msg02991.html[this][1]libpcap IP数据包重组

是否有对IP数据包进行碎片整理的实现。

[1]:http://www.mail-archive.com/[email protected]/msg02991.html [+]

*之所以寻找示例代码仅仅是为了好玩和学习,我不想花太多的时间,为IP数据包重组编写代码。

+0

收费。寻找相同的东西。 OP,@systemsfault,你可以分享的任何进度?) – 2010-11-19 03:58:33

+0

@mhambra,请参阅libnids的代码,它似乎使用libpcap。其实我离开了这个项目,不再看,所以除了tsg的建议之外,我没有别的建议。 – systemsfault 2010-11-22 09:31:14

不,我很确定这个补丁没有写入libpcap。但是你可以使用libnids来完成ip碎片整理(也遵循TCP流)。

+0

tsg,libnids使用原始unix套接字,但我需要使用libpcap实现。因为我试图学习libpcap并试图用它来构建一个实验性应用程序。 lwip还具有数据包重组/碎片整理功能。 – systemsfault 2010-02-01 06:59:35

+0

在简单查看libnids代码之后,它似乎确实使用了libpcap。请参阅nids_pcap_handler()。 – tsg 2010-02-02 00:34:35

+1

经过短暂的观察,我可以肯定它使用pcap;但不用于重组。要重组,它似乎使用原始套接字,请参阅ip_fragment.c的源代码。 – systemsfault 2010-11-22 09:40:59

Libpcap是一个捕获原始链路层数据包的库;它打算由那些自己处理这些数据包的程序和库使用,包括IP碎片重组等。因此,它不会也不会永远做IP重组;属于一个单独的图书馆。

如果你正在寻找一个IP重组的工具,你可以结账IPDefragUtil。您还可以查看IP重组源代码herehere