第1章:工欲善其事——Wireshark环境搭建
做CAN FD分析,第一步就是把环境搭好。我见过太多工程师,工具没配好就急着抓数据,结果抓了一堆乱码,白白浪费半天时间。今天咱们就把这套环境从头捋一遍。
1.1 Wireshark的安装与配置
Wireshark的安装其实没什么难度,但有几个细节我得提醒你。
下载版本的选择
我个人习惯用稳定版,别追新。去官网 wireshark.org 下载,选那个带「Stable Release」标签的。我踩过坑——有次用了开发版,插件死活加载不上,折腾了两天才发现是版本兼容问题。
安装时的关键选项
安装过程中,你会看到一堆勾选项。这里要注意:
- WinPcap/Npcap:必须装。这是抓包的底层驱动。我建议选Npcap,它比WinPcap新,兼容性更好。
- USB捕获支持:如果你用USB-CAN设备,这个要勾上。
- 协议解析插件:默认安装就带CAN解析,但CAN FD的扩展帧需要额外配置。
1.2 CAN FD解析插件安装
Wireshark原生支持CAN,但CAN FD的64字节数据场、BRS标志、ESI标志这些,需要插件才能完整解析。
Vector插件
Vector的硬件用户比较幸福。他们官方提供了CANalyzer/CANoe的Wireshark集成包。安装步骤:
- 下载Vector Driver Package(VCI驱动)
- 安装时勾选「Wireshark Plugin」
- 重启Wireshark,在「关于」里能看到Vector的解析器
PCAN插件
PEAK-System的PCAN用户,需要单独装PCAN-View的Wireshark插件。我记得有次帮客户远程调试,他装的是盗版PCAN驱动,插件怎么都认不到硬件。后来换了官方驱动,一次搞定。
1.3 USB-CAN设备驱动安装
这是最容易出问题的一步。USB-CAN设备种类太多,驱动五花八门。
通用步骤
- 先插设备,看系统能不能自动识别
- 不能识别的话,去官网下载对应驱动
- 安装后,在设备管理器里确认没有黄色感叹号
常见设备驱动
| 设备品牌 | 驱动名称 | 注意事项 |
|---|---|---|
| Vector VN1610 | VCI Driver | 需要配合Vector License |
| PEAK PCAN-USB | PCAN Driver | Win10以上需禁用驱动签名 |
| ZLG USBCAN | ZLG CAN Driver | 注意32位/64位版本 |
| Kvaser Leaf | Kvaser Driver | 安装后需重启 |
1.4 捕获过滤器与显示过滤器
这两个概念很多人搞混。说白了:
- 捕获过滤器:抓包前设置,只抓你关心的数据,减少文件体积
- 显示过滤器:抓完包后设置,从海量数据里筛选出你要看的
捕获过滤器设置
在Wireshark的捕获界面,输入框里写BPF格式的表达式。CAN FD常用的:
# 只抓CAN FD帧(标准帧+扩展帧)
canfd
# 只抓特定ID(比如0x123)
canfd and id == 0x123
# 只抓数据场长度大于8的(这才是真正的CAN FD)
canfd and len > 8
显示过滤器设置
这个更灵活,支持协议字段过滤。我个人最常用的:
# 显示所有CAN FD帧
canfd
# 显示BRS标志为1的帧(高速模式)
canfd.flags.brs == 1
# 显示ESI标志为0的帧(错误主动)
canfd.flags.esi == 0
# 显示特定ID范围
canfd.id >= 0x100 and canfd.id <= 0x1FF
🔑 核心要点:捕获过滤器是「事前筛选」,显示过滤器是「事后筛选」。我建议抓包时用捕获过滤器缩小范围,分析时用显示过滤器深入挖掘。别一股脑全抓,否则一个小时的CAN FD数据能到几个GB,你电脑扛不住的。
1.5 环境验证
装完所有东西,怎么知道环境是不是好的?我一般做三步验证:
- 硬件识别:插上USB-CAN设备,看Wireshark的接口列表里有没有出现
- 回环测试:把CAN接口的TX和RX短接,发一帧数据看能不能收到
- CAN FD标志验证:抓一帧数据,看BRS和ESI位是否正常解析
嗯,这三步走完,基本就能确定环境没问题了。我见过有人第二步就卡住了——TX和RX短接后收不到数据,结果是终端电阻没接。CAN总线两端需要120欧姆电阻,这个别忘了。
1.6 知识体系总览
下面这张图,把本章的核心逻辑串起来了。你照着这个顺序搭环境,不会乱。
环境搭好了,后面的事情就顺了。记住,工具是死的,人是活的。多动手试试,遇到问题别慌,先检查驱动和插件版本。