上次我们讲了黑客如何攻击蓝牙漏洞。网络攻防入门必知:黑客如何攻击蓝牙漏洞
接下来我们来分析一下蓝牙数据监控!
作为一个没有用过的新手,我尝试从零开始搭建环境,相关配置,依赖来监控并配合蓝牙数据进行蓝牙数据监控与分析。
环境描述
版本:14.0.0 build-
操作系统:14.04.5 LTS
软件版本:2018-12-R1
版本:2018-12-R1
版本:2.6.6(Git v2.6.6为2.6.6-1~.04.0)
本次编译安装的目的是为了能够查看和分析监控到的蓝牙数据包,所以需要两个部分:(应用程序主体)和(蓝牙基带库,源码中有插件)
其实还有一个需要注意的部分,就是下载的源码里包含的,也就是硬件对应的固件,由于固件是跟软件配套的,所以在编译软件的时候需要把对应的固件刷到硬件里,不然会报API不匹配的问题(下面会讲到)
软件编译
软件的编译部分其实很简单,如果你用系统的话,官方git上有相关说明,而且很详细,傻瓜都可以搞定,下面就简单讲解一下。
首先这里是官方的WiKi(Build-Guide)的链接,如果你阅读能力强的话,可以直接看官方的说明,下面的描述都是以示例的方式。
首先安装编译环境,比如cmake、gcc等,命令:
sudo apt-get cmake -1.0-0-dev 制作 gcc g++ -dev \
pkg--dev-numpy--qt4
(蓝牙基带库)
接下来安装蓝牙基带库( ),下载源码并解压,我这里也是用了官方的命令,正好安装的是2018-12-R1版本。
wget -O
-2018-12-R1.tar.gz
tar -xf -2018-12-R1.tar.gz
如果不会使用wget命令的话,也可以直接在页面下载(注意版本和文件名),然后手动解压~~
接下来按照官方的说明,使用cd命令进入解压后的文件夹,使用mkdir命令新建一个名为build的文件
文件夹,用于编译源代码。然后就是简单粗暴的make过程。但请注意,最后的make必须使用sudo
去运行吧(我用Kali很久了,都忘了“以管理员身份运行”的存在了。。。)完整命令如下:
cd-2018-12-R1
mkdir 构建
光盘制作
制作...
制作
sudo 制作
如果没有错误,则表示安装成功。以下是我构建过程的一些截图:
根据官方说明,第一次安装可能会出现错误,或者找不到lib库,此时需要执行
须藤
就是这样了,虽然不知道为什么,安装的时候也没有任何错误提示。
工具
工具软件指的是在命令行输入-xxx之类的命令就可以执行的东西。编译的时候使用wget命令或者直接在页面下载然后解压即可。官方命令如下:
获得
R1/-2018-12-R1.tar.xz
tar xf-2018-12-R1.tar.xz
以下步骤相同,新建build文件夹,在该文件夹下运行cmake-make-make即可完成安装:
cd-2018-12-R1/主机
mkdir 构建
光盘制作
制作...
制作
sudo 制作
需要注意的是编译是在宿主文件夹下进行的,解压后的源代码中还有很多其他文件夹,注意不要
错误
同样官方在这里也给出了提示,如果第一次编译或者报找不到lib库的问题,请在命令行中输入:
须藤
到此,基带和工具都安装好了。现在插上电源,分配给虚拟机,在命令行输入-util -v,查看你当前的固件版本。
这里我已经刷过固件了,所以显示的版本是2018-12-R1(刷固件前忘记截图了),能看到固件就说明btbb库和工具安装成功了。
插件
根据官方的issus 50,作者回答了关于该插件的问题:
对于2.0之前的版本,您需要在编译插件 - 对于2.0~2.2版本,您需要在编译插件 对于2.2+版本,您不需要编译任何插件,因为官方已经带来了相关插件。
因此可以直接跳过插件编译步骤。
固件升级
使用前需要更新硬件中的固件,上面tools部分提到的-util -v命令可以查看当前刷入的固件版本。另外还有一个API版本问题,要求固件API版本要和tools版本一致,否则无法使用。
工具源代码包含固件,它是一个 .dfu 文件。源代码中有一个可以直接使用的固件,位于 -2018-12-R1/-one--bin/.dfu。更新固件的命令是
是的:
-dfu -d .dfu -r
我在虚拟机里执行这步的时候就出现错误提示,每次执行完就尝试切换到DFU模式,USB显示无法识别,同时硬件上的四个红色指示灯不停的从暗色变成浅红色,不知道是我的虚拟机有问题还是我的USB口有问题。
尝试了很久没有成功之后,找了一个,安装好工具,执行上面的命令,刷入成功。
这里有一个官方指南。如果你收到类似 Error: Error: (-1) 的错误信息,或者硬件上的四个灯都在运行,则需要重新编译固件。你需要使用 -2018-12-R1/ 文件夹。
编译命令如下:
cd-2018-12-R1/
清理所有 && 制作
-dfu -r -d /.dfu
当一直提示“to find”错误时,我也尝试编译固件,结果证明不是固件
由于编译好的固件没有刷入成功,因此本节就不详细介绍了。
数据包捕获验证设置
至此,前期的准备工作已经完成,接下来需要将采集到的数据进行链接传输,进行分析。这里我们主要参考官方 Wiki,步骤如下:
1.在终端中运行命令:/tmp/pipe
2.打开选择‘->’设置抓包接口
3.点击右下角的‘ ’,进入管理界面
4. 切换到“管道”选项卡
5.保存设置,选择“/tmp/pipe”,点击开始
6.此时在终端中运行命令:-btle -f -c /tmp/pipe
切换回去你应该能够看到滚动的数据包。
这里要注意的一点是,“/tmp/pipe”命令需要在所有其他步骤之前执行,即先创建管道文件,然后设置为读,最后使用-btle命令进行写,如果顺序错误,是不会成功的。
一些小问题
DLT=147,请检查您的 ->->
对这个问题我个人的理解是,没有专门的类别可以识别这一类的数据包,所以需要手动指定。
这是在执行任何操作之前(报告错误时)。
步骤很简单:
1. 点击编辑 -> (编辑 -> 首选项);
2.选择左侧下方的选项;
3. 单击编辑按钮。
4.点击左下角的“+”添加一条记录,在DLT中选择DLT=147,双击需要修改的部分,填写btle,点击OK保存。
現在顯示已正常。
修复之后是这样的:
:
该问题是由于在 2.2+ 版本下按照官方的 Build Guide 编译插件导致的,原因在上面插件编译部分已经提到,2.2+ 版本无需任何插件编译,可直接使用。
因为我花了很长时间才了解到各个版本的区别,所以想在这里提一下,记录一下。
以下是错误消息的屏幕截图:
下次我们再来说说征服直发器无用事件吧!
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。