libpcap能否重组TCP分段?

3

我需要在我的应用程序中嗅探TCP流量。

libpcap能否重新组装TCP分段,还是我必须手动完成?

主页上说:“完整的文档以man页面格式随源代码包提供”。但是,当我使用sudo apt-get install libpcap-dev后,我只找到一个名为pcap的man页面。这就是所有可用的文档吗,还是我错过了什么?

谢谢。

4个回答

4

在pcap(3)中没有提到数据包或流的重组。

如果我没记错的话,dsniff 工具使用 libnids 来重组IP数据包和TCP流。


4
三年前我使用了libpcap,我不得不自己重新组装TCP流,这并不是很困难,但充满了一些特殊情况。
如果您的项目许可证(GPLv2)可以接受,您可以查看wireshark解析器和“跟随TCP流”选项。

2

在我的略旧的系统上:

root@tower:~/desktop/ccan/ccan/tap # dpkg -L libpcap0.7-dev
/.
/usr
/usr/lib
/usr/lib/libpcap.a
/usr/include
/usr/include/net
/usr/include/net/bpf.h
/usr/include/pcap.h
/usr/include/pcap-namedb.h
/usr/share
/usr/share/man
/usr/share/man/man3
/usr/share/man/man3/pcap.3.gz

嗯,看起来它们应该在那里:

root@tower:~/desktop/ccan/ccan/tap # man 3 pcap
Reformatting pcap(3), please wait...

您应该拥有man/3文档,我查看了我的文档,格式非常糟糕。我通过apt-get source获取了库的源代码,似乎唯一捆绑的文档是man页面。

如果您尝试发送邮件列表,请确保在这里回答您的问题 :)


1
不,libpcap不会进行TCP分段重组 - libpcap只捕获数据包,但是处理数据包的数据留给应用程序或应用程序使用的库。
至于man页面,旧版本的libpcap只有pcap(3)man页面,新版本除了pcap(3PCAP)之外,还有一堆其他特定例程的man页面。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接