Wireshark抓包Unterteilung析Modbus TCP/RTUMeldung完全指南

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

Wireshark抓包Unterteilung析Modbus TCP/RTUMeldung完全指南缩略图
🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.
本文目录
  1. 1. 为什么用 Wireshark Unterteilung析 Modbus?
  2. 2. Wireshark 对 Das Modbus-Protokoll的支持
  3. 3. 安装 Wireshark
  4. 4. Linux(Ubuntu/Debian)
  5. 5. Windows
  6. 6. macOS
  7. 7. 抓取 Modbus TCP Meldung
  8. 8. Linux Der Server端抓包
  9. 9. Windows 端直接抓包
  10. 10. Modbus TCP Meldung详解
  11. 11. Wireshark 显示过滤器技巧
  12. 12. 实战案例:用 Wireshark 排查 Modbus Kommunikation故障
  13. 13. 案例1:读不zuDaten——Von der Station无Antwort
  14. 14. 案例2:返回Ungewöhnlicher Code 02(Illegale Datenadressen)
  15. 15. 案例3:Daten值异常——Befehlseite问题
  16. 16. 抓取 Modbus RTU(Die Serie)Meldung
  17. 17. 方案1:USB 转Die Serie + USBPcap
  18. 18. 方案2:Die Serie监控软件
  19. 19. 方案3:在 RTU 转 TCP 网关上抓包
  20. 20. Wireshark Modbus Unterteilung析进阶技巧
  21. 21. 统计Unterteilung析:I/O 图表
  22. 22. Überprüfenvollständig的 TCP 流
  23. 23. Exportieren Modbus Daten
  24. 24. 总结

为什么用 Wireshark Unterteilung析 Modbus?

Wireshark 是全球最流行的开源网络VereinbarungUnterteilung析器,由 Gerald Combs 于 1998 Jahr创建,现由 Wireshark 基金会维护。官网 www.wireshark.org。它内置了vollständig的 Modbus TCP VereinbarungAnalyse器(dissector),可以自动识别和Analyse Modbus TCP Meldung中的 MBAP 头、Funktionscode、Datenzone和Ungewöhnlicher Code。对于 Modbus RTU Meldung,Wireshark 也可以通过 USB 转Die Serie适配器或Fern entfernt抓包的方式进行Unterteilung析。

在Industrielle Automatisierung的Tests现场,最Häufig的痛点就是”Kommunikation不通但不知道为什么”。Wireshark 能让你看zu总线上的每一帧Daten——Bitte发了什么、Antwort回了什么、超时发生在哪个环节、Ungewöhnlicher CodeWas ist das?——把看不见的Kommunikation过程变成可追踪的证据链。

Wireshark 对 Das Modbus-Protokoll的支持

Wireshark 的 Das Modbus-ProtokollAnalyse器位于 epan/dissectors/packet-modbus.c,能够自动识别以下内容:

  • Modbus/TCP:默认端口 502,自动识别 MBAP 头(Transaction ID、Protocol ID、Length、Unit ID)和各Funktionscode的 PDU
  • FunktionscodeAnalyse:FC01-FC06、FC15-FC16、FC23 等常用Funktionscode的Bitte和AntwortDas Format
  • Ungewöhnlicher Code:自动标注Ungewöhnliche Reaktion,并显示Ungewöhnlicher Code含义(01=Illegale Funktionen、02=Illegale Datenadressen、03=Illegale Datenwerte、04=Ausfall aus der Station等)
  • Modbus RTU over TCP:部Unterteilung网关将 RTU 帧封装在 TCP 中传输,Wireshark 也能Analyse

安装 Wireshark

Linux(Ubuntu/Debian)

sudo apt-get update
sudo apt-get install wireshark

# 允许非 root 用户抓包
sudo usermod -a -G wireshark $USER
# 注销后重新Registrierung生效

Windows

官网Download页面 Download Windows 安装包。安装时需勾选 Npcap(Windows 抓包驱动)和 USBPcap(如需抓 USB 转Seriöse Daten)。

macOS

brew install --cask wireshark

抓取 Modbus TCP Meldung

Linux Der Server端抓包

