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