2 EtherCAT ubuntu wireshark

IGH 1.6.4 + Ubuntu Wireshark 抓 EtherCAT 报文配置指南

目标:只抓 EtherCAT 报文(EtherType = 0x88A4)

适用环境:Ubuntu + IGH EtherCAT Master 1.6.4


一、核心结论(先看这个)

  • Wireshark 抓的是 以太网原始帧
  • EtherCAT 的 EtherType 固定为 0x88A4
  • 抓包成功的关键:
    1. 抓 IGH 使用的物理网卡
    2. IGH 运行时不要独占网卡
    3. 关闭网卡 Offload
    4. Wireshark 启用 EtherCAT 协议解析
    5. 使用 EtherCAT 显示过滤器

二、确认 IGH 使用的网卡

bash 复制代码
cat /etc/ethercat.conf

示例:

ini 复制代码
MASTER0_DEVICE="eth0"
DEVICE_MODULES="generic"

记住 eth0,Wireshark 只抓这块网卡


三、停止 IGH(抓包前必须)

如果 IGH 正在运行,会独占网卡,Wireshark 抓不到包。

bash 复制代码
sudo systemctl stop ethercat

或:

bash 复制代码
sudo /etc/init.d/ethercat stop

四、关闭网卡 Offload(非常关键)

bash 复制代码
sudo ethtool -K eth0 gro off gso off tso off lro off

验证:

bash 复制代码
ethtool -k eth0

五、安装并配置 Wireshark

1. 安装

bash 复制代码
sudo apt update
sudo apt install wireshark

安装时选择:

复制代码
Allow non-superusers to capture packets? → Yes

2. 加入 wireshark 用户组

bash 复制代码
sudo usermod -aG wireshark $USER

注销并重新登录后生效


六、Wireshark 抓包步骤

  1. 启动 Wireshark:
bash 复制代码
wireshark &
  1. 选择网卡:eth0(或你的实际网卡)

  2. 开始抓包

  3. 另开终端,启动 IGH:

bash 复制代码
sudo systemctl start ethercat

七、只显示 EtherCAT 报文(重点)

在 Display Filter 中输入:

text 复制代码
ether proto 0x88a4

或:

text 复制代码
ethercat

推荐使用 ethercat(Wireshark 自带解析)


八、确认 EtherCAT 协议解析已启用

路径:

复制代码
Edit → Preferences → Protocols → EtherCAT

确认:

  • ☑ Enable EtherCAT dissection
  • ☑ Show Datagrams
  • ☑ Decode Mailbox(可选)

九、常用 EtherCAT 专用过滤器

1. 所有 EtherCAT 帧

text 复制代码
ethercat

2. Mailbox 帧

text 复制代码
ethercat.mailbox

3. CoE(SDO)

text 复制代码
ethercat.mailbox.protocol == 0x01

4. FoE(固件升级)

text 复制代码
ethercat.mailbox.protocol == 0x02

5. 工作计数器异常

text 复制代码
ethercat.wkc != 0

十、你应该看到的正常结构

text 复制代码
Ethernet II
 └─ EtherType: EtherCAT (0x88A4)
    └─ EtherCAT Frame
       └─ Datagram (LRD / LWR / LRW)
          ├─ Address
          ├─ Length
          ├─ Working Counter

十一、常见问题排查

抓不到任何包

  • IGH 未停止
  • 抓错网卡
  • 网卡被独占

能抓包但无 EtherCAT 解析

  • Offload 未关闭
  • Wireshark 版本过低
  • 过滤器错误

十二、推荐抓包顺序(标准流程)

bash 复制代码
sudo systemctl stop ethercat
sudo ethtool -K eth0 gro off gso off tso off lro off
wireshark &
sudo systemctl start ethercat

十三、一句话总结

EtherCAT 抓包 = 正确网卡 + Offload 关闭 + EtherCAT 过滤器

相关推荐
裕晟资质规划19 小时前
三类资质变更报告时限差在哪?军工 15 日、集成印制 10 日
大数据·服务器·网络
轻舟技术A19 小时前
Provider 不属于 Agent 核心:rpi 的分层理由与收益
服务器·网络
Uncertainty!!19 小时前
Windows 10 与 Ubuntu 22.04 通过 Samba 共享文件夹
windows·ubuntu·共享文件夹
Escalating_xu20 小时前
【Linux 网络编程】TCP Socket 编程(上):从 listen、accept 到完整回显通信
linux·网络·tcp/ip
NetX行者20 小时前
Python 工程化入门:从脚本到规范的 Python 项目结构
网络·python
Yang961120 小时前
从相位噪声到实时带宽:HD-063B支撑的频谱实验项目
网络
happyprince20 小时前
01-整体观-DeepSeek-V4.1-Flash全貌解读
网络
是真的小外套20 小时前
2023年软考中级信息安全工程师|选择题考点+5道案例分析真题解析(含答案)
java·服务器·网络
缘友一世20 小时前
GLM5.3 CyberSec w4A16本地部署[2]:并行策略与 PP 切分
ubuntu·vllm·glm5.3 cybersec
QMCY_jason21 小时前
ubuntu x86_64架构的编译 aarch64架构的程序
linux·运维·ubuntu