'tcp[tcpflags] & (tcp-syn|tcp-ack) != 0'# SYN 或 ACK 包'tcp[13] & 2 != 0'# SYN 包(第13字节第2位)
按包长度过滤:
greater 1024# 长度 > 1024 字节less64# 长度 < 64 字节
四、实战场景示例
1. 基础抓包
# 捕获 eth0 接口的 HTTP 流量(显示ASCII内容)sudo tcpdump -i eth0 -A -s0 port 80# 捕获所有 ICMP 包(Ping 测试)sudo tcpdump -n icmp
2. 高级分析
# 捕获 DNS 查询和响应(UDP 53端口)sudo tcpdump -n -i any udp port 53# 捕获 TCP 三次握手(SYN包)sudo tcpdump 'tcp[tcpflags] & tcp-syn != 0 and not src net 192.168.1.0/24'# 捕获 HTTP POST 请求(匹配 "POST" 字符串)sudo tcpdump -s0 -A 'tcp port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354'
3. 文件操作
# 保存加密流量供后续分析sudo tcpdump -w ssl_traffic.pcap -s0 port 443# 读取文件并过滤 SSH 连接
tcpdump -r ssl_traffic.pcap 'tcp port 22'