抓包过滤器语法和实例
抓包过滤器类型 Type(host、net、port)、方向 Dir(src、dst)、协议 Proto(ether、ip、tcp、udp、http、icmp、ftp 等)、逻辑运算符(&&与、|| 或、!非)
1. 协议过滤
比较简单,直接在抓包过滤框中直接输入协议名即可。
只显示 TCP 协议的数据包列表
tcp只查看 HTTP 协议的数据包列表
http只显示 ICMP 协议的数据包列表
icmp2. IP 过滤
过滤主机为 192.168.1.104 的数据包
host 192.168.1.104过滤源主机为 192.168.1.104 的数据包
src host 192.168.1.104过滤目的主机为 192.168.1.104 的数据包
dst host 192.168.1.1043. 端口过滤
过滤端口为 80 的数据包
port 80过滤源端口为 80 的数据包
src port 80过滤目的端口为 80 的数据包
dst port 804. 逻辑运算符 &&与、|| 或、!非
抓取主机地址为 192.168.1.80、目的端口为 80 的数据包
src host 192.168.1.104 && dst port 80抓取主机为 192.168.1.104 或者 192.168.1.102 的数据包
host 192.168.1.104 || host 192.168.1.102不抓取广播数据包
!broadcast3.2 显示过滤器语法和实例
1. 比较操作符
比较操作符有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于
2. 协议过滤
比较简单,直接在 Filter 框中直接输入协议名即可。注意:协议名称需要输入小写。
只显示 TCP 协议的数据包列表
tcp只查看 HTTP 协议的数据包列表
http只显示 ICMP 协议的数据包列表
icmp
3. ip 过滤
显示源地址为 112.53.42.42 的数据包列表
ip.src ==112.53.42.42显示目标地址为 112.53.42.42 的数据包列表
ip.dst==112.53.42.42显示源 IP 地址或目标 IP 地址为 112.53.42.42 的数据包列表
ip.addr == 112.53.42.42
4. 端口过滤
显示源主机或者目的主机端口为 80 的数据包列表
tcp.port ==80只显示 TCP 协议的源主机端口为 80 的数据包列表
tcp.srcport == 80只显示 TCP 协议的目的主机端口为 80 的数据包列表
tcp.dstport == 80
5. http 模式过滤
只显示 HTTP GET 方法的
http.request.method=="GET"
6. 逻辑运算符为 and/or/not
过滤多个条件组合时,使用 and/or。
比如获取 IP 地址为 192.168.0.104 的 ICMP 数据包表达式为
ip.addr == 192.168.0.104 and icmp
7. 按照数据包内容过滤
假设我要以 ICMP 层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。

右键单击选中后出现如下界面

选中后在过滤器中显示如下

后面条件表达式就需要自己填写。如下我想过滤出 data 数据包中包含"abcd"内容的数据流。关键词是 contains,完整条件表达式为
data contains "abcd"3.3 常见用显示过滤需求及其对应表达式
1. 数据链路层
筛选 mac 地址为 04:f9:38:ad:13:26 的数据包
eth.src == 04:f9:38:ad:13:26筛选源 mac 地址为 04:f9:38:ad:13:26 的数据包-
eth.src == 04:f9:38:ad:13:262. 网络层
筛选 ip 地址为 192.168.1.1 的数据包
ip.addr == 192.168.1.1筛选 192.168.1.0 网段的数据
ip contains "192.168.1"3. 传输层
筛选端口为 80 的数据包
tcp.port == 80筛选 12345 端口和 80 端口之间的数据包
tcp.port == 12345 && tcp.port == 80筛选从 12345 端口到 80 端口的数据包
tcp.srcport == 12345 && tcp.dstport == 804. 应用层
特别说明: http 中 http.request 表示请求头中的第一行(如 GET index.jsp HTTP/1.1) http.response 表示响应头中的第一行(如 HTTP/1.1 200 OK),其他头部都用 http.header_name 形式。
筛选 url 中包含.php 的 http 数据包
http.request.uri contains ".php"筛选内容包含 username 的 http 数据包
http contains "username"








