在工业自动化中,以太网使用方便,通讯能力强大,有着非常广泛的应用。但是以太网通讯出现故障以后,一般在排查硬件故障(网线,交换机,设备)以后,还是很难解决,这个时候,就需要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抓以太网数据包
文章出处:【微信公众号:施耐德自动化】欢迎添加关注!文章转载请注明出处。
土壤温湿度测定仪是什么,它的功能都有哪些
二维码的四种主要应用模式
Mini LED将成为此行业的下一个增长点
英特尔发布mOS操作系统,基于Linux内核适应于HPC生态系统
DCS本身问题故障实例与解决措施
如何使用WIRESHARK抓以太网数据包?
总线带宽计算公式为什么要除以8
EDA如何助力大芯片产业成功破局?
基于Profibus-Modbus网桥和PLC实现某多晶硅还原炉10KV电控系统的设计
数字时代带来全新挑战 如何树立全局的网络安全观
预防PLC使用故障我们都可以做什么?
传统的节能手段无法满足数据中心节能要求,AI提供了新的方向
最新天气传感器Pyxis 可传送超800万观测数据
psp电池充电失败原因及解决方案的详细介绍
泰景信息科技推出第三代模拟移动电视接收芯片TLG1121
高通收购Nuvia,或重塑行业领先地位
开关电源变压器计算公式的最全整理
快充叫板慢充!
与Mobileye深度整合,英特尔计划启动100辆L4无人驾驶测试车队
SSD第一季库存不降反升 DRAM产出可能为持平或负成长