当前位置: 首页> 科技> IT业 > 【Wireshark 抓 CAN 总线】Wireshark 抓取 CAN 总线数据的实现思路

【Wireshark 抓 CAN 总线】Wireshark 抓取 CAN 总线数据的实现思路

时间:2025/7/17 1:29:52来源:https://blog.csdn.net/tpoem/article/details/140897076 浏览次数:0次

最近看到一个帖子
Wireshark 对接 Windows 系统命名管道,抓取数据
我突然想到一个很有意思的方式
你没看错
用 Wireshark 来抓取 CAN 总线数据
【其实 Wireshark 上有 CAN 总线的的解码器,不信你可以在表达式栏打 can 试下,是有这个解码器的】

Wireshark 的自定义 lua 插件,强大的表达式过滤,数据着色标记等等,我可以说这是很多 CAN 总线调试工具的上位机都不具备的。

那么这整套流程怎么走下来呢
首先,需要有 CAN 调试工具厂家的驱动库,这个肯定会提供。
然后,用你熟悉的语言写一个 Windows 命名管道服务器的“转换器”,将你的调试工具对接到 Windows 命名管道服务器上,然后按照 Wireshark 中对于数据格式的定义进行编码,然后 Wireshark 就可以通过监听对应的命名管道服务器来实现对数据的接收和展示了。

那怎么编码呢
Wireshark 其实提供了范例代码
官方范例代码
那么如何将用熟悉的调试工具的数据在 wireshark 上展示成 can 总线数据呢

你需要将从命名管道服务器上发出的数据进行一定的包装,也就是范例代码的实现,实现的时候,传入的参数按照下面的链路代码给出的值,找到 socket CAN 对应的值,它有提供其数据帧的字节定义格式,照着做就可以了。
网络链路代码

然后自定义 lua 解码器的实现,可以去 Github 上找找和 can 数据有关的解码器实现。

按照这个弄法。其实我觉得只要是网络链路代码存在的协议,应该都可以通过这个方式实现对对应协议的 Wireshark 解码展示

关键字:【Wireshark 抓 CAN 总线】Wireshark 抓取 CAN 总线数据的实现思路

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: