Modbus RTU 与 Modbus TCP 深入指南-Wireshark抓包分析实战

九、Wireshark抓包分析实战

9.1 Modbus TCP 过滤器

过滤器表达式 说明
tcp.port == 502 捕获所有Modbus TCP流量
modbus 简单过滤器
modbus.func_code == 3 只显示读保持寄存器
modbus.func_code == 6 只显示写单寄存器
modbus.trans_id == 0x0001 特定事务ID
modbus.proto_id != 0 非标准协议标识(异常)
modbus.unit_id == 1 特定单元ID
modbus.error == 1 只显示异常响应

9.2 RTU over serial 抓包(Linux)

bash 复制代码
# 方法1:创建虚拟串口用于监听
socat -d -d pty,link=/tmp/ttyV0,rawer tcp:127.0.0.1:1234

# 将设备连接到虚拟串口
# 在Wireshark中捕获 /tmp/ttyV0,使用"Serial"接口

# 方法2:使用serial2pcap工具
sudo apt-get install wireshark
sudo modprobe can
# 使用外部串口嗅探硬件(如ComSpy)

9.3 分析步骤

9.3.1 抓包命令
bash 复制代码
# 捕获到文件
sudo tcpdump -i eth0 -s 1500 -w modbus_capture.pcap 'tcp port 502'

# 同时捕获并解码
sudo tcpdump -i eth0 -A -s 1500 'tcp port 502 and host 192.168.1.100'
9.3.2 Wireshark分析流程
  1. 打开pcap文件:File → Open → modbus_capture.pcap

  2. 应用过滤器 :输入 modbus 回车

  3. 查看请求:选择一个包,展开 Modbus/TCP 部分

  4. 跟踪流:右键 → Follow → TCP Stream

  5. 查看时序:Statistics → Flow Graph

9.3.3 解读示例(读保持寄存器)
bash 复制代码
Frame 1: 192.168.1.10 → 192.168.1.100 (Modbus TCP)
Transcation ID: 0x0001
Protocol ID: 0x0000
Length: 0x0006
Unit ID: 0x01
Modbus PDU:
    Function Code: Read Holding Registers (3)
    Starting Address: 0x0000
    Quantity: 0x0002

Frame 2: 192.168.1.100 → 192.168.1.10 (Modbus TCP)
Transcation ID: 0x0001
Protocol ID: 0x0000
Length: 0x0005
Unit ID: 0x01
Modbus PDU:
    Function Code: Read Holding Registers (3)
    Byte Count: 0x04
    Register 0x0000: 0x1234
    Register 0x0001: 0x5678

9.4 常见问题诊断

现象 Wireshark显示 可能原因 解决方法
无响应 只有请求,无响应 设备IP错误、端口错误、防火墙 检查连接,ping设备
重置连接 TCP RST包 端口未监听 确认设备支持Modbus TCP
超时重传 TCP Dup ACK, Retransmission 网络丢包 检查网线、交换机
乱序响应 事务ID不匹配 设备实现有bug 忽略乱序响应,等待匹配
异常响应 Modbus Exception 请求非法 查异常码表
相关推荐
专业机床数据采集7 小时前
C# 精雕数控 数据采集 Demo|实时读取精雕机床坐标、主轴、负载、加工工时全量参数
网络·网络协议·tcp/ip·mes·精雕数控数据采集
发光小北12 小时前
双通道 CAN (FD) 转以太网如何应用?
网络协议
magic_now12 小时前
Modbus RTU 与 TCP 学习笔记
笔记·学习·tcp/ip
汤愈韬13 小时前
四种 NAT 类型详解|透彻理解 NAT 穿越原理(全锥 / 受限锥 / 端口受限锥 / 对称 NAT)
网络·网络协议·安全·网络安全·security
酉鬼女又兒15 小时前
零基础入门计算机网络:第一章概述全解(三种交换方式+八大性能指标+体系结构分层+十年考研真题精讲)
网络协议·计算机网络·考研·网络安全·职场和发展·计算机外设·求职招聘
饿了吃洗衣凝珠15 小时前
ospf笔记
网络·tcp/ip·智能路由器
战南诚15 小时前
HTTP 与 HTTPS 的区别:从原理到实战详解
网络协议·http·https
北京耐用通信16 小时前
告别掉站噩梦:耐达讯自动化PROFIBUS光纤模块的“光电翻译”魔法
人工智能·科技·网络协议·自动化·信息与通信
江华森16 小时前
TCP/IP 网络协议学习笔记(含上机实操)
网络协议·学习·tcp/ip
IP老炮不瞎唠18 小时前
批量任务vs持续监控:不同市场调研场景下的配置策略
大数据·网络·网络协议