是否可以使用 Libnet 读取 ARP 响应?我正在寻找一个跨平台库来读取用 C/C++ 编写的 ARP 套接字
最佳答案
libnet
是一个用于可移植数据包构造和注入(inject)的库。消费和解封装必须在别处完成。我建议 libtrace
或 libpcap
帮助开展这项业务。
libnet
主要用于构建和注入(inject) ARP 数据包。要了解这是如何完成的,请查看 some sample ARP code .此外,一旦数据包从有线/空中/文件中被捕获,libnet
可以帮助其可移植数据包 header 定义的 rolodex。在你的情况下,你想看看 struct libnet_arp_hdr
.您可以通过执行以下操作将捕获的数据包转换为 ARP header :
...
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:
...
关于c++ - LibNet 读取 ARP 响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26078856/