【问题标题】:libpcap IP Packet Reassembly [closed]libpcap IP数据包重组[关闭]
【发布时间】:2011-01-11 11:33:16
【问题描述】:

我正在寻找在 C 中使用 libpcap* 进行 IP 数据包重组的示例代码。在 libpcap 库中是否正式实现了 IP 数据包碎片整理?我找到了这个提议:http://www.mail-archive.com/tcpdump-workers@lists.tcpdump.org/msg02991.html[this][1]

是否有任何 IP 数据包碎片整理的实现。

[1]:http://www.mail-archive.com/tcpdump-workers@lists.tcpdump.org/msg02991.html[+]

*寻找示例代码的原因只是为了好玩和学习,我不想花太多时间编写IP包重组代码。

【问题讨论】:

  • 赏金。寻找几乎相同的东西。 OP,@systemsfault,您可以分享任何进展吗?;)
  • @mhambra,请参阅 libnids 的代码,它似乎使用 libpcap。其实我把项目留了,不再看,所以除了tsg的建议,我没有别的建议了。

标签: c ip-address libpcap


【解决方案1】:

不,我很确定补丁没有进入 libpcap。但是您可以使用libnids 进行 ip 碎片整理(也可以跟踪 TCP 流)。

【讨论】:

  • tsg,libnids 使用原始 unix 套接字,但我需要使用 libpcap 实现。因为我正在尝试学习 libpcap 并尝试用它构建一个实验性应用程序。 lwip 还具有数据包重组/碎片整理功能。
  • 简单看了一下libnids的代码,好像确实使用了libpcap。参见例如 nids_pcap_handler()。
  • 简要看一下,我可以说是的,它使用 pcap;但不适用于重组。要重组它似乎使用原始套接字,请参阅 ip_fragment.c 的源代码。
【解决方案2】:

Libpcap 是一个用于捕获原始链路层数据包的库;它旨在供自行处理这些数据包的程序和库使用,包括 IP 片段重组等。因此,它不会也永远不会进行 IP 重组;属于单独的库。

【讨论】:

    【解决方案3】:

    如果您正在寻找进行 IP 重组的工具,您可以查看 IPDefragUtil。您还可以查看 IP 重组源代码 herehere

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 2013-07-19
      • 1970-01-01
      • 2011-02-05
      • 2012-11-17
      • 2013-05-06
      • 2013-05-23
      相关资源
      最近更新 更多