无论你是初学者还是数据包分析专家,Wrieshark都能通过丰富的功能满足你的需要。当进行数据包分析的时候,你会发现很大一部分分析工作是在捕获数据包之后进行的。通常情况下,你会在不同时间进行多次捕获,将结果保存下来,然后进行一起分析。
在这篇文章中,我们会从这些强大的功能特性中介绍一些,例如:端点和会话窗口、名称解析的细节、协议解析、数据流跟踪等等。
网络上的端点与会话
如果想要网络能正常通信,我们至少需要拥有两台设备进行数据流的交互。一台设备叫做端点,它就是指网络上能够发送数据或者接收数据的一台设备。另一台叫做会话,它就是两个端点之间的通信。
Wireshark就是根据交互的特性来标识端点会话的,特别是在多种协议之间使用的地址。
端点在OSI的不同层机上使用多种不同类型的地址,例如数据链路层,通信使用MAC地址。
两端之间的设备MAC地址独一无二,具有唯一性。
在网络上,端点使用IP地址进行通信。
现在让我们来看看,Wireshark如何在端点层面或会话层面上提供网络通信的相关信息。
查看端点统计
当我们需要分析流量时,你也许会察觉到可以将问题定位到网络中的一个特定端点上去。可以通过窗口(统计->Endpoints)查看各个端点的统计数据。
上面的信息包括每个端点地址、传输发送数据包的数量和字节数。这个窗口顶部的选项(Ethernet、IPv4、IPv6、TCP、UDP)根据协议将当前捕获文件中所支持和别识别的端点进行分类。
如果你在处理大流量且需要过滤出所显示的端点数据,那么你可以事先在Wireshark主窗口里应用显示过滤器,然后在端点窗口勾选(显示过滤器的限制)
站点窗口可以让你查看一个捕获文件里的每个端点。
查看网络会话
我们在这里打卡一个捕获文件,通过访问Wireshark的会话窗口(统计->Conversations)来显示所有在捕获文件中的会话。
乍一看,会话窗口和端点窗口看起来很像,但会话窗口展示的是一行两个地址组成的会话。
以及每个设备发送或者接收到的数据包字节数。这里的地址A代表源端点,地址B代码目的端点。窗口中列出的会话不同的协议分开,如果要查看针对每个协议的会话,可以单击其中一个窗口顶部的选项进行切换。
协议分层结构的统计
当要与未知的捕获文件打交道时,有时需要知道文件中协议的分布情况,也就是TCP、UDP、IP等所占的百分比是多少。我们通过打开Wireshark窗口(统计->协议分级)来显示。有效的帮助你的网络进行基准分析的好方法。
显示了协议的分层统计窗口给出了各种协议的分布统计情况。协议分层显示会让你直观的看到网络活动中的各种类型。
通过查看正在使用协议的分布情况,来得到网络中用户和设备的情况,例如:当你查看到HTTP流量高是,说明有很多网页浏览在进行。
你会发现需要简单的查看网段中的流量,就可以分析出这个网段属于哪个部门,IT部网段常常包含管理协议(ICMP、SNMP)的数据等等。
开启名称解析
Wireshark在显示数据包时,使用名称解析来简化分析。我们要启用这个功能,使用(编辑->首选项->Name Resolution)
这种类型名称解析使用ARP协议,将数据链路层的MAC地址,转换为网络层地址。
这种类型的名称解析尝试将一个端口号,转换成一个与其相关的名字,例如:80端口显示http,53端口显示DNS。
当你碰到一个不常见的端口而又不知道这是什么协议的时候,这个功能显得尤为便利。
这种类型的名称解析试图转换网络层的地址。将一个IP地址转换成为易读的域名。
从已捕获的DNS数据包解析出了IP地址和DNS域名之间的映射。
Use an external network name resolver
允许Wireshark为你当前的分析机器使用的外网DNS服务器生成查询。当捕获的文件里没有DNS解析数据而你还需要DNS域名解析时,这个功能就比较实用。
该参数会限制当前的一次最多DNS请求数量,当你的捕获文件将产生大量的DNS查询且你并不想让DNS查询占用过多的宽带的时候,请使用这个选项功能。
协议解析
Wireshark最大的优势就是对成上千种协议进行解析支持,Wireshark中的协议解析器允许你将数据包拆分成多个协议区段以便分析。
举个例子,Wireshark的IMAP协议解析器可能将网络上的原始数据提取出来,对其进行格式显示出来。
Wireshark使用解析器来识别每个协议并且决定该如何显示网络信息。有时候,我们会发现Wireshark在给一个数据包选择解析器时也并不是每次都能选择对,尤其是当前网络上的一个协议使用了不同标准配置时,比如非缺省端口…
当错误的应用解析器,我们可以人为干预Wireshark的选择。例如你可以强制Wireshark对这个数据包使用别的协议解析器。这个过程就做强制解码。我们选择(分析->解码为)
总结
这篇文章主要讲了Wireshark高级特性的一些功能,如:网络上的端点和会话、查看端点统计、查看网络会话统计、协议分层结构的统计、开启名称解析、协议解析等。
如果你想深入理解Wireshark中所看到的,还是建议你至少看一些简单的协议的解析器。
欢迎关注微信公众号【程序猿编码】,欢迎添加本人微信号(17865354792),交个朋友,咱们一起学习进步!