blj28

导航

TWInCAT 使用本机网口发出去的数据wireshark如何抓取是否需要额外设置什么?

TWInCAT 使用本机网口发出去的数据wireshark如何抓取是否需要额外设置什么?
 
 
 
要使用 Wireshark 抓取 TwinCAT 通过本机网口发出的数据,需要进行额外设置。核心在于开启 TwinCAT 的混杂模式并正确配置 Wireshark,否则 Wireshark 可能无法捕获到 EtherCAT 报文。
以下是详细的操作步骤和注意事项:

🛠️ 核心步骤

1. 配置 TwinCAT(关键步骤)

这是最关键的一步,必须在 TwinCAT 工程中进行设置。
  1. 打开你的 TwinCAT 项目。
  2. 在解决方案资源管理器中,找到 I/O -> Devices -> Device X (你的EtherCAT主站) -> Adapter。
  3. 在 Adapter 的属性中,找到并勾选 "Promiscuous Mode (use with Wireshark only)"(混杂模式)。
    • 作用:此模式会允许网卡捕获所有流经它的数据包,而不仅仅是发给本机的包。这对于抓取目的MAC地址为从站的 EtherCAT 帧至关重要。
  4. 保存项目并重新激活配置 (Activate Configuration)。
    • 注意:修改此设置后,必须重新激活配置,有时甚至需要重启 TwinCAT 系统(Restart TwinCAT (Config Mode))才能生效。

2. 配置 Wireshark

  1. 选择正确的网卡:启动 Wireshark,在接口列表中选择 TwinCAT 正在使用的那个物理以太网口。确保你选择的网卡 IP 地址与 TwinCAT 中配置的 EtherCAT 适配器 IP 一致。
  2. 设置捕获过滤器(可选但推荐):为了只抓取 EtherCAT 流量,避免其他网络数据(如 ARP、TCP)的干扰,可以在开始捕获前,在捕获过滤器栏输入:
    ether proto 0x88a4
    这会告诉 Wireshark 只捕获 EtherType 为 0x88A4(EtherCAT 专用)的以太网帧。
  3. 开始捕获:点击蓝色的鲨鱼鳍图标开始抓包。

⚠️ 常见问题与排查

  • Wireshark 找不到网卡/接口:
    • 这通常是 Npcap 驱动的问题。可以尝试卸载 Wireshark 自带的 Npcap,然后从 Win10Pcap 官网 下载并安装 Win10Pcap。安装时请关闭 Wireshark。
    • 确保以管理员身份运行 Wireshark。
  • 抓不到 EtherCAT 数据包:
    1. 确认 TwinCAT 混杂模式已开启并已重新激活配置。这是最常见的原因。
    2. 确认 Wireshark 选择的网卡与 TwinCAT 使用的网卡是同一个。
    3. 确认 TwinCAT 系统正在运行(Run Mode),并且 EtherCAT 从站已进入 OP(Operational)状态。
    4. 尝试先启动 Wireshark 抓包,然后再启动 TwinCAT 系统,以捕获从初始化到运行的全过程。
  • DC 同步问题:
    在某些情况下,如果使用了分布式时钟(DC),可能需要先将 DC 模式从 SM-Synchron 切换为 DC-Synchron,重启 TwinCAT 后再切换回来,以确保时钟同步和抓包正常。

📝 总结

表格
步骤操作目的
1. TwinCAT 设置 在 Adapter 中勾选 Promiscuous Mode 让网卡能捕获所有 EtherCAT 帧
2. 激活配置 保存并激活 TwinCAT 项目 使混杂模式设置生效
3. Wireshark 设置 选择正确的物理网卡,可加过滤器 ether proto 0x88a4 精准定位并捕获目标流量
完成以上设置后,你应该就能在 Wireshark 中看到 TwinCAT 发出的 EtherCAT 数据帧了,包括 LRD、LWR、LRW 等命令。

需要我帮你整理一份 Wireshark 抓包过滤规则和常见报文解读速查表吗?比如怎么快速定位 WKC 异常、PDO 映射错误这类常见问题。

posted on 2026-09-19 13:28  bailinjun  阅读(19)  评论(0)    收藏  举报