目前市场上的抓包工具普遍比较昂贵,所以笔者设计制作了一款平民价格的抓包工具:ALLBUS-TAP。该抓包工具可以抓取当前所有已知的百兆工业以太网,并准确记录数据帧经过TAP的时刻。且ALLBUS-TAP抓取过程对网络仅造成0.7us的固定延迟,对于大部分设备来说是没有影响的。
TAP有三个网口,其中电源侧的网口用于将捕获的报文上传至PC,并通过Wireshark软件进行数据包的捕获和分析,另一侧的两个网口进行网络报文的转发。
Ø 抓取以太网报文并进行分析
Ø 查找报文的CRC错误
Ø 比较输入数据帧和输出数据帧
Ø 测量网络帧的抖动和延迟
Ø 分析主控端发送数据的流程和原理
Ø 分析处理设备处理网络帧的流程和原理
Ø 测量主控设备的实时性
Ø 测量处理设备的响应性能
Ø 工业以太网数据的监控及备份
Ø 2 + 1的百兆以太网端口
Ø Uplink端口:-100Mbit/s 100BASE-TX RJ45 Port, 半双工
Ø Probe端口:-100Mbit/s 100BASE-TX RJ45 Port x2, 全双工
Ø Probe延迟:0.7us
Ø 时间戳分辨率:1ns
Ø 标记出错的CRC报文,且重新打包传送到PC
Ø Probe端口最大带宽:-50Mit/s
Ø 自动使用TAP记录的时间代替Wireshark的时间戳
Ø 支持电压为5V DC
Ø 尺寸(W x H x D)约为63mm * 95mm* 37mm
Ø 允许允许环境温度范围0-60℃
Ø 允许的存储环境温度为-30-80℃
Ø 允许相对湿度90%,无冷凝
Ø 保护类型 IP20
抓包工具需要配合对应的wireshark插件使用,且插件需和wireshark的版本和操作系统进行匹配。以下简单介绍下如何使用TAP抓包工具抓取EtherCAT报文。
1. 将对应的插件复制到wireshark安装目录的plugins的子目录下面(该子目录表示wireshark的版本为2.0.2。版本对应插件tap_32_2.0)。
2. 将EtherCAT主站的网线插入到TAP两个网侧的任意一个网口,将从站网线连接到该侧的另外一个端口,将电源侧的网口连接到带Wireshark软件的PC上。打开电源。
3. 打开wireshark,由于抓取的是EtherCAT报文,可以将filter设置成proto 0x88A4,如下图所示。双击本地连接开始抓包。
4. 启动Twincat,新建工程并扫描从站设备。扫描到从站后,可以在wireshark中看到捕获到的EtherCAT报文。
5. 使用twincat控制电机的运转。
6. 设置过滤器为ecat.cmd == LRW,显示周期性数据包。如下图所示。
7. 设置过滤器为ecat.cmd == LRW && eth.addr == 00:00:00:00:00:00,只显示主站发出去的周期性数据包。
8. 将数据包导出为csv模式
9. 使用excel打开导出的csv文件,计算相邻两项时间的差值并绘制成折线图,可以通过折线图观察主站发包的抖动。如下图所示。
TAP会附带一些数据在原始数据帧的尾部,用于记录FCS, Port,Crc error和timestamp等。如下图所示。
FCS : 原始报文的帧校验码
Port :表示数据帧进入的端口
Crc Error: 数据是否有crc错误
Timestamp: 数据帧到达端口的时间,精确到ns
除以上四个,其他信息为保留位,没有实际使用。
淘宝链接: https://item.taobao.com/item.htm?spm=a1z38n.10677092.0.0.35c3e81dJCkUka&id=562653162590
手机扫一扫
移动阅读更方便
你可能感兴趣的文章