我正在尝试设置 tcpdump 以仅过滤免费的 ARP。我知道我需要搜索主机设置为 ff:ff:ff:ff:ff:ff 的数据包。我找到了 arp.opcode 参数,但我似乎无法让它工作。例如,这个:
tcpdump -i wm0 arp and arp.opcode == 2
返回一个语法错误。
任何人都可以对此有所了解吗?
谢谢,
杰森·M。
我正在尝试设置 tcpdump 以仅过滤免费的 ARP。我知道我需要搜索主机设置为 ff:ff:ff:ff:ff:ff 的数据包。我找到了 arp.opcode 参数,但我似乎无法让它工作。例如,这个:
tcpdump -i wm0 arp and arp.opcode == 2
返回一个语法错误。
任何人都可以对此有所了解吗?
谢谢,
杰森·M。
在 Unix 系统的常用 tcpdump 中,只有一些字段以其名称为已知。
尝试通过偏移量和大小指定操作码字段,并与 2(“回复”)进行比较
tcpdump -i eth99 arp and arp[6:2] == 2
对于带有操作码“回复”的广播,它应该只是免费的 ARP:
tcpdump -i eth99 broadcast and arp and arp[6:2] == 2