【问题标题】:BPF expression to capture only arp-reply packetsBPF 表达式仅捕获 arp-reply 数据包
【发布时间】:2017-03-04 22:33:28
【问题描述】:

是否有一个BPF 表达式只会捕获 arp-reply 数据包?目前,我正在使用 Pcap4J 和以下 BPF 表达式:

arp 和 dst 主机 host 和 ether dst mac

其中 host 是我的设备的 IP 地址,mac 是我的主网络接口的 MAC 地址。不幸的是,当数据包被捕获时,这个过滤器允许 ARP 广播请求也被捕获,所以我必须采取额外的步骤来检查 ARP 头的操作字段是 2 而不是 1。

【问题讨论】:

    标签: java packet-capture arp bpf pcap4j


    【解决方案1】:

    试试这个:

    (arp[6:2] = 2) 和 dst host host 和 ether dst mac

    【讨论】:

    • 你我的朋友,是个天才。你能解释一下6:2 索引在做什么吗?
    • 6是ARP头中的偏移量,操作字段开始的地方。 2 是字段的长度。 arp[6:2] 返回操作字段的值。
    猜你喜欢
    • 1970-01-01
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-16
    • 2018-07-27
    相关资源
    最近更新 更多