第1章:工欲善其事——Wireshark环境搭建

做CAN FD分析,第一步就是把环境搭好。我见过太多工程师,工具没配好就急着抓数据,结果抓了一堆乱码,白白浪费半天时间。今天咱们就把这套环境从头捋一遍。

1.1 Wireshark的安装与配置

Wireshark的安装其实没什么难度,但有几个细节我得提醒你。

下载版本的选择

我个人习惯用稳定版,别追新。去官网 wireshark.org 下载,选那个带「Stable Release」标签的。我踩过坑——有次用了开发版,插件死活加载不上,折腾了两天才发现是版本兼容问题。

安装时的关键选项

安装过程中,你会看到一堆勾选项。这里要注意:

  • WinPcap/Npcap:必须装。这是抓包的底层驱动。我建议选Npcap,它比WinPcap新,兼容性更好。
  • USB捕获支持:如果你用USB-CAN设备,这个要勾上。
  • 协议解析插件:默认安装就带CAN解析,但CAN FD的扩展帧需要额外配置。
⚠️ 避坑指南:我曾经在Win10上装Wireshark,Npcap安装时选了「WinPcap兼容模式」,结果导致USB-CAN设备无法识别。后来重装Npcap,取消兼容模式才解决。

1.2 CAN FD解析插件安装

Wireshark原生支持CAN,但CAN FD的64字节数据场、BRS标志、ESI标志这些,需要插件才能完整解析。

Vector插件

Vector的硬件用户比较幸福。他们官方提供了CANalyzer/CANoe的Wireshark集成包。安装步骤:

  1. 下载Vector Driver Package(VCI驱动)
  2. 安装时勾选「Wireshark Plugin」
  3. 重启Wireshark,在「关于」里能看到Vector的解析器

PCAN插件

PEAK-System的PCAN用户,需要单独装PCAN-View的Wireshark插件。我记得有次帮客户远程调试,他装的是盗版PCAN驱动,插件怎么都认不到硬件。后来换了官方驱动,一次搞定。

💡 小技巧:插件装好后,在Wireshark的「协议首选项」里找到CANFD,确认「Decode CAN FD as CAN FD」是勾选状态。否则它会按普通CAN帧解析,你会看到一堆错误。

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 安装后需重启
⚠️ 避坑指南:我曾经在Win11上装PEAK驱动,系统提示「无法验证发布者」。这是因为驱动没有微软签名。解决办法:重启时按F8进入「禁用驱动程序强制签名」模式,再安装。

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 环境验证

装完所有东西,怎么知道环境是不是好的?我一般做三步验证:

  1. 硬件识别:插上USB-CAN设备,看Wireshark的接口列表里有没有出现
  2. 回环测试:把CAN接口的TX和RX短接,发一帧数据看能不能收到
  3. CAN FD标志验证:抓一帧数据,看BRS和ESI位是否正常解析

嗯,这三步走完,基本就能确定环境没问题了。我见过有人第二步就卡住了——TX和RX短接后收不到数据,结果是终端电阻没接。CAN总线两端需要120欧姆电阻,这个别忘了。

1.6 知识体系总览

下面这张图,把本章的核心逻辑串起来了。你照着这个顺序搭环境,不会乱。

Wireshark CAN FD 环境搭建流程 Wireshark 安装 选择稳定版 + Npcap CAN FD 解析插件 Vector / PCAN / 其他 USB-CAN 驱动 按品牌安装 过滤器配置 捕获过滤器(事前) + 显示过滤器(事后) 环境验证三步走 ① 硬件识别 → ② 回环测试 → ③ CAN FD标志验证 通过后即可开始抓包分析 💡 顺序很重要:先装Wireshark → 再装插件 → 最后装驱动 驱动装反了可能导致Wireshark认不到硬件接口

环境搭好了,后面的事情就顺了。记住,工具是死的,人是活的。多动手试试,遇到问题别慌,先检查驱动和插件版本。