首页/网络/网络排障速查/捕获过滤器与显示过滤器区别

捕获过滤器与显示过滤器区别

两套过滤器别混用:捕获过滤器(BPF,与 tcpdump 同语法)在抓取时生效、决定抓什么;显示过滤器在已抓数据上生效、随时可改,但救不回没抓到的包。

网络排障速查网络更新于 2026-10-12

对比

方面捕获过滤器(Capture Filter)显示过滤器(Display Filter)
语法BPF:tcp port 80 and host 10.0.0.5字段式:tcp.port == 80 && ip.addr == 10.0.0.5
生效时机抓包时(影响文件大小与丢包率)加载后(不影响已抓内容)
可否后改不可以随时可以
典型用途生产环境长时间抓取分析已有 pcap

对应写法

对应写法
# 捕获过滤器(与 tcpdump 完全一致):
tcp port 443 and host 10.0.0.5
# 显示过滤器(Wireshark 语法):
tcp.port == 443 && ip.addr == 10.0.0.5
# tshark 同时使用两者:
tshark -i eth0 -f 'tcp port 443' -Y 'tls.handshake.type == 1'
分析时发现「要的包没抓到」基本是捕获过滤器写窄了:下次放宽捕获条件,用显示过滤器做精筛。

易错点

  • 把显示过滤器语法填进捕获过滤器输入框:Wireshark 直接报语法错误或抓不到包
  • 在生产抓取时把捕获条件设得过窄,事后无法补救

数据来源与参考

  • Wireshark User's Guide:Capture Filters vs Display Filters
  • pcap-filter(7):BPF 语法

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