蓝牙协议分析工具Wireshark/Frontline/Ellisys的使用

星期三, 12 08月 2020

我个人是把Wireshark分为以下几个部分

1)菜单栏位

2)工具栏位

3)视图栏位

4)选中包汇总栏位

5)选中包raw data栏位

一. 声明


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

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

第二篇: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学院链接(进入选择你想要学习的课程):undefined

蓝牙交流扣扣群:970324688

Github代码:undefined

入手开发板:undefined

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

二. 前言

首先在介绍以下内容之前,我们先来介绍下我们的CSDN课程,以下介绍内容都会在 CSDN课程 手把手教你蓝牙协议栈入门(点击我)中第二小节介绍。

三. Wireshark/Frontline/Ellisys工具的使用

1. Wireshark的使用

我们随便打开一个用我们协议栈为例,打开界面如下:

我个人是把Wireshark分为以下几个部分

1)菜单栏位

2)工具栏位

3)视图栏位

4)选中包汇总栏位

5)选中包raw data栏位

我们分别来介绍下以上栏位

1)菜单栏位,菜单栏位没啥好讲的,我主要说下着色规则吧,因为你可能用Wireshark打开可能没有颜色,所以对各个HCI数据包类型区分的不是很清晰

选择视图->着色规则

要勾选对应的协议,然后打开视图->着色分组列表。就可以了

2)工具栏位,没啥好讲的,就是菜单栏位的一些快捷按钮,可以按照自己的喜好加进来

3)视图栏位,视图栏位我们有以下几个要说明的

①过滤功能

可以看到着色规则的地方有规律关键字

比如我们先看下HCI command,那么我们敲下bthci_cmd,会过滤出来hci command

还有很多过滤的命令,具体看着色器关键字

②协议数据包

显示整个流程的封包,可以点击某一个封包会在视图④视图⑤中具体显示内容

4)选中包汇总栏位

5)选中包raw data栏位

2. Frontline的使用

Frontline工具其实有很多型号,就蓝牙而言比如有抓air log sniffer的,有抓HCI log的(需要接线到蓝牙芯片TX,RX,通过夹子接都蓝牙芯片飞出来的线)

我们此部分来讲通过Frontline来打开btsnoop,首先安装完Frontline后会显示以下几个内容

目前我们只是用到Capture File Viewer.把btsnoop文件直接拖到Carture File Viewer就行了,打开效果如图所示:

在看btsnoop的时候一般只会用到图片中①②③

①是显示raw data的,打开如图所示:

一般是配合着②来使用,②视图选中某一个封包后①会跳转到具体的位置。

②是显示整个交互封包的流程的整个封包视图,打开如图所示:

分别包括具体消息的解析视图,协议分层视图以及协议整个封包视图,可以选中某一个命令,最左侧就会出现对应的解析

③实现是整个交互流程流程图,打开如图所示:

这些流程图可以dump出来,可以从协议来区分,也可以让整个流程图出来,至于其他应用菜单,可以去查看下user manual手册。

3. Ellisys工具的使用

那到了Ellisys了,是我最喜欢的工具了·,Ellisys的air log sniffer要二三十万吧·一般不是专业开发蓝牙的估计不会选择使用这个工具,但是即使我们不买这个设备,安装了Ellisys的工具也可以看btsnoop的·下面我就一步一步教你通过Ellisys来打开btsnoop.

1)首先打开APP,这个没什么好说的,Ellisys不能直接把btsnoop拖进来打开

2)选择File->Import,出现以下界面。

3)选择HCI data.commands and events.点击next.会出现以下界面。

4)然后选择BT snoop HCI,通过Browser来打开特定的文件。点击next

5)到了这步就不用管了,直接Finsh就好了·打开效果如图所示

其中下图是协议选择框

把鼠标放上去就会有对应的是什么协议提示出来。比如上图我们选择的是All layers,就是所以协议都会显示。

这个框就是协议交互每包数据的显示

右边的框框就是特定选中数据包协议的解析

另外,Ellisys还有到处audio,流程图等操作,这部分文档讲解起来比较麻烦,建议看我们视频教程吧!

10798 次

星期三, 12 08月 2020