在Debian下,dumpcap支持的过滤器主要包括以下几类:
基础过滤器
- 类型过滤器:
ether
:以太网帧。ip
:IP数据包。tcp
:TCP段。udp
:UDP数据包。icmp
:ICMP消息。
- 协议字段过滤器:
src
和dst
:源地址和目的地址。port
:端口号。proto
:协议类型(如TCP、UDP等)。length
:数据包长度。
- 时间过滤器:
frame.time
:帧的时间戳。tcp.stream.time
:TCP流的时间戳。
- 逻辑运算符:
and
、or
、not
:用于组合多个条件。
- 比较运算符:
==
、!=
、<
、>
、<=
、>=
:用于数值比较。
- 范围过滤器:
range
:指定一个值的范围。
- 正则表达式:
regexp
:使用正则表达式匹配字符串。
高级过滤器
- 协议特定过滤器:
http
:HTTP请求和响应。dns
:DNS查询和响应。ssl
:SSL/TLS握手和数据传输。
- 内容过滤器:
contains
:检查数据包内容是否包含特定字符串。matches
:使用正则表达式匹配数据包内容。
- 统计过滤器:
count
:计算满足条件的数据包数量。avg
、min
、max
:计算平均值、最小值和最大值。
- 流量控制过滤器:
rate
:限制数据包捕获速率。burst
:设置突发流量阈值。
示例过滤器
- 捕获所有TCP流量:
tcp
- 捕获源端口为80的HTTP请求:
tcp.port == 80 and http
- 捕获在特定时间段内的数据包:
frame.time >= 1633024800 and frame.time <= 1633028400
- 捕获包含特定字符串的数据包:
data contains "error"
注意事项
- 过滤器的具体语法可能因dumpcap版本而异,建议查阅官方文档或使用
dumpcap -G
命令查看帮助信息。 - 在使用高级过滤器时,可能需要启用相应的协议解析器或插件。
总之,dumpcap提供了丰富的过滤器选项,可以根据实际需求灵活组合使用,以实现精确的数据包捕获和分析。