我正在尝试创建 pcap 过滤器,仅用于过滤 ARP 回复。在wireshark中我使用
arp.opcode==2
而且它工作得很好。但是当我在 pcap_compile 函数中使用它时,它会抛出异常 - 语法错误。我也尝试了这些变体:
arp.opcode = 2
arp.opcode 2
arp opcode 2
arp.reply
arp reply
似乎没有什么效果。我尝试用谷歌搜索,但没有成功。是否有可能过滤特定的数据包?
最佳答案
根据Wikipedia中的数据包结构,我怀疑这应该可行。 :
arp [6:2] = 2
这个答案也建议了这一点:https://stackoverflow.com/a/40199540/212870
(不幸的是,一旦你找到答案,查找起来就更容易了。)
关于c++ - ARP 回复数据包的 c/c++ pcap 过滤器表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43436396/