使用wireshark进行网络抓包(IP测量探索八)
大家好,很高兴又见面了,我们将分上下两期来简单介绍使用Wireshark软件对ST 2110网络进行抓包分析,主要是从IP领域的视角对ST 2110系统进行测量和分析,在示波器的基础上,增加了从多个数据来源获取相同的数据,为问题的定位和判断提供一个新的角度,减少误差,增加数据的客观性和严谨性。主要内容有:
- Wireshark的介绍
- 安装2110-20,2110-30和2110-40的剖析器插件
- 网络抓包与端口镜像
- 分析PCAP
- PTP、NMOS、2110协议的抓包分析
- 使用Wireshark进行问题定位
1 Wireshark简介
1.1 Wireshark简介
Wireshark是一个开源的网络数据包分析器,在GNU GPL通用许可证的保障范围底下,使用者可以以免费的途径取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。网络数据包分析器可以尽可能详细地展示捕获的数据包内容。我们可以把网络包分析器看作是一个测量设备,用于检查网络内发生的情况,就像用电压表检查电线,用示波器检查SDI信号的情况一样,Wireshark会更加详细的展示网络内发生的状况。
1.2 为什么要使用Wireshark?
Wireshark作为业内久负盛名的网络分析软件,功能强大,在互联网行业应用广泛,网络管理员使用它来排除网络问题,网络安全工程师用它来检查安全问题,QA工程师用它来验证网络应用程序,开发人员利用它调试协议实现,同时还能够用它学习网络协议内部构件。作为广电工程师,我们最普遍使用的工具是示波器,随着IP化的推进,虽然示波器也集成了IP解析能力,但是IP视音频身处网络中,面对复杂的网络问题,IP示波器还需要好助手,以便提供更全面的检测。这个时候Wireshark的优势就能体现出来,因为我们可以利用它来解读包头信息,分析端口对接的过程,解析报文数据内容,统计数据流量的情况,这些能够更好地帮我们定位问题出现的节点。
图125 Wireshark协议分级统计界面截图
这里简单列举了在广电领域下Wireshark和IP示波器的区别:
表7 Wireshark与IP示波器对比
(1) Wireshark相较于IP示波器能够适应各种不同的网络环境,IP示波器是广电行业专业的检查工具,侧重于局部深度分析,主要用来监测核心的广电行业网络中的视音频和同步问题。Wireshark是IT行业通用的专业数据报文监测工具,他不仅能够对广电行业的数据网络进行分析,还能对其他IT网络中的协议对接,数据传输,带宽占用进行分析。
图126 Wireshark UDP多播流统计界面截图
(2) IP示波器侧重支持SMPTE 2110系列和SMPTE 2022系列的广电行业的音视频协议,并对他们进行分析和重现,对于不支持的网络协议的数据,IP示波器就无能为力了。Wireshark由于开源了软件,任何开发者都可以将自己的协议添加上去,所以对绝大部分协议都支持,网络上发生了数据包传输,很难逃得过Wireshark的检查。
(3) 在检查音视频问题的时候,IP示波器通过编解码器将IP数据还原成音视频,我们可以直观的看到或听到视频音频中的问题,可以通过直观的现象回溯问题出现的原因,但是Wireshark没有编解码器,只能将数据包以报文的形式展现出来,包头信息可以直观的看到,但是音视频数据需要借助其他软件或者插件才能够查看到内容。
(4) 对于转播活动的监测来说,IP示波器可以做到实时监测,出现问题直接反应到界面上,方便技监人员监看。Wireshark则需要较长时间的学习过程,虽然界面比较简单,但是菜单功能较多,而且更多是以报文的形式呈现出来的,实时监测难度较大,往往使用Wireshark作为出现问题后定位原因的一种辅助手段。
1.3 Wireshark的安装
Wireshark官网提供Windows安装版,免安装版,以及MAC版等多个版本的安装包下载,链接如下:
https://www.wireshark.org/#download
可以根据自己设备的系统以及需求选择安装包,如果是Linux系统,可以到对应Linux的应用商店进行下载。软件的安装过程比较简单,这里就不多做介绍了。
如果想要分析ST 2110的数据,我们还需要安装几个Wireshark的插件,分别来剖析ST 2110-20,-30和 -40的数据,这几个插件在GitHub上开源,我们可以下载下来进行学习,如果希望进行商业化的使用,还请联系开发者进一步咨询。下载链接如下:
https://github.com/NEOAdvancedTechnology/smpte2110-20-dissector
https://github.com/networkedaudio/smpte2110-30-dissector
https://github.com/NEOAdvancedTechnology/smpte2110-40-dissector
简单介绍下这几个插件的安装,方便大家快速上手。首先需要打开:帮助-关于Wireshark-文件夹
图127 Wireshark截图
图128 Wireshark文件夹截图
打开对应的文件夹位置,将下载的lua文件放到该文件夹,然后在分析中选择重新加载lua插件,如下
图129 Wireshark截图
这样就可以在插件中看到新添加的插件:
图130 Wireshark 插件截图
在启用的协议中也可以看到这三个。
图131 Wireshark协议启用截图
这里还需要做个操作,就是在编辑—首选项—protocols中设置对应的payload type
图132 设置-20 payload type
图133 设置-30 payload type
设置后我们就可以使用Wireshark来分析解析2110的数据了。
2、Wireshark抓包和分析
2.1 主动抓包
这里使用笔者自己的电脑进行抓包演示,打开界面就能看到可以选择相应的网口,双击就可以开始抓包。
图134 Wireshark界面截图
图135 Wireshark抓包界面截图
在ST2110系统中,想要分析IP网络中发生了什么,我们就需要将设备连接到核心交换机上,需要安装Wireshark的服务器具有25G接口或者100G接口,同时还需要在交换机上端口镜像的操作,这样才能检查到出问题的端口的实际情况。
2.2 端口镜像
实时抓包分析需要在交换机上找到相应的数据流量进行分析,但是一般在实际的网络环境中,路由错综复杂,交换机内各种数据包汇集,很难从茫茫数据中攫取到需要的信息。此时,交换机上一项非常实用的功能为我们抓包提供了巨大的帮助,这项功能就是端口镜像,目前我们常用的交换机均具备端口镜像的功能,端口镜像功能开启后,目的端的接口不能正常的收发数据,不能作为普通的通信端口使用,但是却正方便我们使用Wireshark来进行抓包。以下我们以思科交换机和华为交换机举例:
图136 端口镜像示意
- 思科交换机端口镜像
思科交换机端口镜像有三种类型,分别是SPAN、RSPAN、VSPAN,SPAN指源和目的端口都在同一台机的模式,RSPAN指源和目的端口不在同一台机,VSPAN则可以镜像整个或数个VLAN到一个目的端口,我们在系统中常用的是SPAN的模式。
SPAN主要使用两条命令来开启端口镜像,例如使用端口1来镜像端口3,命令如下:
针对源接口
#monitor session 1 source interface Gi1/0/3
针对目的端口
#monitor session 1 destination interface Gi1/0/1
删除端口镜像端口:
#no monitor session 1
配置多条端口镜像时,只需增加session number即可。
- 华为交换机端口镜像
华为交换机上端口镜像也有多种模式,1对1模式,1对N模式、N对1模式,二层远程观察,三层远程观察等等,我们这里就拿1对1模式来简单举例。以下为将端口1/0/2的入向报文(接受的报文)复制到观察口1/0/1上,1/0/1端口与Wireshark主机连接。
进入全局模式
#<HUAWEI> system-view
配置镜像端口
#[HUAWEI] observe-port 1 interface gigabitethernet 1/0/1
进入被监测的端口
#[HUAWEI] interface gigabitethernet 1/0/2
配置入向报文复制给镜像端口
#[HUAWEI-GigabitEthernet1/0/2]port-mirroring to observe-port 1 inbound
该命令中,inbound表示流量的方向是入向的,也就是设备给到交换机的,如果只想镜像出口流量,则将inbound改为outbound,如果双向的流量都想要抓取,需要将inbound改为both 。
图137 华为交换机配置界面截图
配置完交换机,我们就可以开开心心地在Wireshark中进行抓包工作了。
图138 Wireshark界面截图
以下我们简单介绍两个Wireshark的抓包技巧,方便大家使用
(1) 使用过滤器筛选出想要的包
服务器上的网络连接可能非常多,而我们只需要其中的一小部分。Wireshark中的过滤器可以很好的帮我们实现这一目的,例如系统中只有一个设备异常,那么只需要筛选出某个设备发出来的数据包,就可以来分析问题,这时候可以在过滤器中设置ip host==IP地址,那么就会只接收该IP地址的数据包了,如果问题定位的更详细,还可以指定port端口,只筛选出该端口发出来的数据包。可以参考下图。
图139 过滤器设置截图
除此以外,还有一种情况就是系统中某个连接普遍出现了问题,影响了所有的设备,例如PTP,这种情况下,可以针对某个协议名称进行过滤。如下图,可以直接在过滤器中输入协议名称,就可以筛选出所有和PTP有关的数据包。
图140 筛选PTP报文截图
(2) 可以给不同类型的网络包自定义颜色
在Wireshark中可以给着重关注的网络包标记颜色,例如我们的IP系统中着重关注PTP的信息,可以给PTP信息单独标记一种醒目的颜色以方便查看。网络环境中协议很多数不胜数,工程师根据自己定义好的配色方案可以一目了然的找到自己想要的数据包,省时省力。
图141 设置报文颜色界面截图
2.3 分析PCAP
很多情况下,我们安装Wireshark的笔记本或者服务器并不具备10G,25G的接入能力,但是我们还是需要分析IP流数据包中的问题,这个时候我们可以借助系统中的IP示波器,例如prism和LV5600,通过他们抓取流数据,并保存成PCAP文件,来对流数据包进行问题分析。之前的文章中介绍过的EBU IO list工具也是分析PCAP文件来进行数据分析,这个时候可以参考多个软件的结果,来分析定位问题。下期文末为大家分享了几个我们抓取的PCAP文件,如果有兴趣可以下载学习。
图142 prism示波器截PCAP设置界面
图143 LV5600示波器截PCAP设置界面
图144 EBU IO LIST界面
下期我们将介绍报文内容解析以及如何使用Wireshark进行问题定位。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com