蓝牙 - 抓包工具BPA600介绍

news2024/9/28 13:21:21

BPA 600开箱后,先把天线(antenna)装在后面的SMA接口上。

SMA connectors: 

SMA(SubMiniature version A)连接器是在20世纪60年代开发的半精密同轴射频连接器,是一种用于同轴电缆的最小连接器接口,具有螺旋式耦合机制。该连接器具有50Ω的阻抗。SMA最初设计用于从直流(0Hz)到12GHz的范围,然而随着时间的推移,这个范围已经扩大,可以达到18GHz和26.5GHz。SMA连接器最常用于微波系统、手持式无线电和移动电话天线,最近还用于WiFi天线系统和USB软件定义的无线电加密狗。

Status LED:

有两个状态LED,LOW ENERGY和BR/EDR的灯。

LED Color

Frontline BPA 600 Activity

LED Off

设备未工作。

Green

设备正在主动sniffing,等待蓝牙设备连接。

Blue

蓝牙设备已连接。

Intermittent Blue

(蓝灯闪烁)

正在监听蓝牙设备数据中。

将BPA 600和PC用USB线连接起来,用于通讯和供电。

有两个网口,IN和OUT,这个是用于和其他Frontline硬件的ProbeSync,用来共享clock,来保证精确的时间戳同步。

需要配合相应的软件,比如下载并安装exe文件:Frontline11.1-16.10.12321.12856_signed.exe

下载网站: http://www.fte.com

连接BPA 600硬件,打开ComProbe Protocol Analysis System软件后,运行后,如果设备的固件版本和软件工具版本不匹配,则会提示升级Firmware,当版本匹配后可正常使用。另外PC软件配套工具不是所有版本可用,而是根据你的设备的购买时间,购买之后一定时间内发布的工具才可用。所以要找对版本,新的可能是不能用的。还有,BPA 600在厂家产品系列里是已淘汰产品,有其他型号产品作为替代品。

数据抓取方法

安装TELEDYNE LECROY Frontline Protocol Analysis System软件后,运行ComProbe Protocol Analysis System.exe。

选择运行BPA 600。

控制窗口 Control Window:

分析仪在多个窗口中显示信息,每个窗口显示不同类型的信息。当在Select Data Capture Method(选择数据采集方法)窗口中单击Run(运行)按钮时,Control(控制)窗口打开。控制窗口提供对每个Frontline分析仪功能与设置的访问,以及对采集文件中数据的简要概述。工具栏上的每个图标代表一个不同的数据分析功能。

控制窗口的工具栏 Toolbar

所有的工具栏图标,都有相应的菜单栏条目或选项。

如上面的截图,各个工具栏图标的功能依次是:

打开一个capture file;

I/O设置;

开始抓取数据;

结束抓取数据;

保存capture file;

清除capture file;

Event显示;

Frame显示;

Notes对话框;

消息队列表;

窗口层叠排列;

数据包时间线;

。。。。

其他信息

在工具栏下面,是Configuration信息、Capture file和Status信息。

Status包括Not Active, Paused和Running。

Utilization/Events: 状态栏的后半部分给出了当前的利用率和网络上看到的事件总数。这是监控的事件总数,而不是捕获的事件总数。分析仪一直在监测电路,即使在没有主动捕获数据的时候。这些图表使你能够密切关注电路上发生的事情,而不需要你捕捉数据。

Frame Information on the Control Window:Frame Decoder信息在Control Window的最下面。显示两个信息(It displays two pieces of information).

Frame Decoder (233 fps) 表示每秒钟抓取的数据帧。

#132911表示抓取的总数据帧数。

100%表示缓冲空间的使用率。

根据是在实时抓取数据,还是在查看保存的cfa文件,Control Window的菜单可能不同。

抓取数据

下面的Devices Under Test窗口,用来设置分析仪需要的信息,以使其能够与piconet同步和抓取数据。

