首页/网络/抓包与流量分析速查/BPF 过滤表达式基础

BPF 过滤表达式基础

tcpdump/pcap-filter 使用的表达式由"限定符 + 原语"构成:类型(host/net/port/portrange)、方向(src/dst)、协议(tcp/udp/ip6)三类限定符可组合出精确匹配;理解结构就不再靠试错写过滤器。

用途读懂并组合 pcap-filter 表达式
结构限定符(类型+方向+协议) 原语 [逻辑连接]

限定符对照

类别取值说明
类型host / net / port / portrange匹配对象:地址、网段、端口、端口区间
方向src / dst / src or dst(默认)限定流量方向
协议tcp / udp / ip / ip6 / arp / ether限定协议层

组合示例

组合示例
tcpdump -i eth0 -nn 'tcp src port 443 and src net 203.0.113.0/24'
tcpdump -i eth0 -nn 'udp dst portrange 5000-5100'
写复杂过滤器时先在纸上拆成"谁的、哪方向、什么协议、哪个端口",逐项翻译成原语。

易错点

  • 三个同类限定符不可叠加(如 tcp tcp),但一个原语可带一类型一方向一协议
  • 表达式写在命令行最后,且必须与选项区分开;用引号包裹表达式可避免 shell 误解释

数据来源与参考

  • man 8 pcap-filter(表达式语法)
  • pcap-filter 手册(tcpdump.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