如果 Modbus TCP Kommunikation发生在 Linux Der Server或网关上,直接用 tcpdump 抓包效率最高:

# 抓取所有目标端口为 502 的 TCP Meldung(Modbus TCP 默认端口)
sudo tcpdump -i eth0 -w modbus_capture.pcap 'tcp port 502'

# 只抓指定 IP Ausrüstung的Kommunikation
sudo tcpdump -i eth0 -w modbus_capture.pcap 'host 192.168.1.100 and tcp port 502'

# 按 Ctrl+C Stopp!抓包
# 将 .pcap 文件传输zu有 Wireshark 的电脑上Unterteilung析

Windows 端直接抓包

Öffnen. Wireshark,Auswahl与目标AusrüstungKommunikation的网卡(如Ethernet卡或 Wi-Fi),在 Capture Filter 中输入 tcp port 502,Klick auf开始抓包。此时Betrieb你的 Modbus Hauptstation程序(如 Modbus Poll),即可捕获zuvollständig的 Modbus TCP Kommunikation过程。

Modbus TCP Meldung详解

在 Wireshark 中选中一条 Modbus TCP Meldung,展开 “Modbus/TCP” 层。一个典型的Lesen Sie das RegisterBitteMeldung结构如下:

FeldAnzahl der BytesBeispiel值说明
Transaction ID20x0001Transaktionsidentifikator,客户端自增,服务端原样返回
Protocol ID20x0000Vereinbarung标识,Modbus 固定为 0
Length20x0006后续Anzahl der Bytes(Unit ID + PDU)
Unit ID10x01von der Station Adresse(Slave ID)
Function Code10x03Funktionscode(03=Lesen Sie das Register)
Starting Address20x0000Start-Register - Adresse
Quantity20x000ALesen der Menge(10个)

对应的AntwortMeldung包含同样的 MBAP 头 + Funktionscode 0x03 + Bytes计数 0x14(20Bytes=10ein Register.)+ Datenzone。

Wireshark 显示过滤器技巧

显示过滤器(Display Filter)用于在已抓取的Meldung中快速筛选目标Daten。以下是常用的 Modbus Related过滤器:

# 筛选所有 Das Modbus-ProtokollMeldung
modbus

# 筛选指定Funktionscode(如 03 Lesen Sie das Register)
modbus.func_code == 3

# 筛选Ungewöhnliche Reaktion
modbus.exception_code

# 筛选指定von der Station Adresse
modbus.unit_id == 1

# 筛选包含异常的Meldung
modbus.exception_code != 0

# 组合过滤:Von der Station 1 的Funktionscode 16(写多Register.)
modbus.unit_id == 1 and modbus.func_code == 16

# 按 IP Adresse和 Modbus Funktionscode过滤
ip.addr == 192.168.1.100 and modbus.func_code == 3

# 只看 MBAP 头 Transaction ID 为 5 的Bitte-Antwort对
modbus.trans_id == 5

实战案例:用 Wireshark 排查 Modbus Kommunikation故障

案例1:读不zuDaten——Von der Station无Antwort

抓包后发现只有Bitte帧没有Antwort帧(或出现 TCP RST/重传),说明Von der StationAusrüstung没有Richtig.Antwort。检查方法:

  1. Bestätigen Der TCP-Port(默认 502)在Von der StationAusrüstung上已开放
  2. 检查von der Station Adresse(Unit ID)是否与Bitte中的一致
  3. Überprüfen是否有 TCP 层异常(重传、RST),如有则说明网络层有问题

案例2:返回Ungewöhnlicher Code 02(Illegale Datenadressen)

Wireshark 可以看zuStartadresse in der Anfrage + Anzahl超出了Von der Station的Register.范围。在 Wireshark 中右键点BitteMeldung → “Follow → TCP Stream”,可以看zuvollständig的Bitte和Ungewöhnliche Reaktion对话。

案例3:Daten值异常——Befehlseite问题

Lesenzu的 32 位浮点数在 Wireshark 中显示正常,但在Hauptstation程序中显示为 NaN 或极大值。这说明Kommunikation层没问题,是Hauptstation程序的BefehlseiteAnalyse有误。可以在 Wireshark 中手动Berechnung验证:右键Registerdaten → “Copy → Value” 获取16. System原始值,用 IEEE 754 Rechner在线验证。

