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 / Zigbee Wi-Fi / Thread LoRa / NB-IoT LTE-M / 5G 卫星 IoT 抓包工具:Wireshark / nRF Sniffer / TI Sniffer / Ubertooth / HackRF 核心技能:协议分析 / 数据解码 / 故障定位 / 安全审计 提示:从协议分类入手,选择对应抓包工具,逐步深入协议细节

这张图把整个知识体系串起来了。从上往下看:先搞清楚协议属于哪一类,再选对应的抓包工具,最后掌握核心分析技能。

我的建议:初学者别贪多。先选一个协议(比如 BLE),配一套工具(nRF Sniffer + Wireshark),把广播包、连接包、数据包都抓一遍。等你把 BLE 的流程摸透了,再学 Zigbee 或 LoRa 就快多了。

好了,这一章就到这里。协议分类、对比、工具,这三个基础打牢了,后面我们就能直接上手抓包了。