新手,今天在抓BLE空中数据包的一些疑问:
1、手机连接BLE外围设备后,手机屏幕可以显示所有的服务,那问题就来了,BLE主设备一定有发现服务的流程,但为什么USB Dongle抓不到这个流程
2、在读取特性值时,从USB Dongle抓的数据包可以看出,它是根据属性句柄来读取特性值的,那么问题又来了,手机(主设备)怎么知道这个句柄,从USB Dongle抓的数据包来看,没有这方面的流程
猜想:是否是由于我USB Dongle的版本低,还是它本身就不支持解析这些数据包
欢迎大家来一起讨论
Yan:
jinming,
1. 你的手机和BLE是否有配对加密?如果有,那就抓不到。如果没有,你应该能看到read by group之类的交互,那就是服务查找。
2. 是通过服务查找和特征值查找,手机会把句柄对应起来。这个你有兴趣可以去看一下蓝牙的spec。
用最新的1.4.1 SDK,你的dongle就是最新的。
问题来了,问题又来了,这都out的说法了,流行已经过去了。。。。。。
jinming lu:
回复 Yan:
我修改了GAP绑定管理如下:
uint32_t passkey=0;
uint8_t pairMode=GAPBOND_PAIRING_MODE_NO_PAIRING;
uint8_t mitm=FALSE;
uint8_t ioCap=GAPBOND_IO_CAP_NO_INPUT_NO_OUTPUT;
uint8_t bonding=FALSE;
这样应该不会加密了吧
但还是抓不到你说的read by group