【工业自动化领域解决方案】利用Profishark工具捕获EtherCAT报文
2024-6-14 17:45:53 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

随着工业自动化技术的不断进步,对于实时数据捕获和分析的需求也在增加。尤其在EtherCAT这样的高性能工业网络中,精准的报文捕获和分析工具显得尤为重要。在这篇文章中,我们将深入探讨如何利用ProfiShark工具捕获EtherCAT报文,并展示其在实际应用中的强大功能。

一、为什么要使用profishark捕获报文

  • 使用方便:profishark作为专用的抓包硬件,在性能、稳定性、精确度上都比普通的抓包工具好很多,并且有一些PLC或者其它无法直接运行wireshark软件的专用控制器作为EtherCAT主站,这种情况下使用专用的抓包工具会省事很多,并且profishark串联在网络中带来的延迟和抖动很低,可以适用于大多数对于时间敏感的工业协议。
  • 高分辨率时间戳:ProfiShark 提供分辨率为 8 ns 的硬件时间戳。ProfiShark 1G+ 和 10G+ 提供多种高级时间戳功能。 GPS芯片可以检索UTC时间,并将其与内部PPS同步,典型精度为±32 ns。 ProfiShark 1G+和10G+还可以通过SNTP(使用ProfiShark Manager或CLI工具)检索时间,或使用内部RTC(实时时钟),并通过外部PPS信号同步。可以提供 PPS 输出,以便与另一个 ProfiShark 设备或任何其他接受 PPS 输入的设备同步。这些功能可以以不同的方式组合,为数据包的准确和精确的时间戳提供多种可能的选项。
  • 100%高保真流量捕获:为所有监控源安装 TAP 可保证 100% 的网络流量被复制并传输到监控工具,实现实时网络监控。
  • TSN支持,低抖动:ProfiShark能够捕获和分析支持Time-Sensitive Networking(TSN)技术的网络流量,并且能够准确地测量和记录数据传输的时序性,以便进行分析和故障排除。ProfiShark 与协议无关,并且对所有帧、标签和封装进行 L1 直通。这包括抢占帧 (IEEE 802.1Qbu/802.3br)、分段帧和 CRC 无效帧。Profishark 100M、1Gv5、1Gv6 和 1G+ 支持 TSN(IEEE 802.1Qbu/802.3br 帧)。
  • PoE直通功能:ProfiShark 1G 可以配置为串联模式或带外模式。串联模式具有故障安全功能,具有 PoE 直通功能,一旦 TAP 在网络中就位,监控端口就可以随意连接和断开,而不会中断网络链路。而带外模式则允许监控来自 SPAN/镜像端口或外部 TAP 的流量。

二、Profishark使用场景

  • 抓取以太网报文
  • 搜索报文CRC error
  • 比较输入数据帧和输出数据帧
  • 测量网络帧的抖动和延迟
  • 分析主控端发送数据的过程和原理
  • 分析处理设备处理网络帧处理流程及原理
  • 主控设备实时测量
  • 测量和处理设备的响应性能
  • 工业以太网数据的监控与备份

三、技术参数

ProfiShark 100M

ProfiShark 1G

捕获接口

2 个 RJ45 以太网 10/100M

2 个 RJ45 以太网 10/100/1000M

管理接口

1 个 USB 3.0

1 个 USB 3.0

In-Line模式

支持

支持

SPAN模式

不支持

支持

In-Line引起的延迟

2 ns

1G: 380 ± 8 ns
100M: 720 ± 24 ns
10M: 7600 ± 80 ns

In-Line引起的抖动

1G: 20 ns

100M: 20 ns

10M: 80 ns

故障安全

网络连接采用电隔离

主动旁路和快速故障切换电路

支持的捕获速度

10M / 100M

10M / 100M / 1G

捕获性能

3.2 Gbps / 3.2 Mpps

3.2 Gbps / 3.2 Mpps

PoE 直通

支持

支持

硬件时间戳

有:8 ns,NTP 同步

有:8 ns,NTP 同步

四、连接方式

必须在现有的 EtherCAT 网络中插入一个测试接入点(TAP),以捕获 EtherCAT 帧。建议将 TAP 安装在主站和第一个从站之间,但也可以安装在任意两个从站设备之间。不过,只有当 TAP 紧跟在主站之后安装时,才能完全分析所有输入和输出数据,因为有些数据(LRW 命令)会被下游从站的后续输入数据覆盖。所选的 TAP 设备(如 profishark 100M)应具有较小的传播延迟,以避免干扰整个网络定时。

