一、根据协议进行过滤

① 以太网协议(Ethernet Protocols):
eth:以太网帧的基本过滤器,用于捕获以太网数据包。
eth.addr:根据源或目标MAC地址过滤。

② IP协议(Internet Protocol):
ip:IPv4数据包过滤器。
ipv6:IPv6数据包过滤器。

③ 传输层协议(Transport Layer Protocols):
tcp:TCP数据包过滤器。
udp:UDP数据包过滤器。

④ 应用层协议(Application Layer Protocols):
http:HTTP协议数据包过滤器。
ftp:FTP协议数据包过滤器。
smtp:SMTP协议数据包过滤器。
dns:DNS协议数据包过滤器。
ssl:SSL/TLS协议数据包过滤器。
telnet:Telnet协议数据包过滤器。

⑥ 网络层协议(Network Layer Protocols):
icmp:ICMP协议数据包过滤器。

⑦ 数据链路层协议(Data Link Layer Protocols):
arp:ARP协议数据包过滤器。

⑧ 其他协议:
smb:Server Message Block协议(用于Windows共享文件和打印机)数据包过滤器。
ssh:SSH协议数据包过滤器。
ntp:Network Time Protocol数据包过滤器。
dhcp:DHCP协议数据包过滤器。

image
image-1694827674361

WireShark的过滤器有提醒功能,比如在过滤器输入框输入http. 则会弹出http相关属性的过滤项,如果下图所示,包括查询历史。
image-1694827702779

我们在查询某个协议的属性时,最好需要熟悉该协议有哪些条件,比如过滤端口的话,可以通过tcp.port / tcp.srcport / tcp.dstport 等,所以我们在用wireshark之前最好熟悉一下相关常见的协议。

二、过滤器常见表达式

① 基本的过滤器表达式:
expression:基本的过滤器表达式,可以是协议、IP地址、端口等。
例如,要过滤所有TCP流量,可以使用表达式:tcp。

② 逻辑运算符:
and:与逻辑运算符,用于组合多个条件。
例如,要过滤源IP地址为192.168.1.100且目标端口为80的TCP流量:ip.src == 192.168.1.100 and tcp.dstport == 80。
or:或逻辑运算符,用于在多个条件之间进行选择。
例如,要过滤源IP地址为192.168.1.100或目标IP地址为192.168.1.200的数据包:ip.src == 192.168.1.100 or ip.dst == 192.168.1.200。
not:非逻辑运算符,用于否定条件。
例如,要过滤除了目标端口为80之外的所有TCP流量:not tcp.dstport == 80。

③ 比较运算符:
==:等于。
!=:不等于。
<:小于。

:大于。
<=:小于等于。
=:大于等于。

④ 特定协议的字段:
可以根据协议的字段来筛选数据包,例如:
tcp.port:根据TCP端口号。
ip.src:根据源IP地址。
http.request.method:根据HTTP请求方法。

三、常见过滤器表达式

① HTTP 协议过滤器
http.request.method:根据HTTP请求方法过滤数据包。
例如,要过滤所有HTTP GET请求:http.request.method == “GET”

http.response.code:根据HTTP响应状态码过滤数据包。
例如,要过滤所有HTTP响应状态码为200(成功)的数据包:http.response.code == 200

http.host:根据HTTP主机头信息过滤数据包。
例如,要过滤访问特定网站的流量:http.host == “www.example.com

http.request.uri:根据HTTP请求的URI(Uniform Resource Identifier)过滤数据包。
例如,要过滤包含特定URL路径的HTTP请求:http.request.uri contains “/path/to/resource”

② TCP协议过滤器
tcp.port:根据TCP端口号过滤数据包,可用于特定端口的流量分析。
例如,要过滤目标端口号为80(HTTP)的TCP流量:tcp.dstport == 80

tcp.flags:根据TCP标志位过滤数据包,允许您查找具有特定标志集的数据包。
例如,要过滤具有SYN标志的TCP连接请求:tcp.flags == 0x02

③ IP协议过滤器
ip.src:根据源IP地址过滤数据包。
ip.dst:根据目标IP地址过滤数据包。
例如,要过滤源IP地址为192.168.1.100的数据包:ip.src == 192.168.1.100

ip.version:根据IP协议版本过滤数据包,可用于区分IPv4和IPv6流量。
例如,要过滤IPv6流量:ip.version == 6

打赏
支付宝 微信
上一篇 下一篇