通过此方法可以揭秘iPhone与其他蓝牙产品的交互流程啦,iPhone蓝牙HCI log的抓取方式详解

117 篇文章 3 订阅

一. 声明
本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:

第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。

第二篇:Transport层介绍,主要介绍蓝牙协议栈跟蓝牙芯片之前的硬件传输协议,比如基于UART的H4,H5,BCSP,基于USB的H2等

第三篇:传统蓝牙controller介绍,主要介绍传统蓝牙芯片的介绍,包括射频层(RF),基带层(baseband),链路管理层(LMP)等

第四篇:传统蓝牙host介绍,主要介绍传统蓝牙的协议栈,比如HCI,L2CAP,SDP,RFCOMM,HFP,SPP,HID,AVDTP,AVCTP,A2DP,AVRCP,OBEX,PBAP,MAP等等一系列的协议吧。

第五篇:低功耗蓝牙controller介绍,主要介绍低功耗蓝牙芯片,包括物理层(PHY),链路层(LL)

第六篇:低功耗蓝牙host介绍,低功耗蓝牙协议栈的介绍,包括HCI,L2CAP,ATT,GATT,SM等

第七篇:蓝牙芯片介绍,主要介绍一些蓝牙芯片的初始化流程,基于HCI vendor command的扩展

第八篇:附录,主要介绍以上常用名词的介绍以及一些特殊流程的介绍等。

另外,开发板如下连接红字,对于想学习蓝牙协议栈的最好人手一套。以便更好的学习蓝牙协议栈,相信我,学完这一套视频你将拥有修改任何协议栈的能力(比如Linux下的bluez,Android下的bluedroid)。

------------------------------------------------------------------------------------------------------------------------------------------

CSDN学院链接(进入选择你想要学习的课程):https://edu.csdn.net/lecturer/5352?spm=1002.2001.3001.4144

蓝牙交流扣扣群:970324688

Github代码:https://github.com/sj15712795029/bluetooth_stack

入手开发板:https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w4004-22329603896.18.5aeb41f973iStr&id=622836061708

------------------------------------------------------------------------------------------------------------------------------------------

另外,欢迎关注公众号,我会定期推送干货给你们

二. iPhone抓HCI数据包的方法
在实际开发过程中,可能我们想知道iPhone跟三方产品的蓝牙交互结果,但是无奈抓不了HCI log,air log也无法获取Linkkey导致看不了交互流程,所以基于这个痛点,我找到了一种可以做到的方法,只是门槛有点高,需要mac电脑以及MFI账户才行!且听我娓娓道来!如果搞不到Mac电脑跟MFI账户的人自行绕道,告辞!!

此部分的主要用途是用来抓iPhone的HCI数据,有以下几个用途:

了解iPhone蓝牙的流程
如果研发过程中出现兼容性问题,可以通过HCI log来定位是iPhone的问题还是我们本地协议栈的问题
通过iPhone抓取的HCI log来找到Linkkey破解Air log,这个的用途是假设一个产品(是另外公司做的),想看看他跟iphone的交互流程,但是抓取的air log无法破解,这个时候这种方法就能用的上了
2.1 软件工具的准备以及安装
需要的设备:iPhone跟Mac电脑,示意图如下:

 MAC电脑通过一根USB线接到iPhone手机,然后安装下软件(软件以及MFI账户需要自己想办法,都是NDA资料,不方便泄漏)

Mac电脑需要安装ATS软件,并且有MFI账户
iPhone手机需要IOS在13以上,以及需要安装ATS Utility,并且同样需要有MFI账户
2.1.1 iPhone使用步骤:
① 安装完毕ATS Utility

② 打开ATS Utility,选择ATS tool

③ 打开ATS Tool,选择Tethered Bluetooth的INSTALL,此过程会填写MFI账户以及下载一个配置描述文件,下载下来

④ 然后打开iPhone的设置,会多一个已下载的描述文件,点进去点击安装!

  

至此iPhone这边已经安装配置完毕,我们来看下mac端的设置

2.1.2 Mac使用步骤:
① 安装完毕ATS

② 打开ATS,点击小+号

③ 打开后选择如图所Wireless 选项卡,在有设备的情况下选择Protocol选择IAP2

④ 点击Start Capture,此时选择后iPhone会出现这个符号

⑤ 然后正常操作蓝牙界面就会有数据了,他只有几个协议的解析,HCI,L2CAP,SDP,IAP,所以这个对我来说的主要用途只有两个,开发IAP2使用和抓取Linkkey,抓取的图片如下:

至此,你通过ATS可以看HCI的交互了,但是有一个弊端,这个主要是用来开发IAP2的,所以HCI的交互没有像Ellisys/Frontline/Wireshark协议显示那么齐全,所以最佳的的作用应该是看linkkey,解密air log,直接通过air log来看交互流程!
————————————————
版权声明:本文为CSDN博主「Wireless_Link」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/114914919

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值