【问题标题】:BPF filter source address == transmission addressBPF过滤源地址==传输地址
【发布时间】:2018-10-31 09:59:00
【问题描述】:

对于仅接收源 MAC 地址等于传输 MAC 地址的数据包的正确 BPF 过滤器是什么?

查看文档,这些字段似乎应该可以通过 wlan[21:12]wlan.addr2 获得,但我无法让它们工作。

【问题讨论】:

  • 您是在寻找一个匹配的特定地址,还是无论地址如何都匹配的所有数据包?
  • 所有传输地址与源地址相同的数据包。

标签: wireshark packet packet-sniffers tshark bpf


【解决方案1】:

根据pcap-filter manpage,tshark 或 Wireshark 的捕获过滤器不支持相互比较数据包字段

但是,您可以使用 显示过滤器(Wireshark 中的顶部栏,一旦开始捕获):

wlan.sa == wlan.ta

要使用捕获过滤器检查 DS 标志是否等于 0x1,您可以执行以下操作:

wlan[1] & 3 = 1

它检索 wlan 标头的第二个字节 (wlan[1]),屏蔽低 2 位 (& 3),并将结果与​​ 1 进行比较。

【讨论】:

  • 不幸的是,我需要它作为捕获过滤器。经过更多研究,我发现 DS 标志 = 0x1 意味着 SA == TA。但是,我仍在努力使用 wlan[2:2] == 0x1 语法。
  • 哦,很好。我不知道。我已更新我的答案以显示如何检查 DS 标志。
  • 很好的答案!只需确保为复制粘贴的任何人输入 ==。
  • "==" 不应该是必要的。
猜你喜欢
  • 2016-12-04
  • 1970-01-01
  • 2022-12-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-21
相关资源
最近更新 更多