如何从Wireshark捕获中以编程方式提取数据?

问题描述 投票:0回答:1

我想从 EtherCAT 捕获文件中提取数据。一个 EtherCAT 帧可以包含多个数据报,其中包含命令、子设备地址、设备内的内存地址和数据。

我想访问特定数据报的数据,基于子设备地址和数据报中的其他属性。 Wireshark 有一个内置的 EtherCAT 解析器,我可以通过“数据包详细信息”面板手动执行此操作。该面板提供了一个舒适的、分层的树视图,类似于对所有字段的访问。如果有很多帧需要调查或者数据写入文件或需要显示数据,这可能会很困难。在后一种情况或搜索条件复杂时,显示过滤器无济于事。

我的问题是如何可能(如果可能的话)以编程方式完成上述任务?这需要循环遍历捕获中的所有帧并循环遍历帧中的所有数据报并访问数据报的字段。访问并比较数据报的字段(以及字段值),进行比较以选择所需的数据报,如果满足条件,则保存或显示数据报的数据。

如果可能的话,最好的方法是什么?所有这些元素(数据报、字段和字段值)都在“数据包详细信息”面板中提供,但这些项目是否可以通过脚本或任何其他方式获得?我读了很多有关该主题的内容,但没有找到解决方案,也没有找到类似的示例,所以我很感激任何建议。

wireshark
1个回答
0
投票

听起来tshark可能更适合您的需求。它是 Wireshark 的文本模式版本,可以将剖析的数据显示为文本、JSON、CSV 和其他格式。

© www.soinside.com 2019 - 2024. All rights reserved.