抓包硬件选型:Ubertooth One、nRF52840 Dongle、TI CC2531、ESP32 Monitor模式、HackRF、USRP B210性能对比与选型指南

做物联网抓包分析,第一道坎就是选硬件。

市面上能用的设备不少,从几十块钱的USB dongle到几万块的软件无线电平台,跨度非常大。我见过不少新手上来就买HackRF,结果发现抓不了BLE——白白浪费钱。也见过团队花大价钱买了USRP,结果只是用来抓ZigBee,性能严重过剩。

这一章,我把六款主流设备拉出来逐一分析。我会从频段覆盖、协议支持、采样带宽、价格、易用性五个维度做对比,最后给出选型建议。

六款设备速览

先看一张总览表,心里有个底:

设备 频段范围 支持协议 采样带宽 参考价格 上手难度
Ubertooth One 2.4 GHz BLE、Basic Rate 500 kHz ~$120 中等
nRF52840 Dongle 2.4 GHz BLE、Thread、ZigBee 2 MHz ~$10 低
TI CC2531 2.4 GHz ZigBee、Z-Wave 2 MHz ~$20 低
ESP32 Monitor 2.4 GHz Wi-Fi、BLE 20 MHz ~$5 中等
HackRF One 1 MHz – 6 GHz 全协议(需软件支持) 20 MHz ~$300 高
USRP B210 70 MHz – 6 GHz 全协议(需软件支持) 56 MHz ~$1,200 高

核心结论:没有万能设备。选型的关键是先搞清楚你要抓什么协议、在什么频段、需要多宽的带宽。

逐款深度分析

Ubertooth One:BLE抓包的专业选手

这款设备是Michael Ossmann设计的,专门为蓝牙抓包而生。它使用CC2400射频前端,配合FPGA做基带处理。

我个人习惯用Ubertooth One做BLE的深度分析。为什么?因为它能抓到BLE的Advertising和Data信道,而且支持蓝牙5的LE Coded PHY。我在项目中遇到过一个问题:用nRF52840抓包时,某些长距离BLE包总是丢,换成Ubertooth One就全抓到了。

小技巧:Ubertooth One配合Wireshark使用效果最好。记得刷最新的固件,旧版本不支持蓝牙5的2M PHY。

不过它也有短板:只支持2.4 GHz,采样带宽只有500 kHz。这意味着你没法用它抓Wi-Fi或者Sub-1 GHz的信号。

nRF52840 Dongle:性价比之王

这个小小的USB dongle,用的是Nordic的nRF52840芯片。它支持BLE、Thread、ZigBee,还能做802.15.4的抓包。

说白了,如果你主要做2.4 GHz的物联网协议分析,nRF52840 Dongle是最划算的选择。才10美元,性能却不差。我建议每个团队都备几个,当Sniffer用非常方便。

注意:nRF52840 Dongle需要配合nRF Sniffer软件使用。抓包时最好外接一个USB延长线,避免电脑的电磁干扰影响信号质量。

TI CC2531:ZigBee抓包的老将

CC2531是TI的老产品了,但至今仍是ZigBee抓包的主流选择。它支持IEEE 802.15.4协议,配合TI的Packet Sniffer软件,可以抓ZigBee、Z-Wave、6LoWPAN。

嗯,这里要注意:CC2531的灵敏度一般,在信号弱的环境下容易丢包。我曾经在一个大型ZigBee网络中做调试,CC2531死活抓不到远端的包,后来换了nRF52840才搞定。

ESP32 Monitor模式:Wi-Fi抓包的野路子

ESP32本身是Wi-Fi/BLE双模芯片,但它的Wi-Fi可以进入Monitor模式。说白了,就是让ESP32变成一个廉价的Wi-Fi嗅探器。

你想想看,一个5块钱的芯片,能抓2.4 GHz Wi-Fi的Beacon、Probe Request、Data帧,还能做信道扫描。我见过有人用ESP32做Wi-Fi室内定位的抓包节点,成本低到离谱。

