蓝牙调试工具介绍

前言

蓝牙有很多抓包工具,本篇就来汇总下常用蓝牙调试工具,针对这些调试工具air packet sniffer(空口包)和hci sniffer(空口包)进行详细说明,总结各个工具的使用场景。

常用的抓包工具介绍

总的抓包工具框图

img

总的抓包工具框图

hw hci sniffer:硬件hci sniffer,通过芯片模组上飞出四根线(TX,RX,CTS,RTS)到特定设备接到电脑上,通过PC上位机就能抓取硬件hci sniffer,host与controller之间的交互流程。

缺点:要付费买类似逻辑分析仪的抓包装备

如下图所示

img

soft hci sniffer: 软件hci sniffer可以是local host也可以是Remote Device端。local host设备端常用的就是hcidump,btmon,btsnoop. Remote Device端手机端也能抓btsnoop就要将手机的开发者选项打开抓btsnoop. soft hci sniffer与hw hci sniffer都是抓Hci sniffer, 区别就是hw hci sniffer是抓硬件的,soft hci sniffer是到了local host协议栈里用特定的工具通过特定的格式保存起来就成了soft hci sniffer 。

如下图所示

img

Air Packet sniffer: Air Packet sniffer最好用的是Ellisys Bluetooth Analyzer软件。一般做蓝牙的人都是用这个工具进行抓包分析的

优点:界面好分析,过滤性好一点 用途:抓的是整个local host和conntroller和整个remote local host和conntroller之间的空口包。

各个抓包工具的场景汇总

  • hw hci sniffer:就是要看local conntroller和local host之间交互的数据。要确定是驱动的问题,你就可以抓hw hci sniffer包。

    缺点是付费门槛高

  • soft hci sniffer:就是要看local conntroller和local host之间交互的数据。因为协议栈软件实现的组包数据所以不容易丢包。

  • Air Packet sniffer: 抓的是local controller和remote controller以及local controller和local host之间上层协议交互的数据。像异常断线,异常断开,异常连不上,蓝牙音乐顿卡,就是看两个蓝牙conntroller之间的交互数据必须要看Air Packet sniffer。

    缺点是很容易有错包,丢包现象

总结

  • 不管用什么工具去抓hci sniffer都要从配对开始抓,不从配对开始抓的话,能抓到CID但是你不连接的话它就并不知道是哪个上层的CID,CID是PSM连接的时候L2CAP动态分配的

  • 查看sniffer可以用Ellisys或者wireshark