截获BLE数据包看蓝牙5协议流程

电子说

1.2w人已加入

描述

使用的抓包工具:Ellisys

今天用的Ellisys的界面如下所示,可以分为三个部分, 左上为40个信道监视图,左下为某一个或者多个设备(MAC地址)的交互数据,我们只谈只谈BLE,所以其他wifi,zigbee等功能可以忽略。

路由器

蓝牙设备工作状态介绍:

1.从机设备广播状态:

Connectable LE Coded -> LE Coded 

Connectable LE Coded -> 2M on aux 

2.主机连接从机过程:

主机在2M PHY 下建立连接

2M PHY切换到1M PHY

3.蓝牙MAC地址:

Slave: 0xF0F8F2D2BB7F

Master: F0:F8:F2:1F:57:1B

蓝牙5 PHY层简介:

路由器

蓝牙连接

上一讲讲了蓝牙5广播数据分析,今天接着看连接过程,下图是一个请求连接全过程,总共分为6个阶段,1-4阶段为广播,5为请求连接,6为回应连接。

1-4阶段分析请参考上一篇文章:

5,6阶段发生在数据信道上,5为连接请求,因为是专属蓝牙5连接,可以看到其指令为AUX_CONNECT_REQ(主请求),AUX_CONNECT_REQ携带的参数和BT4.2并无太大差异,hopping channel,interval,latency等等。

在接收到信号之后从机会回应一帧AUX_CONNECT_REP。

路由器

路由器

路由器

PHY层更新

如上面所示,Sniffer是在2M PHY下建立的连接,整个抓包实验,我把蓝牙的PHY 从2M PHY更新到1M PHY,最后更新到Coded PHY,三个阶段,如下图所示。

路由器

2M -> 1M PHY更新和Coded PHY更新

从下图可以看到,更新PHY阶段有三个阶段,主机发送更新请求:LLCP_PHY_REQUEST,在下图右下可以看到,主机请求更新PHY 层到1M PHY, 从机接收到请求,并回复LLCP_PHY_RESPONSE,RSPONSE中回复主机可以用1M PHY,最后主机发送LLCP_PHY_UPDATE,进过几个数据包的调整之后方能更新到1M PHY上。

路由器

路由器

路由器

路由器

1M PHY -> Coded PHY更新

过程和上面一致,不过多赘述。

路由器

路由器

路由器

路由器


总结

用两张图来总结我觉得恰到好处,图1,蓝牙5连接过程,图2,蓝牙5 PHY更新流程。

路由器

路由器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分