Wireshark使用

× 文章目录
  1. 1. 0x00 前言
  2. 2. 0x01 工作流程
  3. 3. 0x02 使用技巧
    1. 3.1. TCP流绘制
    2. 3.2. 包的拼接与拆解
    3. 3.3. 相对时间显示
    4. 3.4. 协议统计分层信息
    5. 3.5. 网络会话列表
    6. 3.6. 网络端点列表
    7. 3.7. IP地址统计列表
    8. 3.8. 应用层数据包分析
    9. 3.9. 数据包着色

0x00 前言

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。大家可以用它来排查故障、分析攻击类型等,可以更快理解和发现问题

0x01 工作流程

  1. 确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据。
  2. 选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助。
  3. 使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间。
  4. 使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤。
  5. 使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示。
  6. 构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况。
  7. 重组数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是一个重组一个完整的图片或文件。由于传输的文件往往较大,所以信息分布在多个数据包中。为了能够查看到整个图片或文件,这时候就需要使用重组数据的方法来实现。

0x02 使用技巧

TCP流绘制

为了便于理解在整个TCP会话期间,TCP 的Seq号和Ack号的工作过程,可使用Wireshark的绘制流功能,选择菜单栏中的统计 ->流量图 ->TCP flows,会自动创建一个TCP流的图形。

每行代表一个数据包,左边列显示时间,中间列显示包的方向、TCP端口、包的负载长度和设置的标志位,右边列以10进制的方式显示相关Seq号/Ack号。

tcp流绘制

Wireshark默认展示的是相对Seq号/Ack号,相对Seq号/Ack号是和TCP会话的初始序列号相关联的。跟真实Seq号/Ack号相比,跟踪更小的相对Seq号/Ack号会相对容易一些。

如果想要关闭相对序列号/确认号,可以选择Wireshark菜单栏中的编辑 -> 首选项 ->protocols ->TCP,取消勾选Relative sequence number选项即可。

包的拼接与拆解

包的拆解:在数据包保存时,文件 -> 导出特定分组在对话框下面有一些保存选项,这里可以设置按什么方将包拆解。选好后填好文件名保存即可完成拆解。

包拆解

包的拼接文件 -> 合并(merge) 然后选中一个将要被拼接的包,在该对话框下面设置接接方式和显示过滤器等

包拼接

相对时间显示

以一个数据包的时间为基准,后面的数据包显示都是以这个数据包的时间作为基准,这种方式常用于对网络延时的响应判断,是判断服务器还是客户端还是线路的延迟,来解决网络速度问题。有时数据包丢失并非延迟造成,当两台主机间通信很慢时,并没有TCP 重传或者重复ACK 特征,这时需要查看初始连接握手以及接下来的两个数据包。以相对时间显示来查看数据包的延迟情况。

相对时间显示

协议统计分层信息

使用统计 –> 协议分级,此信息显示的是抓包文件包含的所有协议的树状分支。数据包通常会包含许多协议,有很多协议会在每个包中被统计。End Packets,End Bytes,End Mbit/s列是该层在抓包中作为最后一层协议的统计数据,按分组百分比参照的是相同协议层的百分比。

协议分级统计

网络会话列表

网络会话是两个指定终端之间的数据流,使用统计 —> 对话统计功能分析协议,通过对话列表,能看出很多网络问题。

第3层IP统计数据,IP会话是两个IP地址之间的所有数据流,观察源ip和目的ip分布规律可知道ip地址请求报文分布,点击每列表头可得到排序;也可知道包大小,字节大小。通过字节分布,看看是小包攻击还是应用层攻击。

第4层TCP或UDP统计数据:看看主要是tcp攻击还是udp数据包,此列表主要分析tcp的链接次数、源端口和目的端口分布规律,是固定还是随机的。比如每一个PC合理的连接数是10到20个,上百个则是不正常的。

会话列表

网络端点列表

选择菜单栏中的统计 -> 端点,分析IP地址的pps和bps,以及统计每个端点的地址、发送或收到的数据包的数量和字节。少量IP终端节点与大量TCP终端节点:可能的情况是每一台主机有很多个TCP连接,进而推测可能是网络攻击。

端点列表

IP地址统计列表

使用统计 —IP Statistics—all addresss,分析IP地址的排序和百分比

ip地址统计

应用层数据包分析

使用统计 -http-分组计数器、可以看到http get和post数据包分布规律,发现数据包大部分是get。

应用层统计

使用统计 -http-请求可以看到请求url分布过来,发现get请求的url集中在极个别的url上面,url带有明显特征。

应用层统计

数据包着色

Wireshark地彩色高亮有助于快速标识协议。将数据包进行彩色高亮,可以让你很快地讲不通协议的数据包分开,而不需要对每个数据包都查看Packet List面板中地协议列,举例来说,如果觉得网络上有一个恶意的DHCP服务器在分发IP,可以简单地修改DHCP协议的着色规则,使其呈现黄色(或者其他便于辨认地颜色)。这可以能够更快地找出所有DHCP流量,数据包分析工作更有效率。使用视图 - 着色规则来修改

着色规则