为了一开始蓝牙设备连接后,就能和其保持同步,协议分析仪需要蓝牙地址和时钟同步所用方法,然后才能对蓝牙通讯数据进行sniff。

可以选择BLE only,Classic only Single connection,Classic Only Multiple connections, Dual Mode Combination of Classic and low energy。

也就是监听的数据是两个BLE设备连接,两个Classic蓝牙设备连接,一个经典蓝牙master和两个slave连接,一个dual mode蓝牙设备同时和classic及BLE设备连接。

指定要抓取数据的设备时,可以手动直接输入设备地址,12位16进制数,也可以在下拉列表里选择。下拉列表里的设备可以点击工具栏的望远镜图标来进行扫描,来发现周围的设备。或者在菜单中选择BPA 600->Discover Devices。

抓取经典蓝牙数据,选择蓝牙设备时,不需要指定Master或Slave角色,所有的经典蓝牙连接都是角色无关的roleless。如上图。

当开始连接受,中间的箭头会显示连接的方向。比如下图,显示的就是手机作为Master连接一个外放Speaker的Slave:

下面是手机,上面是speaker。

如果Master和Slave的角色发生更换,则箭头方向也会发生变化。

抓取的数据被称为Datasource,使用Start Sniffing按钮开始抓取数据。

Channel Map (Classic Bluetooth)

Channel Map显示了哪些通道是可以用于Adaptive Frequency Hopping。

如下图:

这里白色表示通道可用,红色表示通道不可用,蓝色表示在此通道上捕捉到数据包。

当有通道从不可用变为可用,会reset此通道显示图,或者点击clear按钮,清除当前通道状态,全部变为白色。

如果是LE Only的监听方式,通道显示图是不可用的。

BPA 600 Devices Under Test - LE Only

Configure the BPA 600 protocol analyzer for sniffing Bluetooth low energy communications.

LE设备下拉列表里的默认选项是Sync with First Master。按下红色按钮开始sniffing后,分析仪会抓取第一个创建连接master设备的数据。如果要抓取广播通讯和连接数据(advertising traffic and the connections),需要指定设备地址。

输入设备地址,12位的hex number(digit hex number - 6 octets)。“0x”前缀会自动添加。

如果设备地址被识别了,下一步就是要设置加密信息。

Enter the Long Term Key for the LE Encryption:BLE中的Long Term Key和Classic中的Link key是类似的。这是个持久密钥(persistent key),在连接OK的两个设备上都会存储。 并在每次设备加密时用于导出一个新的加密密钥(encryption key)。

但有一些区别:

在经典蓝牙中,链接密钥更具两个设备的输入来生成,并由两个设备以相同的方式独立计算,然后持久地存储。在配对过程中,链接密钥本身不会在空中传输。

在LE中,长期密钥只在从属(slave)设备上产生,然后在配对过程中,被分配给想要在未来与该从属设备建立加密连接的主设备。因此,LTK在空中传输,但它是被加密的,使用的是在配对过程中产生的一次性(one-time key)密钥进行加密,并在使用之后丢弃(所谓的短期密钥 the so called short term key)。

与link key不同,这个LTK是有方向性的,也就是说(i.e.),它只用于从master到slave的连接(指配对过程中设备的角色)。如果设备在将来也想以另一种方式连接,那么在配对过程中处于master角色的设备(在配对过程中)也需要在配对过程中向处于slave角色的设备发送它自己的长期密钥(当然也要用short term key进行加密),这样在配对过程中处于从角色的设备在将来就可以成为主角色,并连接到在之前配对过程中处于主角色的设备(但此时会处于从角色)。

由于大多数简单的LE设备只做过从属设备,根本没有做过主设备,所以在配对过程中,第二次长期密钥交换是可选的。

当使用Copy/Paste来输入LTK时,Frontline会自动纠正格式,去除多余的空格。

Enter a Pin or out-of-band(OOB) value for Pairing:  这个可选信息提供了备选的配对方法。

