1.3.4 常见的显示过滤需求及其对应表达式

下面列出各层协议表达式的例子。

(1)数据链路层表达式。

筛选目标MAC地址为04:f9:38:ad:13:26的数据包—— eth.dst == 04:f9:38:ad:13:26。

筛选源MAC地址为04:f9:38:ad:13:26的数据包—— eth.src == 04:f9:38:ad:13:26。

(2)网络层表达式。

筛选IP地址为192.168.1.1的数据包—— ip.addr == 192.168.1.1。

筛选IP地址在192.168.1.1和192.168.1.2之间的数据包—— ip.addr == 192.168.1.1 && ip.addr == 192.168.1.2。

筛选IP地址从192.168.1.1到192.168.1.2的数据包—— ip.src == 192.168.1.1 && ip.dst == 192.168.1.2。

(3)传输层表达式。

筛选TCP的数据包—— tcp。

筛选除TCP以外的数据包—— !tcp。

筛选端口为80的数据包—— tcp.port == 80。

筛选源端口51933到目标端口80的数据包—— tcp.srcport == 51933 && tcp.dstport == 80。

(4)应用层表达式。

筛选URL中包含.php的http数据包——http.request.uri contains ".php"。

筛选URL中包含www.epubit.com域名的http数据包—— http.request.uri contains "www. epubit.com"。

筛选内容包含username的http数据包——http contains "username"。

筛选内容包含password的http数据包——http contains "password"。