1. 物联网无线协议概述
做物联网抓包这行快十年了,我经常被问到同一个问题:「这么多无线协议,到底该从哪个开始学?」
说实话,这个问题没有标准答案。但有一点我可以肯定——不懂协议分类,抓包就是瞎抓。你想想看,连空口上跑的是 Zigbee 还是 BLE 都分不清,抓下来的数据包就是一堆乱码。
这一章,我们先搭个框架。把物联网无线协议分分类,比比各自的特点,再看看常用的抓包工具有哪些。嗯,打好基础再动手,事半功倍。
1.1 物联网无线协议分类
物联网无线协议,说白了就是设备之间「说话」的规矩。不同的应用场景,用的规矩完全不同。
我个人习惯把协议分成三大类:
- 短距离通信协议:覆盖范围一般在 10-100 米,功耗低、成本低。典型代表有 BLE、Zigbee、Wi-Fi、Thread、Z-Wave。
- 低功耗广域网协议:覆盖范围可达几公里甚至十几公里,专门为电池供电的物联网设备设计。代表有 LoRa、NB-IoT、Sigfox。
- 蜂窝与卫星协议:覆盖范围最广,但功耗和成本也最高。包括 4G LTE-M、5G NR、卫星 IoT。
核心观点:没有「最好」的协议,只有「最合适」的协议。选型时先看距离、功耗、数据量这三个维度。
我在项目中遇到过不少团队,一上来就选 Wi-Fi,觉得「反正大家都用 Wi-Fi」。结果做智能门锁时发现,电池撑不过两周。这就是典型的选型失误。
1.2 常见协议对比
光分类还不够,我们得把主流协议拉到一起比比。下面这张表,是我做项目时经常翻的参考表:
| 协议 | 频段 | 速率 | 覆盖范围 | 功耗 | 典型应用 |
|---|---|---|---|---|---|
| BLE | 2.4 GHz | 1-2 Mbps | 10-100 m | 极低 | 可穿戴、信标 |
| Zigbee | 2.4 GHz / 868 MHz | 250 kbps | 10-100 m | 低 | 智能家居、工业 |
| Wi-Fi | 2.4 / 5 / 6 GHz | 几十 Mbps 以上 | 30-100 m | 高 | 摄像头、网关 |
| LoRa | Sub-1 GHz | 0.3-50 kbps | 2-15 km | 极低 | 传感器、抄表 |
| NB-IoT | LTE 频段 | 几十 kbps | 1-10 km | 低 | 水表、烟感 |
| Thread | 2.4 GHz | 250 kbps | 10-100 m | 低 | 智能家居 |
避坑指南:我曾经在做一个智能照明项目时,选了 Zigbee 3.0,结果发现和某品牌的网关互操作有问题。后来抓包一看,是 ZCL 簇的版本号对不上。所以,协议兼容性一定要在选型阶段就验证,别等到联调才后悔。
你可能会问:「BLE 和 Zigbee 都在 2.4 GHz,有什么区别?」
好问题。BLE 主打「简单连接」,手机直接就能扫到。Zigbee 主打「组网能力」,一个网络能挂几百个节点。Wi-Fi 呢?速率高,但功耗也高,适合插电设备。
1.3 抓包工具介绍
工欲善其事,必先利其器。抓包工具选对了,问题就解决了一半。
我按协议类型,把常用工具列一下:
- 通用工具:
- Wireshark:抓包界的「瑞士军刀」。支持 BLE、Zigbee、Wi-Fi 等多种协议。我几乎每天都在用。
- TI Packet Sniffer:TI 家的免费工具,配合 CC2531 等硬件,能抓 Zigbee 和 BLE。
- nRF Sniffer:Nordic 出品,配合 nRF52840 DK,抓 BLE 和 Thread 很顺手。
- 专用工具:
- Ellisys:商业工具,支持 BLE、Wi-Fi、USB 等多协议。贵,但功能强大。
- Frontline:也是商业工具,抓 Zigbee 和 BLE 的混合场景很稳。
- LoRa Sniffer:开源方案,用 SX1276 模块配合 Arduino 就能搭一个。
- 硬件适配器:
- Ubertooth One:开源 BLE 抓包硬件,性价比高。
- HackRF One:软件无线电,能抓 1 MHz 到 6 GHz 的信号。适合进阶玩家。
- CC2531 USB Dongle:便宜好用,Zigbee 抓包首选。
注意:抓包工具不是万能的。我曾经用 Wireshark 抓 BLE 广播包,怎么都抓不到。后来发现是信道没选对——BLE 在 37/38/39 三个信道上广播,默认监听的是数据信道。所以,用之前一定要看文档,别想当然。
下面这张图,是我自己整理的物联网无线协议抓包知识体系。你可以把它当成学习路线图:
这张图把整个知识体系串起来了。从上往下看:先搞清楚协议属于哪一类,再选对应的抓包工具,最后掌握核心分析技能。
我的建议:初学者别贪多。先选一个协议(比如 BLE),配一套工具(nRF Sniffer + Wireshark),把广播包、连接包、数据包都抓一遍。等你把 BLE 的流程摸透了,再学 Zigbee 或 LoRa 就快多了。
好了,这一章就到这里。协议分类、对比、工具,这三个基础打牢了,后面我们就能直接上手抓包了。