找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

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

2020-7-27 10:07| 发布者: 蓝牙协议栈开发| 查看: 2330| 评论: 0|原作者: 于忠军

摘要: 一. 声明本专栏文章我们会以连载的方式持续更新,本专栏计划更新内容如下:第一篇:蓝牙综合介绍 ,主要介绍蓝牙的一些概念,产生背景,发展轨迹,市面蓝牙介绍,以及蓝牙开发板介绍。第二篇:Transport层介绍,主要介 ...
一. 声明

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


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

第二篇: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

------------------------------------------------------------------------------------------------------------------------------------------
 
二. 前言
首先在介绍以下内容之前,我们先来介绍下我们的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,流程图等操作,这部分文档讲解起来比较麻烦,建议看我们视频教程吧!


路过

雷人

握手

鲜花

鸡蛋

最新评论

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2024-4-20 17:02 , Processed in 0.137800 second(s), 31 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部