最近刚刚接触工控协议,补习了一些modbus协议的相关知识,并尝试用Wireshark进行抓包,可以直观的观察协议数据包。接下来说一下具体的操作步骤。 首先采用的是modbus poll模拟主站设备,modbus slave模拟从站设备,安装虚拟串口软件VSPD,用于连接主站设备和从站设备。由于主站与从站在一台pc机上,此时的数据包并不经过网卡转发,使用wireshark抓取不到包。解决方法可以将数据包转发至网关,使wireshark能够有效抓包。 1.以管理员方式运行cmd 输入 route add 本机ip mask 255.255.255.255 网关ip 如下图: 2.打开vspd,创建两个虚拟串口com2和com3 。添加完毕后可在控制面板-设备管理器-端口处查看是否有com2和com3虚拟串口。(modbus ascii 和modbus rtu 若要模拟modbus tcp通讯可省略这一步) 3.打开modbus slave,点击connention 选择tcp模式,将下方id address设置为本机IP地址 4.打开modbus poll,点击connection 选择tcp模式,同样将ip 设置为本机ip 5.打开wireshark,在过滤器处输入modbus,即可进行抓包分析 6.分析结束后不要忘记删除路由,否则会损耗计算机性能。 关于modbus协议开发与wireshark相关抓包方法可以参考清华大学出版社的:《Modbus软件开发实践》和《Wireshark数据包分析实战详解》 |
|
来自: 单垚 > 《modbus协议》