Wireshark 基础使用-使用显示过滤器查看数据
在上一篇博客 中介绍了 wireshark 的基本原理与使用以及捕获过滤器的使用。本篇博客主要介绍 Wireshark 显示过滤器的使用,以及使用 wireshark 查看网络的四层分析模型。
显示过滤器的基本使用
启动抓包后(若首次使用 wireshark,可以参考博客:启动抓包),进入到抓包页面后,点击下图中的标签(或者通过菜单:分析->disaply filters),即可打开常用的显示过滤表达式:
打开的常用的显示过滤表达式:
**注:**上图中每条显示过滤表达式,都有其对应的解释(filter expression).
显示过滤表达式的语法
与上篇介绍的捕获过滤表达式类似。显示过滤表达式也可看作原语 的组合。不同的是,显示过滤表达式的原语由“选项+选项关系+选项值“组成。如 tcp.port == 80 中,其中 tcp.port 是“选项”,“=="是选项关系,”80“是选项值,整个表达式表示的是,仅显示 tcp 端口号(包括发送、接受)为 80 的数据包(再次提醒,显示过滤表达式和捕获过滤表达式不能混淆,捕获过滤表达式的形式为:tcp port 80)。表达式中三个部分分别介绍如下:
-
选项。选项可以是协议(如tcp、udp、http等)、帧(frame)等对象。(这个在使用中参考已经有的示例或者直接输入协议名字,看也没有提示就可以了) -
选项关系。用于定义选项与选项值的关系。常见的选项关系如下: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ttb5eMcD-1646562556343)(asserts/option_relations.png)] (图表来自 wireshark 官方示例) -
选项值。选项值可以是数字(如十进制数字: 1500,十六进制数字:0x5dc,二进制数字:0b10111011100)、布尔值(如1 代表 “true”, 0 等同 “false”)、mac地址类的数字(如eth.dst == ff:ff:ff:ff:ff:ff)、ip 地址(如 ip.addr == 192.168.0.1)、字符串(如 http.request.uri == “https://www.wireshark.org/”)、时间(如 ntp.xmt ge “2020-07-04 12:34:56”)等。
多个表达式也可以通过逻辑连接符连接起来,组合出高级的显示过滤表达式:
(图表来自 wireshark 官方示例)
其中,[…]表示“子串”选择符,如 eth.src[0:3] == 00:00:83 表示从偏移地址 0 开始的 3 个字节的数据为 00:00:83 的数据包。
其中,in 表示成员选择符,常用于组成选项值得的集合。如 tcp.port in {80, 441, 8081} 指的是过滤 tcp 端口为 80、441、8081的数据包。其等同于 tcp.port == 80 || tcp.port == 441 || tcp.port == 8081。
**注意: **更多显示过滤器的使用可以参考说明 disaply filters-wiki 以及 disaply_filters_gitlab.
除了手动在输入框内输入显示过滤表达式外,还可以选中抓包数据的某个选项,右键选择“作为过滤器应用(Apply as Filter)“:
查看捕获的数据包的内容
如图,抓包的界面主要包含三个重要的窗口:
-
数据包概要信息窗口:描述每个数据包的基本信息。如图,点击某行数据,即可在下方显示该数据包的信息。 -
数据包解析窗口:显示被选中的数据包的解析信息,包含每个数据包的整体信息、数据链路层、网络层、传输层、应用层的信息,可以点击每层信息的左侧的三角形的下拉选项,打开每层信息的详细解析。 -
数据包数据窗口:显示该数据包的具体数据内容,最左侧的“0000、0010…"为该行数据在整个数据包中的整体偏移量,所有数据以 16 进制显示。 每层信息的左侧的三角形的下拉选项,打开每层信息的详细解析。 -
数据包数据窗口:显示该数据包的具体数据内容,最左侧的“0000、0010…"为该行数据在整个数据包中的整体偏移量,所有数据以 16 进制显示。 下一篇:使用 wireshark 分析网络通信-ping 通信过程. (码字不易,谢谢点赞或收藏)
|