蓝牙是手机常用的功能,现在的可穿戴设备的普及,使得蓝牙的应用变得十分广泛。
了解蓝牙对我们的测试工作变得十分重要,兼容性测试要做到测试各个蓝牙的版本和profile。否则会出现可怕的问题。(比如连接XX设备,自动重启)
测试中也蓝牙地址写错了等一些头疼的问题,这里先说明蓝牙的基本结构。后面的文章再说明详情。
1.蓝牙的协议栈:大致可以分三块结构,给两张图,说的其实是一个事情,看图就好,不多说什么。
分为三层
Profile详细依赖
2.抓取数据包:我们说的数据包,通常都是启动设备上蓝牙的协议栈自身的sniffer,也就是图片中黄色部分的数据log。
当然如果是在怀疑A设备没有正确的将数据交給B设备,就需要Air Interface上的sniffer,这需要在某宝上购买BT dangle了。
有个人介绍的比较好,见简书:(https://www.jianshu.com/p/73f7366161d1)
3.抓取log和分析数据包:一般的方法都是在android的开发者选项中,开启开启HCI信息收集日志。
当然高通和MTK会有各自的方法,比如开启特定的标志位,以抓取详细信息,或者使用特殊的抓包工具,涉及到特有内容,不方便公开。