0

是否可以使用 Libnet 读取 ARP 响应?专门找一个跨平台的库来读取C/C++写的ARP套接字​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ ​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​</p>

4

1 回答 1

1

libnet是一个用于便携式数据包构建和注入的库。消费和解封装必须在别处完成。我建议libtracelibpcap帮助该业务。

libnet如果您想构建和注入 ARP 数据包,这主要是有用的。要了解这是如何完成的,请查看一些示例 ARP 代码。此外,一旦从电汇/空气/文件中捕获数据包,libnet就可以对其便携式数据包标头定义的 rolodex 有所帮助。在你的情况下,你想看看struct libnet_arp_hdr. 您可以通过执行以下操作将捕获的数据包转换为 ARP 标头:

    ...
    struct libnet_arp_hdr *arp_h;

    buf = capturepacket();
    ...
    arp_h = (struct libnet_arp_hdr *)buf + LIBNET_ETH_H;
    ...
    switch (arp_h->ar_op)
    {
        case ARPOP_REQUEST:
            ...
于 2014-09-29T17:14:00.843 回答