湖北省住房建设厅网站,手机怎么制作网站教程步骤,企业代码,网站解析后最近看到一个帖子 Wireshark 对接 Windows 系统命名管道#xff0c;抓取数据 我突然想到一个很有意思的方式 你没看错 用 Wireshark 来抓取 CAN 总线数据 【其实 Wireshark 上有 CAN 总线的的解码器#xff0c;不信你可以在表达式栏打 can 试下#xff0c;是有这个解码器的】…最近看到一个帖子 Wireshark 对接 Windows 系统命名管道抓取数据 我突然想到一个很有意思的方式 你没看错 用 Wireshark 来抓取 CAN 总线数据 【其实 Wireshark 上有 CAN 总线的的解码器不信你可以在表达式栏打 can 试下是有这个解码器的】
Wireshark 的自定义 lua 插件强大的表达式过滤数据着色标记等等我可以说这是很多 CAN 总线调试工具的上位机都不具备的。
那么这整套流程怎么走下来呢 首先需要有 CAN 调试工具厂家的驱动库这个肯定会提供。 然后用你熟悉的语言写一个 Windows 命名管道服务器的“转换器”将你的调试工具对接到 Windows 命名管道服务器上然后按照 Wireshark 中对于数据格式的定义进行编码然后 Wireshark 就可以通过监听对应的命名管道服务器来实现对数据的接收和展示了。
那怎么编码呢 Wireshark 其实提供了范例代码 官方范例代码 那么如何将用熟悉的调试工具的数据在 wireshark 上展示成 can 总线数据呢
你需要将从命名管道服务器上发出的数据进行一定的包装也就是范例代码的实现实现的时候传入的参数按照下面的链路代码给出的值找到 socket CAN 对应的值它有提供其数据帧的字节定义格式照着做就可以了。 网络链路代码
然后自定义 lua 解码器的实现可以去 Github 上找找和 can 数据有关的解码器实现。
按照这个弄法。其实我觉得只要是网络链路代码存在的协议应该都可以通过这个方式实现对对应协议的 Wireshark 解码展示