EtherCAT ubuntu wireshark

IGH EtherCAT Master 1.6.4 + Ubuntu Wireshark 只抓 EtherCAT

报文配置说明(纯中文)

================================================

一、基础认知(非常重要)

================================================

  1. EtherCAT 的本质
  • EtherCAT 不是 TCP/IP、不是 UDP

  • EtherCAT 是"裸以太网帧"

  • EtherType 固定为:0x88A4

结论: - 用 IP 过滤一定抓不到 EtherCAT - 必须在二层(以太网层)抓包

================================================ 二、确认 IGH 使用的网卡

================================================

  1. 查看所有网卡 命令: ip link

常见物理网卡名称: - eth0 - eno1 - enp3s0

不要使用: - lo - docker0 - virbr0 - br-*

  1. 确认 IGH Master 绑定的网卡 命令: ethercat master

示例输出: Master0 Phase: OP Active: yes Link: UP Device: enp3s0

结论: Wireshark 必须抓 Device 指定的网卡

================================================ 三、Wireshark

抓包权限配置(Ubuntu) ================================================

推荐方式(普通用户抓包):

  1. 运行: sudo dpkg-reconfigure wireshark-common

选择:Yes

  1. 把用户加入 wireshark 组: sudo usermod -aG wireshark $USER

  2. 注销并重新登录

临时方式(不推荐): sudo wireshark

================================================ 四、Wireshark 抓

EtherCAT 的正确配置 ================================================

  1. 选择接口
  • 选择 IGH 使用的物理网卡(如 enp3s0)
  1. 抓包过滤器(Capture Filter,推荐) 在开始抓包前输入: ether proto

0x88a4

作用: - 只抓 EtherCAT 报文 - 减少无关流量

  1. 显示过滤器(Display Filter) 抓包后使用: ethercat

或: eth.type == 0x88a4

================================================

五、标准抓包流程(一步不漏)

================================================

  1. 可选:停止 EtherCAT Master sudo systemctl stop ethercat

  2. 打开 Wireshark

  • 选择正确网卡

  • 不设置显示过滤器

  1. 点击"开始抓包"

  2. 启动 EtherCAT Master sudo systemctl start ethercat

  3. 设置显示过滤器: ethercat

应看到: - LRW - LRD - LWR - BRD / BWR - FPRD / FPWR

================================================

六、只看过程数据(PDO)的过滤方法

================================================

  1. 只看 LRW 周期帧: ethercat.cmd == 0x0C

  2. 只看某个从站地址(ADP): ethercat.adp == 0x0001

  3. 只看寄存器/SDO 访问: ethercat.cmd == 0x05 || ethercat.cmd == 0x06

================================================ 七、常见问题与排错表

================================================

问题:完全抓不到包 原因:抓错网卡 解决:使用 ethercat master 确认网卡

问题:只有 ARP / IP 包 原因:过滤条件错误 解决:使用 ether proto 0x88a4

问题:Wireshark 不解析 EtherCAT 原因:Wireshark 版本过低 解决:升级到

2.6 以上

问题:数据解析异常 / malformed 原因:网卡 Offload 解决:关闭 Offload

================================================ 八、强烈建议:关闭网卡

Offload ================================================

命令(示例 enp3s0): sudo ethtool -K enp3s0 rx off tx off tso off gso

off gro off lro off

说明: - 否则 EtherCAT 帧可能被硬件合并 - 会导致解析错误

================================================ 九、tcpdump

快速验证(非常推荐) ================================================

命令: sudo tcpdump -i enp3s0 -e ether proto 0x88a4

如果 tcpdump 能看到 EtherCAT: - 说明 IGH 正常 - Wireshark

问题在权限或过滤

================================================ 文档结束

================================================

相关推荐
jason.zeng@150220710 分钟前
服务器磁盘读写效率,网络吞吐量查看,mysql性能调优
服务器·网络·mysql
张小姐的猫13 分钟前
【Linux】网络编程 —— 传输层协议 TCP(下)
linux·运维·服务器·网络·tcp/ip·http·php
Light Gao22 分钟前
企业级灰度发布技术方案
网络·数据库·oracle
Little Tian35 分钟前
基于FPGA的UDP回环实验(二)----ARP模块
网络·网络协议·udp
今儿敲了吗1 小时前
CN——数据链路层(下)
网络·笔记
你怎么知道我是队长1 小时前
计算机网络入门指南:从OSI模型到网络设备
网络·计算机网络
K成长日志1 小时前
BLE链路层--比特流处理
网络·物联网·网络协议·蓝牙·iot·ble·无线
怪奇云呼军1 小时前
闪电智能VoiceAgent 如何管理呼入、接听、桥接和挂断状态?
java·前端·网络·数据库·人工智能
x_x-F2 小时前
DMA技术详解:解放CPU的数据搬运工
网络
xiaoxiangsiyan2 小时前
RHCE之2026年全套考点详解
运维·前端·网络·chrome·学习·rhce