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

问题在权限或过滤

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

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

相关推荐
科技块儿19 小时前
在线考试防作弊IP工具选型:5款主流IP查询API精度、成本、场景适配全测评
服务器·网络·tcp/ip·安全
zbtlink19 小时前
路由器的外置天线和内置天线有多大差别?
网络·智能路由器
JHC_binge20 小时前
国内Ubuntu 22.04 LTS安装Milvus向量数据库
java·linux·ubuntu
B2_Proxy20 小时前
如何使用代理服务解决“您的 ASN 被阻止”错误:全面策略分析
网络·爬虫·网络协议·tcp/ip·安全·代理模式
一起养小猫20 小时前
Flutter for OpenHarmony 进阶:Timer组件与倒计时系统深度解析
android·网络·笔记·flutter·json·harmonyos
程序猿编码20 小时前
实战Linux内核模块:终止ptrace跟踪程序与被跟踪进程
linux·网络·内核·内核模块·ptrace
乾元20 小时前
下一代检测:基于自编码器(Autoencoder)的异常流量检测
运维·网络·人工智能·深度学习·安全·安全架构
lifejump20 小时前
二层双核心冗余链路实现(1/2期)(eNSP)
网络
弹简特20 小时前
【JavaSE-网络部分02】网络编程套接字
网络
学习的周周啊20 小时前
ClawdBot(openclaw) + Cloudflare Tunnel + Zero-Trust 零基础保姆教程
网络·人工智能·python·clawdbot