Ubuntu Dumpcap支持哪些过滤表达式
导读:ubuntu dumpcap 过滤表达式支持概览 在 ubuntu 上,dumpcap 支持两类过滤表达式:捕获过滤(capture filter,使用 bpf 语法,放在 -f 参数)与显示过滤(display filter,使用 wir...
ubuntu dumpcap 过滤表达式支持概览
在 ubuntu 上,dumpcap 支持两类过滤表达式:捕获过滤(capture filter,使用 bpf 语法,放在 -f 参数)与显示过滤(display filter,使用 wireshark 显示过滤语法,放在 -y 参数)。两者语法与用途不同,不能混用;捕获过滤在抓包入环时即丢弃不匹配的数据包,性能更好;显示过滤仅影响输出展示或写入,抓包时仍接收全部匹配的数据包。
捕获过滤 bpf 语法要点与示例(-f)
- 基本原语与组合
- 协议与端口:如 tcp、udp、icmp,以及 port 80、tcp port 80 or udp port 53。
- 地址与方向:host 192.168.1.100、src host 192.168.1.100、dst host 192.168.1.100、net 10.0.0.0/8。
- 逻辑与分组:and / or / not 与括号,如 tcp and host 192.168.1.100 and port 80。
- 典型示例
- 捕获 http(端口 80):sudo dumpcap -i eth0 -w http.pcap -f “tcp port 80”
- 捕获来自某 ip 的流量:sudo dumpcap -i eth0 -w from100.pcap -f “src host 192.168.1.100”
- 捕获某网段到某主机的流量:sudo dumpcap -i eth0 -w subnet2host.pcap -f “src net 10.0.0.0/24 and dst host 192.168.1.10”
- 组合条件:sudo dumpcap -i eth0 -w complex.pcap -f “tcp and (port 80 or port 443) and host 192.168.1.100” 说明:bpf 是 libpcap/winpcap 的传统捕获过滤语法,字段名与操作较为底层,适合高性能、粗粒度过滤。
显示过滤语法要点与示例(-y)
- 语法特点
- 使用 wireshark 显示过滤语法,可直接按协议字段与标志过滤,如 http、tcp.flags.syn、http.host 等。
- 支持比较运算符(==、!=、> 、< 等)与逻辑运算(and/or/not)。
- 典型示例
- 仅显示 http 流量:sudo dumpcap -i eth0 -w http_only.pcap -y “http”
- 显示 http 请求行要素:sudo dumpcap -i eth0 -y “http.request.method == "get" or http.request.method == "post"”
- 显示某主机的 http 流量:sudo dumpcap -i eth0 -y “http and ip.addr == 192.168.1.100”
- 显示特定 tcp 标志位:sudo dumpcap -i eth0 -y “tcp.flags.syn == 1 and tcp.flags.ack == 0” 提示:显示过滤适合精细分析,但会占用更多资源;若需高性能,优先用 -f 做捕获过滤,再用 -y 做二次筛选。
实用提示
- 权限与接口:抓包通常需要管理员权限(如 sudo);可用 -i any 捕获所有接口,或指定 -i eth0 等具体接口。
- 过滤器文件:可将表达式写入文件,用 -f myfilter.txt 或 -y mydisplay.txt 加载,便于复用与版本管理。
- 名称解析:为提升性能与一致性,建议搭配 -n/-nn(不进行 dns/端口名解析)使用。
- 性能与存储:高流量环境优先用 bpf 捕获过滤;必要时结合 -c(包数限制)、-g/-w(文件轮转)控制输出规模。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Dumpcap支持哪些过滤表达式
本文地址: https://pptw.com/jishu/771380.html