抓取 Modbus RTU(Die Serie)Meldung

Modbus RTU 通过 RS-232 或 RS-485 物理层传输,不能直接用 Wireshark 抓取。Häufig方案:

方案1:USB 转Die Serie + USBPcap

在 Windows 上安装 USBPcap(Wireshark 安装时可选组件),可以抓取 USB 转Serielle Ausrüstung上的Originaldaten。但需要自行Analyse RTU 帧(Adresse + Funktionscode + Daten + CRC)。

方案2:Die Serie监控软件

Empfohlene Anwendung专门的Die Serie监控Werkzeuge:

  • Serial Port Monitor(Windows 商业软件):可直接监控和Analyse Modbus RTU 帧
  • CAS Modbus RTU Parser:kostenlosOnline-Tools,粘贴16. SystemBytes自动Analyse
  • PortMon(Windows kostenlos):微软出品的底层Die Serie监控Werkzeuge

方案3:在 RTU 转 TCP 网关上抓包

如果现场使用了Seriöser Server(如 MOXA NPort),可以在 TCP 侧用 Wireshark 抓包,Meldung内容即为 RTU 帧。

Wireshark Modbus Unterteilung析进阶技巧

统计Unterteilung析:I/O 图表

菜单 → Statistics → I/O Graph,设置过滤器为 modbus,可以观察zu Modbus Kommunikation的频率和ZeitUnterteilung布。如果发现周期性尖峰或间隙,可能是轮询Parameter配置不当。

Überprüfenvollständig的 TCP 流

右键任意 Modbus TCP Meldung → Follow → TCP Stream,可以Überprüfen一次vollständig TCP Verbindung中所有 Modbus Bitte和Antwort的Originaldaten。这是排查”Daten lesen错位”问题的利器。

Exportieren Modbus Daten

File → Export Packet Dissections → As CSV,可以将所有解码后的 Modbus MeldungExportieren为 CSV Das Format,方便用 Excel 或 Python 进行批QuantitätUnterteilung析。

总结

Wireshark 是 Das Modbus-ProtokollTests中不可替代的Werkzeuge。它能够将”看不见”的Kommunikation过程可视化,帮助工程师精准定位问题发生在Vereinbarung栈的哪一层——是 TCP-Verbindung hergestellt失败、MBAP 头FeldFehler.、Funktionscode不匹配、Register-Adresse越界还是DatenBefehlseiteAnalyseFehler.。对于任何从事 Modbus Kommunikation开发和Tests的工程师,掌握 Wireshark 抓包Unterteilung析是必备技能。

Techniken术语(共 7 个)—— Klick auf展开
Modbus RTU基于串行链路的ModbusVereinbarung,使用BinärsystemCodierung和CRC-Test
Modbus TCP基于Ethernet的ModbusVereinbarung变体,使用TCP/IP传输
FunktionscodeModbusFunktionscode指定读/写OperationenTypus,如01读线圈、03Lesen Sie das Register
Register.Modbus Register.存储Daten单元,Unterteilung线圈/离散输入/保持/输入Register.四类
网关Vereinbarung转换Ausrüstung,如 Modbus RTU ↔ Modbus TCP
Die SerieBerechnung机与外部Ausrüstung进行串行Kommunikation的物理Schnittstelle
保持Register.Modbus 16位可读Schreiben von Daten,Adresse从40001开始
来源/Werkzeuge信息 —— Klick auf展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.ModbusKommunikationsprotokoll Technologie Gemeinschaft Klassifizierung Modbus Debugging-Tools 字数 3316 字 · 阅读约 9 Unterteilung钟 更新 2026-06-26 永久链接 https://www.modbus.cn/43929.html
Empfohlene Werkzeuge: Modbus Debugger-Assistent WeChat-Applet
Modbus Chinesisches Netzwerk官方推出的Modbus Debugging-Tools,支持 Modbus RTU/TCP 实时KommunikationTests、Register.读写、线圈控制、Daten监控和MeldungUnterteilung析。 keine Installation erforderlich,Mikro-Suche「Modbus DebuggingAssistenten.」Benutzt werden kann.。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.