从空中截获BLE数据包看蓝牙5协议流程【第四部分:Ellisys蓝牙5连接分析】

关注"无线技术联盟", 提供有价值的市场信息和最新的技术分析

从空中截获BLE数据包看蓝牙5协议流程前两系列已经讲过蓝牙5的广播与连接数据包分析,但所用的工具为BT4.2抓包工具,今天采用Ellisys抓包工具分析蓝牙5的连接,更新PHY几个关系的步骤,以图文为主,详细SPEC流程请参考从空中截获BLE数据包看蓝牙5协议LL层连接部分。需要原始完整抓包数据的同学,可以后台和我取得联系。

从空中截获BLE数据包看蓝牙5协议流程【第一部分:beacon广播】

从空中截获BLE数据包看蓝牙5协议流程【第二部分:蓝牙LL层连接】

使用的抓包工具: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

  • 1M PHY切换到编码Coded PHY

3.蓝牙MAC地址:

  • Slave: 0xF0F8F2D2BB7F

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

蓝牙连接

上一讲讲了蓝牙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更新流程。

需要原始完整抓包数据的同学,可以后台和我取得联系。

无线技术联盟微信公众号,提供有价值的市场信息和最新的技术分析,欢迎关注交流,转载请注明出处。

发布了32 篇原创文章 · 获赞 46 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/weixin_42583147/article/details/84035671