我写了一个代码来嗅探网络上的数据包。然后它会根据 MAC 地址对其进行过滤并将其存储为 .pcap 文件。现在我想在代码中添加一个函数,该函数可以读取 .pcap 文件或保存嗅探数据包的对象,以再次过滤它以获取 ARP 数据包。
我尝试使用 PCAP 库的 bpf 函数,但没有帮助。这可能有任何其他方式吗?
如果你想在 python 中完成这一切,我以前用过dpkt
并且效果很好:https ://code.google.com/p/dpkt/
我不知道它是否支持 BPF。
使用 打开 pcap 文件pcap_open_offline()
,使用 编译过滤器"arp"
,使用pcap_compile()
将过滤器设置为pcap_t *
生成的过滤器pcap_setfilter()
,然后从中读取数据包pcap_t *
。