我是靠谱客的博主 孤独万宝路,最近开发中收集的这篇文章主要介绍用FTS分析蓝牙数据包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.简介

 

2.HCI的command和event以及Data的格式
HCI Command Format:




3.Reset Command与Command Completed Event实例
 


Reset Command执行后将返回Command Completed Event,携带status参数。
Command Completed Event定义如下:

携带的event parameter为三个:Num_HCI_Command_packets,Command_Opcode和return_parameters
Num_HCI_Command_packets:表明controller要求host能够发送的command packet的个数,如果为0,表明controller禁止host发送command。
Command_Opcode和相应的HCI Command的Opcode域相同。
return_parameters即为HCI Command要求返回的status

利用FTS软件抓取实际蓝牙通信中的HCI层数据包,以Reset command和Command Completed Event为例,如下:
Reset Command:
上面的图是从软件中截下来的,可以看到OpCode为0x0c03,即OCF域为0000000011(0x0003),OGF域为000011(0x03)。因为是Little Endian的字节顺序,所以完整的OpCode为0x0c03。因为不携带command parameter,所以parameter total length为0。
再看Command Completed Event:


4.Read_BD_ADDR Command与Command Completed Event实例
首先看Read_BD_ADDR Comamd:

抓取实际的HCI Read_BD_ADDR Command包,如下:
 因为是Little Endian的字节顺序,所以完整的OpCode为0x0x1009因为不携带command parameter,所以parameter total length为0。
再看Command Completed Event:

首先是0x0e的EventCode,其次是ToralLength = 0x0A = 10,然后分别为Num_HCI_Command_packets = 0x02,OpCode一样为0x1009,然后为46个字节的BD_ADDR,分别为00000000 00010000 00100111的LAP(0x271000);10000100的UAP(0x84);01001100 11100000的NAP(0xe04c);最后的00000000为returned parameter,00000000代表Read_BD_ADDR Command执行成功。

最后

以上就是孤独万宝路为你收集整理的用FTS分析蓝牙数据包的全部内容,希望文章能够帮你解决用FTS分析蓝牙数据包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部