Wireshark网络抓包工具分析操作---详细介绍篇

前言

①Wireshark 的强大之处在于它不仅能捕获数据包,还能对捕获的数据进行进一步的分析。

②具体来说,对pcap包的分析可以分为:

  • 过滤功能——输入过滤规则,并显示符合规则的分组。
  • 统计功能——对所有/部分数据包的情况进行总览。
  • 分析功能——将某些字段作为过滤器应用&启用/停用某些协议。
  • 查找功能——在所有/部分数据包中查找特定值。
  • 查看功能——查看字段/分组/会话的字节流 。

过滤功能

1、显示过滤器

①显示过滤器是 Wirshark 最强大的分析工具之一,可以输入规则过滤出符合规则的分组,并显示在分组列表中。配合其他功能可以达成 1+1>2 的效果。

②Wireshark 的显示过滤规则由三要素组成:  字段名称 - 关系 - 值 ,其中字段名称是必须项。

③字段可以指定偏移范围。 打开显示过滤器表达式窗口,可以看到 Wireshark 支持的各种字段和逻辑关系: (善用搜索可以快速找到字段)

④上图中,显示过滤器支持的逻辑关系符号含义总结如下: (不推荐使用 != 号)

⑤每次打开表达式窗口选择字段过于麻烦,更好的方法是直接在显示过滤器栏中输入: 

(去掉引号后,过滤规则依然成立,输入框显示绿色)

⑥显示过滤器栏的颜色提示规则语法的正确程度: 

  • 绿色表示语法正确,可以应用;
  • 黄色表示语法有歧义,但可以应用;
  • 红色表示语法有问题,且无法应用。 

⑦点击显示的字段,状态栏会显示这个字段的名称。如果懒得输入字段名,可以直接在分组详情中右键字段 - 作为过滤器应用 - 选中: (规则支持与、或、非、与非、或非)

若选中栏为灰色不可选状态,点击其他区域后再次选中就行。

⑧一些常用的显示过滤规则作为参考: 

⑨常用的规则,可以直接添加到显示过滤器书签中。之后就无须输入,直接选择即可。

统计功能

1、会话/对话统计

拿到一个pcap包,不管对其中的数据是陌生还是熟悉,推荐的第一步操作是打开统计功能,查看数据包整体的会话情况。点击统计 - 会话打开会话统计窗口: 

会话统计窗口的顶部显示不同层级和协议的会话数量,在这个数据包中可以看到 TCP 流有16条而 UDP 流有14条。对比会话数量可以得到数据包的 IPv4/IPv6 占比和 TCP/UDP 协议占比情况。 

点击TCP可以查看所有TCP流的各种字段,如源IP、源端口、目的IP、目的端口、分组数量、会话流量、单向的分组数量和流量、会话开始时间、会话持续时间等等。 

会话默认按照 Address A 字段升序排列,Port A 默认大于 Port B。如果要按照某个字段大小升序或降序排列,点击该字段即可。 

考虑到抓包时手机操作系统、推送、输入法等服务会产生大量杂质流量,可以在显示过滤器栏里输入规则,点击回车后分组列表里会只显示符合规则的分组。 

上述会话统计窗口内可以看到4480端口的流量比较大,我们可以只过滤端口为4480的两条流。右键第一条流 - 作为过滤器应用 - 选中 - A↔B,可以看到显示过滤器栏中生成的规则。(过滤生效后,右下角可看到符合规则的分组数量为1551。)

显示过滤规则生效以后,在会话统计窗口内选中【显示过滤器的限制】,此时只会统计显示的分组的会话信息: (符合过滤器条件的只有一条 TCP 流)

2、IO图表

①IO图表可显示数据的的bps (每秒比特数) 和pps (每秒数据包数),可用来观察pcap包的所有分组或某些特定分组的流量变化。

②点击统计-IO图表,调出IO图表,可以观察每秒分组数量的图形化展示界面。双击Y Axis选项,可以调整Y轴的单位为packets、Bytes或Bits。 

分析功能

1、专家信息

与会话功能类似,专家信息同样可以总览整个pcap包。选择分析 - 专家信息,可调出专家信息窗口: 

类型字段有错误、警告、注意、对话四类,标识问题的严重程度:

1)  错误:标识数据包的错误,或者解析器解析错误。

2)  警告:非正常通信的异常数据包。

3)  注意:正常通信过程中的异常数据包。

4)  对话:关于正常通信的基本信息。 

概述字段可反映问题的具体内容,比如重传、中断、丢失、乱序等问题。

分组字段有Malformed、Security、Protocol、Sequence等,标识问题的具体类型。

一般来说,错误和警告可反映故障的原因,注意和对话可以辅助分析。 

2、启用的协议

①Wireshark 支持上千种协议,有些冷门的协议并非我们所需要的。同时 Wireshark 并非万能,有时可以确定是某种协议,Wireshark 却没解析出来。这时候可以查看一下协议是否被启用。 

②选择分析 - 启用的协议,可打开启用协议窗口,并启用/停用特定的协议:

查找功能

1、查找

①快捷键 Ctrl+F 可调出查找栏,可高效率地分组列表中显示的所有分组内是否有特定值。

注意:十六进制时,分组列表为灰色不可选状态

②要在分组字节流中查找字符串或者16进制值,需要先选择字符串选项,此时搜索区域选项从不可选变为可选,然后选择分组字节流选项。

③直接在搜索框输入值,点击查找即可。再次点击会跳转至下一个含有搜索值的分组。 

④若数据包中不包含该字符串,底部的状态工具栏会显示黄色闪烁: 

查看功能

1、追踪流

①选中某一帧,右键 - 追踪流 - TCP流,可以调出追踪TCP流窗口,显示这条流的所有报文的字节流。 

②上行流为红色,下行流为蓝色。可以在下拉菜单中选择同时显示上下行,或只选择单向流。 作者:咸菜一梗 https://www.bilibili.com/read/cv15352055?spm_id_from=333.999.0.0 出处:bilibili

③支持以ASCII码、原始16进制、Hex转储等编码方式显示数据。可以使用查找栏查找关键的值,选择显示原始数据时可查找16进制值,显示ASCII码时可查找字符串类型值。

2、显示分组字节

①右键特定字段,选择导出分组字节,可调出分组字节窗口。

《显示为》 选项可选择编码方式,可以根据需求选择,然后导出该字段的所有字节。明文数据可以导出ASCII码。部分压缩文件可导出原始数据。 

 

转载至:https://www.bilibili.com/read/cv15352055?spm_id_from=333.999.0.0

posted @ 2022-10-09 15:12  习久性成  阅读(2958)  评论(0编辑  收藏  举报