目录
1、安装wireshark
2、wireshark 过滤器比较符号
3、wireshark 过滤方式
(1) 根据 IP 地址过滤
(2) 根据端口号过滤
(3) 根据报文长度过滤
(4) HTTP协议过滤
参考文章链接:Wireshark 过滤器使用
1、安装wireshark
在命令行输入如下命令安装 wireshark
sudo apt-get install wireshark
开始安装后,如果出现如下界面,选择 “yes” 或者 “是” 继续安装。
安装完毕后直接输入如下命令来启动wireshark,需要注意的是,普通用户打开wireshark以后看不到网卡信息,必须要有root用户的权限才能看到。
sudo wireshark
双击网卡名称便可以开始捕获了。开始一般网卡都是 eth0 或者 ens33,具体名称可以使用 ifconfig 或者 ipaddr 命令查看
2、wireshark 过滤器比较符号
符号 | 符号描述 |
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
& | 按位与 |
contains | 可判断是否包含指定内容 |
and | 逻辑与 |
or | 逻辑或 |
not | 逻辑非 |
3、wireshark 过滤方式
(1) 根据 IP 地址过滤
# 保留IP为 192.168.11.128 的记录(IP地址可以源IP 或者 目标IP)
ip.addr == 192.168.11.128
ip.addr == 192.168.11.128/16
# 保留源IP为 192.168.11.128 的记录
ip.src == 192.168.11.128
# 保留目标IP为 192.168.11.128 的记录
ip.dst == 192.168.11.128
(2) 根据端口号过滤
下面以 tcp 协议为例(下面的 tcp 可以换成 udp)
# 保留报文协议为 tcp,且端口号为9090 的记录(可以是源端口 或者 目标端口)
tcp.port == 9090
# 保留报文协议为 tcp,且源端口号为9090 的记录
tcp.srcport == 9090
# 保留报文协议为 tcp,且目标端口号为9090 的记录
tcp.dstport == 9090
(3) 根据报文长度过滤
一个报文从应用层到数据链路层,每一层都有一层对应的报头
frame.len == 119 # 整个报文的长度
ip.len == 94 # 从 IP 本身到最后
udp.length != 10 # udp 报头 + udp 下面的那块数据
tcp.len >= 7 # tcp 下面的那块数据长度
(4) HTTP协议过滤
# 根据主机名过滤
http.host == xxx.com
# 根据响应结果过滤
http.response == 1
# 根据响应状态码过滤
http.response.code == 302
# 根据请求方式过滤
http.request.method==POST
# 根据cookie信息过滤
http.cookie contains xxx # 判断cookie信息中是否包含指定内容
# 根据URL过滤(获取的是域名之后的部分)
http.request.uri == "/layout"
# 根据请求体的内容类型过滤
http.content_type == "text/html"
# 根据请求体的长度过滤
http.content_length == 278