1. PIN是一个(six-digit)六位数(如果省略前面的零,则更少 - or less if leading zeros are omitted)的十进制数字。

2. Out-of-Band(OOB)数据是一个16位数的十六进制代码,设备通过一个不同于LE传输的通道进行交换。这个通道被称为OOB。对于现成(off-the-shelf)的设备,我们不能嗅到OOB数据,但在实验室里,你可能会接触到通过这个通道交换的数据。

BPA 600 Devices Under Test - Classic Single Connection

可以手动输入蓝牙设备地址,或者在下拉列表中选择。Bluetooth device address,BD_ADDR。

手动输入的地址,也会添加到Device Database中,显示在下拉列表中。

在设备地址指定后,下一步要设定加密方式(Encryption),需要选择一种加密,然后输入加密的信息。

Current Link Key字段显示当前提供的链接密钥Link Key以及提供密钥时的日期和时间。链接钥匙的状态以下列图标显示:

蓝牙设备在通信时可以对其数据进行加密。加密链接上的蓝牙设备共享一个共同的链接密钥,以便交换加密数据。该链接密钥的创建方式取决于所使用的配对方法。

在I/O Settings对话框,有三种加密选项:

a. PIN Code (ASCII)

b. PIN Code (Hex)

c. Link Key

o 第一个和第二个选项使用PIN码来生成链接密钥。设备在配对过程中根据PIN码生成链接密钥。从这个过程中产生的链接密钥还需要基于一个随机数,所以安全性不会受到影响。如果分析器得到了PIN码,它可以用同样的算法确定链路密钥。由于分析器也需要随机数,分析器必须捕获整个配对过程,否则它不能生成链路密钥和解码数据。

例子:

如果ASCII字符PIN码是ABC,你选择输入ASCII字符,那么从加密下拉列表中选择PIN码(ASCII),在下面的字段中输入ABC。

如果您选择输入相当于ASCII字符PIN码ABC的十六进制字符,那么从加密下拉列表中选择PIN码(十六进制),并在该字段中输入0x414243。其中41相当于字母A的十六进制,42相当于字母B的十六进制,43相当于字母C的十六进制。

注意:当PIN码(十六进制)从加密下拉列表中被选中时,0x前缀会自动输入。

o 第三种,如果你事先知道链接密钥,你可以直接输入它。在加密列表中选择链接密钥,然后在编辑框中输入链接密钥。如果链接密钥已经在数据库中,在选择了Master和Slave设备后,链接密钥会自动输入编辑框中。你也可以从设备数据库中选择一个Master、Slave和链接密钥Link Key。

注意:当设备处于Secure Simple Pairing (SSP) Debug Mode时,无论加密配置如何,都会自动支持SSP。

o 如果任何一个蓝牙设备处于SSP Debug Mode,那么DPA 600分析仪可以自动计算出链路密钥,而你不必做任何事情。

o 如果蓝牙设备不允许启动调试模式(Debug Mode),就需要输入链接密钥,按照上面方法或使用其他方法来获得Link Key。

BPA 600 Devices Under Test - Dual Mode

注意:当选择和使用 "双模式 "或 "经典多连接 "时,必须将两个天线(LE和Classic)连接到ComProbe BPA 600硬件上。

输入经典蓝牙设备的地址。LE设备栏里,可以选择"Sync with Classic Devices Only"。

BPA 600 Devices Under Test - Classic Only Multiple Connection

多重连接指的是将一个主设备与两个从属蓝牙设备连接起来。分析仪需要知道从属设备和主设备的蓝牙设备地址(BD_ADDR)。分析仪需要知道每个设备的蓝牙设备地址(BD_ADDR),但它不需要知道哪个是主设备或从设备,因为ComProbe分析仪可以通过无角色连接为你计算出来。

参考:

1,SMA connector

https://en.wikipedia.org/wiki/SMA_connector

2,帮助文档

FrontlineUserManual.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/671232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