TAP 的 “监控 ”端口通过标准以太网电缆与运行主站检查软件的计算机相连。

ProfiShark 100M 是一款袖珍型设备,一侧有两个 RJ45 连接器,另一侧有一个 USB 3.0 端口(还有一个可选的 5 V 直流外部电源接口)。

  • 将 ProfiShark 放在需要监控流量的站点(如 PLC 的以太网端口、CPU 的以太网模块、计算机、服务器等)前方。
  • 断开EtherCAT主站上的以太网电缆,将其连接到 ProfiShark 的一个以太网端口。然后,使用适配器附带的以太网电缆将ProfiShark 的另一个以太网端口连接到第一个从站。
  • 现在,ProfiShark处于要分析的数据包的线路中,所有流量都通过该 TAP 适配器。
  • 确认两端通信正常之后,将电源端口(USB端口)连接至装有profishark manager的电脑上,并通过profishark manager或者Wireshark 软件进行捕获和分析数据包。

五、如何使用wireshark分析EtherCAT报文

在使用ProfiShark成功捕获EtherCAT报文后,我们可以利用Wireshark来进行详细的分析。Wireshark是一款功能强大的网络协议分析工具,它可以帮助我们对捕获到的EtherCAT报文进行深入的检查和分析。以下是详细步骤和技巧:

  1. 设置EtherCAT过滤器

EtherCAT报文在Wireshark中有特定的过滤器可以使用。我们可以通过设置这些过滤器来筛选出我们感兴趣的报文。例如,要过滤出特定类型的从站进入OP状态的报文,可以使用以下命令:

ecat.ado == 0x130

这个命令可以帮助我们快速找到并分析目标报文。

  1. 捕获报文的详细信息

一旦捕获到EtherCAT报文,我们可以查看它们的详细信息。点击报文,可以展开查看其结构和内容,包括EtherCAT报文的头部信息、数据区、以及各个字段的具体值。这些信息可以帮助我们了解报文的具体内容和意义。

  1. 分析周期性报文

在EtherCAT通信中,每个周期性报文通常包含三个子报文。这些子报文包括逻辑寻址、物理寻址等信息。通过分析这些子报文,我们可以了解主站与从站之间的数据交换过程。例如,查看LRW(Logical Read/Write)命令,可以看到从站的响应和主站的请求数据。

  1. 分析时间间隔

时间间隔分析是评估EtherCAT系统性能的重要手段。通过Wireshark,我们可以测量报文之间的时间间隔,以评估系统的实时性和稳定性。具体操作是查看两个报文之间的时间差异,通过Wireshark的“时间显示格式”功能,可以更直观地看到这些时间差。

  1. 常见错误分析

在EtherCAT系统中,常见的错误类型包括CRC错误、丢包、报文延迟过长等。通过Wireshark,我们可以检测并分析这些错误。例如,通过设置CRC错误过滤器,可以快速定位并分析存在问题的报文。分析这些错误需要我们熟悉EtherCAT的工作原理和流程,能够识别和诊断常见的通信问题。

  1. 数据积累与学习

分析EtherCAT报文是一个需要不断积累和学习的过程。了解和掌握EtherCAT协议的细节是关键,这样才能在实际分析中得心应手。建议多阅读相关文献和技术文档,参与技术交流,不断提升自己的技能和知识水平。

六、总结

通过使用ProfiShark和Wireshark,我们可以高效地捕获和分析EtherCAT报文,满足工业网络系统对实时数据监控和故障排除的需求。ProfiShark凭借其高分辨率时间戳、100%高保真流量捕获、TSN支持及PoE直通功能,为工业自动化网络提供了强有力的支持。结合Wireshark的强大分析功能,我们能够详细查看报文结构、分析周期性报文的时间间隔、检测并诊断常见的通信错误,从而提高系统的性能和可靠性。随着对EtherCAT工作原理和分析技巧的不断积累和学习,我们可以更有效地进行网络监控和问题解决,为工业自动化的发展提供坚实的技术保障。

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022


文章来源: https://www.freebuf.com/sectool/403636.html
如有侵权请联系:admin#unsafe.sh