1. 有线/无线网卡通信
常见于设备端与云端的通信过程中。
抓包方式
使设备端通过有线/无线的方式通过能做端口镜像的交换机,直接监听端口镜像。
如果没有这种交换机,也可以尝试用计算机开热点,然后监听热点的通信内容。
2. 通过4G/2G通信
也常见于设备端和云端的通信过程中。
抓包方式
如果是2G模块通信,可以用USRP、BladeRF等搭建一个仅限于研究的基站,有很多开源的项目可供参考如openBTS、openBSC等。
如果是4G模块通信的话,那就需要自己写一张卡,然后通过srsLTE等项目搭建个仅限研究的基站,由此实现通信数据的监听。
3. Bluetooth
常见于手机端和设备端的通信。
bluetooth有两种通信模式:
- br/edr, 又称为经典蓝牙,常用于手机和耳机的通信;
- le,又称为称为低功耗蓝牙,智能设备中更常见。
抓包方式
usb dongle抓包工具只能监听未配对的ble通信,不管是经典蓝牙还是低功耗蓝牙,配对之后会产生link key用于加密通信,这种加密会导致usb dongle无法监听。
高级点的抓包设备如Ellisys比较贵。
一般不监听空气中的蓝牙通信,而是在手机端监听bluetooth通信内容,在Android手机端开启HCI log之后,可以通过此日志分析蓝牙通信。也可以逆向手机app,分析蓝牙相关代码。
4. Zigbee
常见于设备端与设备网关的通信。
抓包方式
通常情况下,我们选择比较廉价的usb dongle作为监听设备。由于很多厂家在开发固件的时候,并没有更改默认的Global Link key,这就导致我们给usb dongle设置同样的密钥,即’ZigbeeAlliance09’,就可以直接监听一部分智能设备的通信内容。如果设备端更改了默认的密钥,那就没有特别好用的监听方法了。
5. 其它
LoRa、NB-IOT、以及一些未授权频段等,暂时没啥好的监听方法。
6. 参考资料
- https://www.kanxue.com/chm.htm
- https://bbs.pediy.com/thread-261679.htm
- https://bbs.pediy.com/thread-259530.htm