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

问题在权限或过滤

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

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

相关推荐
mennekes8 分钟前
临时用电线路标识:插头颜色、钟面标识配套规范
运维·网络·科技·安全·制造
发光小北1 小时前
EtherNet/IP 转 ModbusTCP 网关现场应用中会遇到什么问题?
服务器·网络·tcp/ip
海宇大数据1 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化持牌网络小贷小微商户极速助业贷秒级全维风险决策网关
网络·人工智能·架构·自动化
tongyiixiaohuang3 小时前
供应商主数据同步实战:从易快报到金蝶云星空的单一策略落地
java·网络·数据库
一只鹿鹿鹿3 小时前
智算算力、AI-芯片与产品解析(PPT文件)
大数据·运维·网络·人工智能·物联网·1024程序员节
开源必胜3 小时前
Socket、异步非阻塞 I/O 与 NGINX、Netty 模型
网络·tcp/ip·nginx
沫璃染墨3 小时前
从零入门计算机网络系列(十一):HTTP协议进阶——从重定向原理到GET/POST与Fiddler抓包
linux·服务器·开发语言·网络·c++·tcp/ip·html
蓝祁子yoky4 小时前
Qt学习日记 Day13:网络编程(一)-TCP基础与Socket实战
网络·qt·学习
箓维5 小时前
TCP Socket的进阶实现
网络·笔记·tcp/ip
小羊没烦恼!5 小时前
关于分布式锁原理的一些学习与思考-redis分布式锁,zookeeper分布式锁
java·服务器·网络·学习·负载均衡