TWInCAT 使用本机网口发出去的数据wireshark如何抓取是否需要额外设置什么?
TWInCAT 使用本机网口发出去的数据wireshark如何抓取是否需要额外设置什么?
要使用 Wireshark 抓取 TwinCAT 通过本机网口发出的数据,需要进行额外设置。核心在于开启 TwinCAT 的混杂模式并正确配置 Wireshark,否则 Wireshark 可能无法捕获到 EtherCAT 报文。
以下是详细的操作步骤和注意事项:
🛠️ 核心步骤
1. 配置 TwinCAT(关键步骤)
这是最关键的一步,必须在 TwinCAT 工程中进行设置。
- 打开你的 TwinCAT 项目。
- 在解决方案资源管理器中,找到 I/O -> Devices -> Device X (你的EtherCAT主站) -> Adapter。
- 在
Adapter的属性中,找到并勾选 "Promiscuous Mode (use with Wireshark only)"(混杂模式)。- 作用:此模式会允许网卡捕获所有流经它的数据包,而不仅仅是发给本机的包。这对于抓取目的MAC地址为从站的 EtherCAT 帧至关重要。
- 保存项目并重新激活配置 (Activate Configuration)。
- 注意:修改此设置后,必须重新激活配置,有时甚至需要重启 TwinCAT 系统(Restart TwinCAT (Config Mode))才能生效。
2. 配置 Wireshark
-
选择正确的网卡:启动 Wireshark,在接口列表中选择 TwinCAT 正在使用的那个物理以太网口。确保你选择的网卡 IP 地址与 TwinCAT 中配置的 EtherCAT 适配器 IP 一致。
-
设置捕获过滤器(可选但推荐):为了只抓取 EtherCAT 流量,避免其他网络数据(如 ARP、TCP)的干扰,可以在开始捕获前,在捕获过滤器栏输入:
ether proto 0x88a4这会告诉 Wireshark 只捕获 EtherType 为0x88A4(EtherCAT 专用)的以太网帧。 -
开始捕获:点击蓝色的鲨鱼鳍图标开始抓包。
⚠️ 常见问题与排查
-
Wireshark 找不到网卡/接口:
- 这通常是 Npcap 驱动的问题。可以尝试卸载 Wireshark 自带的 Npcap,然后从 Win10Pcap 官网 下载并安装 Win10Pcap。安装时请关闭 Wireshark。
- 确保以管理员身份运行 Wireshark。
-
抓不到 EtherCAT 数据包:
- 确认 TwinCAT 混杂模式已开启并已重新激活配置。这是最常见的原因。
- 确认 Wireshark 选择的网卡与 TwinCAT 使用的网卡是同一个。
- 确认 TwinCAT 系统正在运行(Run Mode),并且 EtherCAT 从站已进入 OP(Operational)状态。
- 尝试先启动 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 映射错误这类常见问题。
浙公网安备 33010602011771号