复旦大学高校专区入驻飞桨AI Studio,优质教育资源等你来学!

近日,复旦大学高校专区在飞桨人工智能学习与实训社区AI Studio上线,双方将携手搭建人工智能教学实训平台专区,汇集优质教学实训资源,校企共同培育复合型 AI 人才,为国家输送高质量人才,促进国家智能化进程。…

【机器学习】Kullback-Leibler散度实现数据监控

https://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence 一、说明 本篇叙述了KL 散度的数学、直觉和如何实际使用;以及它如何最好地用于过程监测。Kullback-Leibler 散度度量(相对熵)是信息论中的一种统计测量方法,通…

深入理解Dockerfile

一、是什么 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。把镜像比喻成一个软件那么DockerFile就相当于是软件的配置文件。具体的内容可参考[官方网站](Dockerfile reference | Docker Documentation。 二、能做什么 通…

密码学中的SM2

目录 概述 功能 密钥生成 基点G的生成 模数p 密钥生成过程 加解密 加密过程: 解密过程: 数字签名 概述 对第5步r的计算方式分析 对第6步s的计算方式分析 加密模式 优缺点 论文和研究方向推荐 论文 研究方向 概述 SM2是中国密码学算法…

qt 时间编程之时钟

这里写目录标题 开启time格式自动 QTIM打点 qtime qt的时间类 qtimer qt的定时类 头文件包含以及定义 #include<QTime> #include<QTimer>QTime * time; QTimer * timer;开启 右键槽 timer start&#xff08;50&#xff09; 到达50毫米的时候会触发 time out信号…

Unreal 5 实现场景环境控制组件

我在场景中发现了一个环境控制器&#xff0c;这个场景实现了雨天天气和晴天风沙天气&#xff0c;接下来我分析一下这个天气控制器是如何实现。 实现流程&#xff1a; 将环境控制器拖入场景&#xff0c;在配置项上面设置相应的雾&#xff0c;主光源&#xff0c;天空光。在环境控…

Spring Cloud Alibaba-全链路灰度设计

文章目录 灰度发布概念灰度发布架构Spring Cloud Alibaba技术架构下的灰度发布实现基础设计HttpHeader设计 Spring Cloud Gateway改造Spring Cloud Gateway实现灰度发布过滤器 自定义Loadbalancer微服务注册元信息修改自定义LoadBalancer使用 测试代码放到了github上[地址]() 灰…

STM32F4_CAN详解

目录 1. CAN简介 2. CAN协议的物理层 2.1 CAN协议中的差分信号 3. CAN协议的协议层 3.1 CAN的报文种类及结构 4. STM32的CAN外设 4.1 CAN框图 5. CAN相关结构体 6. CAN相关寄存器 7. 硬件设计 7.1 TJA1050芯片 8. 库函数配置CAN初始化 9. 实验代码 9.1 main.c 9…

SpringBoot问题-----------可以同时处理多少个请求

SpringBoot之可以同时处理多少个请求 SpringBoot的运行方式springBoot中tomcat的位置最小、最多工作线程数最大连接数等待数 SpringBoot的运行方式 SpringBoot项目中内嵌了tomcat 程序的运行就是通过tomcat来实现的&#xff1b;springBoot可以同时处理多少个请求其实就是在说 …

图像生成—使用GANs给出代码示例

文章目录 图像生成简单介绍—使用GANs给出代码示例1. 什么是生成对抗网络&#xff08;GANs&#xff09;2. 准备数据集3. 构建生成器和判别器4. 训练GAN模型5. 生成新图像6. 总结 图像生成简单介绍—使用GANs给出代码示例 图像生成是指使用计算机算法生成图像的过程。这些图像可…

C++ | 多线程使用vector

多线程使用vector 文章目录 多线程使用vector场景描述原因分析解决代码测试不扩容和提前扩容 size 与 capacity 变化欢迎关注公众号【三戒纪元】 场景描述 最近在看代码优化&#xff0c;看到有这样的代码&#xff1a; std::vector<int> valid_indices;void SimbaSegmen…

APP测试面试题快问快答(五)

21. App自动化你用的什么工具&#xff1f; 框架&#xff1a;Appium 编译环境和工具&#xff1a;python3.7和PyCharm 环境&#xff1a;Android sdk 第三方模拟器&#xff1a;夜神、蓝叠等模拟器 定位工具&#xff1a;uiautomatorviewer 实时日志查看&#xff1a;ddms 22.…

Tapdata 重磅更新已就绪!全托管云服务上线,应用场景再扩展

继 5 月举办的 「连接 1 次孤岛&#xff0c;服务 N 个场景」主题产品发布会后&#xff0c;Tapdata Live Data Platform 现已实现功能特性的全面升级&#xff0c;并基于自身产品能力积极探索在应用场景层面的落地实践及无限可能。 在去年 6 月的 Tapdata 2.0 发布会上&#xff…

Threejs实现数字人3D粽子

个人主页&#xff1a; 左本Web3D&#xff0c;更多案例预览请点击》 在线案例 个人简介&#xff1a;专注Web3D使用ThreeJS实现3D效果技巧和学习案例 &#x1f495; &#x1f495;积跬步以至千里&#xff0c;致敬每个爱学习的你。喜欢的话请三连&#xff0c;有问题请私信或者加微…

美国访问学者的父母如何申请探亲签证?

对于美国访问学者的父母来说&#xff0c;申请探亲签证是能够让他们在美国与子女团聚的重要途径。下面是知识人网小编整理的一些关于如何申请探亲签证的基本步骤和要点&#xff0c;希望对您有所帮助。 第一步&#xff1a;了解签证类型 在开始申请探亲签证之前&#xff0c;父母需…

【增值税发票识别 OCR】如何实现自动化发票管理

导言 在现代商业环境中&#xff0c;管理和处理大量的增值税发票数据是一项繁琐而重要的任务。传统的手动处理方法既费时又容易出错&#xff0c;而使用增值税发票识别OCR API可以实现自动化的发票管理&#xff0c;大大减少人工处理的工作量。本文将介绍如何利用增值税发票识别O…

Hadoop --- HDFS介绍

HDFS 全称是Hadoop Distributed File System hadoop分布式&#xff08;cluser&#xff09;文件存储系统。适合一次写入&#xff0c;多次读出的场景。 HDFS不需要单独安装&#xff0c;安装Hadoop的时候带了HDFS系统。 Hadoop安装可以参考&#xff1a; 有基础的&#xff0c;已…

轻松了解OPC:实时数据通信领域的必备神器!

OPC简介 OPC&#xff08;OLE for Process Control&#xff0c;进程控制对象连接&#xff09;是一种在工业自动化领域中被广泛使用的技术&#xff0c;它允许不同厂商的自动化设备之间进行通信和数据交换。 OPC技术最早是由美国的软件公司OPC Foundation推出的&#xff0c;它通…

【jsDelivr】jsDelivr - 一个免费、快速、可靠的为JS和开源项目服务的CDN

文章目录 jsDelivr 简介jsDelivr 工作原理 jsDelivr加速域名如下cdn.jsdelivr.net 2023/06/21 域名解析结果fastly.jsdelivr.net 2023/06/21 域名解析结果gcore.jsdelivr.net 2023/06/21 域名解析结果test1.jsdelivr.net 2023/06/21 域名解析结果 仓库拓展 - 其他CDNnpmESMGitH…

nginx nginx-module-vts 监控模块

nginx nginx-module-vts 监控模块 大纲 nginx-module-vts 安装nginx-module-vts 配置监控字段总结配置参数总结vhost_traffic_status_filter_by_host 使用vhost_traffic_status_filter_by_set_key 使用 nginx-module-vts 安装 nginx-module-vts 可以实现对nginx 各个虚拟主…