适用场景:Wi-Fi协议分析、信道质量评估、低成本的嗅探网络。不适合高精度的时间戳和密集抓包。

HackRF One:软件无线电的入门砖

HackRF One是软件无线电(SDR)的入门级设备。它覆盖1 MHz到6 GHz,采样带宽20 MHz。理论上,只要你能写GNU Radio的流图,什么协议都能抓。

但我要泼一盆冷水:HackRF是半双工的,而且采样率只有20 MSps。抓窄带协议(如BLE、ZigBee)没问题,但抓Wi-Fi的20 MHz信道就有点吃力了。我在项目中试过用HackRF抓Wi-Fi OFDM信号,结果因为采样率不够,解调出来的星座图惨不忍睹。

避坑指南:HackRF的时钟精度一般,长时间抓包会出现频率漂移。建议外接GPSDO做时钟同步,否则抓到的包时间戳不准。

USRP B210:专业级的SDR平台

USRP B210是Ettus Research的产品,采样带宽56 MHz,覆盖70 MHz到6 GHz。它是全双工的,支持MIMO,采样率最高61.44 MSps。

说实话,USRP B210是这六款设备里性能最强的,但也是最贵的。我建议只有在以下场景才考虑它:

  • 需要抓Wi-Fi 802.11ac的80 MHz信道
  • 做多通道同步抓包(比如定位)
  • 研究非标协议或私有物理层

选型决策流程

为了帮你快速做决定,我画了一张选型流程图:

抓包硬件选型决策流程 开始选型 需要抓什么频段? 仅2.4 GHz 多频段 Sub-1 GHz BLE为主? 是 Ubertooth One 否 nRF52840 预算充足? 是 USRP B210 否 HackRF One 需要SDR? 是 USRP B210 否 CC2531 选型建议总结 • BLE深度分析 → Ubertooth One • 2.4 GHz多协议 → nRF52840 Dongle • ZigBee专用 → CC2531 • 多频段/研究用 → HackRF One 或 USRP B210

实战选型建议

根据我多年的项目经验,我给出以下具体建议:

  • 入门学习:先买一个nRF52840 Dongle(10美元)和一个CC2531(20美元),总共30美元就能覆盖BLE和ZigBee的抓包。这是性价比最高的起步方案。
  • BLE专业调试:加一个Ubertooth One。我在调试蓝牙Mesh网络时,Ubertooth One的Advertising信道抓包能力是其他设备比不了的。
  • Wi-Fi分析:用ESP32的Monitor模式做低成本方案。如果要做802.11ac的80 MHz信道抓包,必须上USRP B210。
  • 多频段/研究:HackRF One适合预算有限但想玩SDR的人。USRP B210适合做严肃的无线研究。

我的个人习惯:出差时随身带一个nRF52840 Dongle和一个ESP32开发板。前者抓BLE,后者抓Wi-Fi,基本能覆盖90%的现场调试需求。

避坑指南

最后分享几个我踩过的坑:

  • 别用HackRF抓Wi-Fi数据包:它的20 MHz采样带宽刚好够Wi-Fi的20 MHz信道,但实际抓包时因为时钟精度问题,解调成功率很低。我曾经花了两周时间调GNU Radio的流图,最后还是放弃了。
  • CC2531的USB接口容易松动:这个老设备的USB接口没有加固设计,插拔几次就接触不良了。建议用USB延长线固定好位置。
  • ESP32的Monitor模式不支持所有Wi-Fi帧:它只能抓数据帧和管理帧,控制帧基本抓不到。如果你需要完整的Wi-Fi抓包,还是得用专业的Wi-Fi网卡。

选硬件这件事,说白了就是搞清楚你要什么。别盲目追求高端设备,也别为了省钱买不合适的工具。希望这一章能帮你少走弯路。