如何使用WIRESHARK抓以太网数据包?

描述

在工业自动化中,以太网使用方便,通讯能力强大,有着非常广泛的应用。但是以太网通讯出现故障以后,一般在排查硬件故障(网线,交换机,设备)以后,还是很难解决,这个时候,就需要Wireshark软件来抓包,Wireshark是一个免费网络包分析软件,它能撷取网络封包,并尽可能显示出最为详细的网络封包资料。

要抓到有用的数据包还是要有正确的步骤和方法,本文是讲述如何配置工业管理型交换机的端口镜像功能,使用Wireshark来抓取2个PLC以太网通讯的数据包的方法。

一、实验设备

M580 CPU BMEH582040:

CPU自带网口,支持MODBUS TCP通讯

Quantum PLC 140CPU67160:

140NOE77101以太网模块:

也支持MODBUS TCP通讯

工业管理型交换机TCSESM083F2CUO:

2个光口,6个电口,支持端口镜像的功能

安装有Wireshark的PC,网线若干

二、网络架构

140NOE77101接入交换机端口5,BMEH582040的第一个网口接入交换机的端口6,PC接入交换机的端口8。在下文中,将介绍如何将交换机的端口6设置为端口镜像的源端口,8设置为端口镜像的目标端口。即将端口6的数据,镜像到端口8。

三、管理型交换机的设置(以施耐德的管理型交换机TCSESM083F2CUO为例)

3.1、关闭电脑的防火墙(如果有杀毒软件,电脑管家助手等,也都关闭或者退出),下图是施耐德的公司电脑关闭McAfee的防火墙的截图,仅供参考。

3.2、使用施耐德的交换机的专用工具Ethernet Switch Configurator,获取交换机的IP。

如果是未设置IP的交换机,第一次需要使用这个工具给交换机分配IP地址。

扫描IP的时候,将电脑的网线插到交换机上,然后打开软件开始扫描,注意选择电脑本地网口来扫描网络,如下图显示,扫描到这个交换机的IP地址是10.177.121.2,这个是交换机的IP地址,接入这个交换机的网络设备的IP不要和交换机的IP冲突。

自动化

3.3、将电脑的的本地网口的IP设置为10.177.121.123(和交换机一个网段),使用IE登录到交换机的配置网页,这个需要电脑安装和交换机相匹配的JAVA版本,注意TCSESM的交换机需要安装32位JAVA,然后按照下面的步骤登录到交换机的网页。

自动化

交换机默认管理员账号admin   密码private

3.4 、如图所示,在Port Mirroring里面,设置Operation 为On,图中的设置是将源端口6的发送(TX)和接收(RX)的数据,镜像到目标端口8(抓包时插电脑的端口)。端口5不用设置为源端口,因为通讯是相互的,只镜像通讯的一方就可以了。

自动化

设置完成后,load/Save变成黄色三角符号,是提示修改了配置后,需要保存到交换机,需要点击图中的Save,将配置保存到交换机。

自动化

保存完成后,Load/Save变成磁盘图标,表示保存已经完成。

自动化

四、M580使用READ_VAR和WIRTE_VAR和Quantum的PLC进行MODBUS TCP通讯

4.1、M580编写程序读写Quantum的PLC

自动化

4.2 在线监控程序程序通讯正常,recp1[1]是读取的从站的数据

自动化

4.3 打开wireshark,选择电脑的网口(不要选错了),开始抓包,确保电脑防火墙关闭

自动化

启动抓包工具后,抓取一段时间的数据包,抓到需要的数据包后,先点击红色的“停止”按钮,然后点文件,选择保存,将数据包保存为默认的pcapng格式,抓包完成。

自动化

五、数据包的简单分析

以本例中的数据包为例

自动化

第4到7行是一次16功能码写入的数据包:

第4行,M580的192.168.10.1的IP,向140NOE77101的192.168.10.222的IP,发送了TCP的请求,请求里面包含了MAC地址,IP地址,502端口等信息。

第5行,192.168.10.1向192.168.10.222发送了Modbus/TCP的请求,对方的单元ID默认是255,功能码16,写多个寄存器。寄存器的首地址,写的长度的等等。

第6行,是192.168.10.222返回的第4行的TCP请求的信息。

第7行,是192.168.10.222返回的第5行的Modbus/TCP请求的信息,通讯完成。

同样,第8到第11行,是一次03功能码读取的数据包

如果是施耐德的产品通讯出现了问题,抓到了数据包以后,可以通过施耐德400热线,联系热线工程师,将数据包发过来,施耐德有L3的高级工程师,可以通过分析抓取的数据包,来找出通讯故障的原因。

六、总结

1、抓包的时候,一定要关闭电脑的防火墙,杀毒软件,管家助手等。

2、需要有端口镜像功能设备才可以抓包,比如本例中的管理型交换机。

3、设置端口镜像时,注意选择目标端口和源端口,确保抓到的数据是有效的。

4、如果是需要诊断网络故障而抓包,那么一定要抓到发生网络故障时候的数据包,要不然是没有办法诊断的。

原文标题:使用WIRESHARK抓以太网数据包

文章出处:【微信公众号:施耐德自动化】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分