【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

栏目: 编程工具 · 发布时间: 6年前

内容简介:该篇文章主要讲蓝牙设备的测试环境搭建以及能使用到的程序。

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

阅读: 3

该篇文章主要讲蓝牙设备的测试环境搭建以及能使用到的程序。

文章目录

硬件设备篇

硬件设备的话是针对那些没有app的或者没有Android的app的环境下进行的。 这里列出的 工具 有:

  • Ubertooth
  • Holling BLE sniffer
  • NORDIC dongle或者德州仪器(TI)CC2540
  • CC Debugger

Ubertooth

设备固件等内容地址: https://github.com/greatscottgadgets/ubertooth 包含环境安装、常见问题、wireshark联动、固件升级等内容等内容。

环境安装参照 https://github.com/greatscottgadgets/ubertooth/wiki/Build-Guide

  • 第一步 :在构建libbtbb和Ubertooth工具之前,需要安装一些先决条件。其中许多可从您的操作系统的软件包存储库中获得,以下为Debian / Ubuntu(kali)的内容如果其它系统请参照原网址
sudo apt-get install cmake libusb-1.0-0-dev make gcc g++ libbluetooth-dev \
pkg-config libpcap-dev python-numpy python-pyside python-qt4
  • 第二步 :然后安装libbtbb
    #wget https://github.com/greatscottgadgets/libbtbb/archive/2017-03-#R2.tar.gz -O libbtbb-2017-03-R2.tar.gz
    #tar xf libbtbb-2017-03-R2.tar.gz
    #cd libbtbb-2017-03-R2
    #mkdir build
    #cd build
    #cmake ..
    #make
    #sudo make install
    #sudo ldconfig
    
  • 第三步 :安装Ubertooth tools
    #wget #https://github.com/greatscottgadgets/ubertooth/releases/download/2017-03-R2/ubertooth-2017-03-R2.tar.xz -O ubertooth-2017-03-R2.tar.xz
    #tar xf ubertooth-2017-03-R2.tar.xz
    #cd ubertooth-2017-03-R2/host
    #mkdir build
    #cd build
    #cmake ..
    #make
    #sudo make install
    #sudo ldconfig
    
  • 第四步 :安装wireshark Wireshark BTBB和BR / EDR插件允许使用Kismet捕获的蓝牙基带流量在Wireshark GUI中进行分析和检测。它们与Ubertooth和libbtbb软件的其余部分分开构建。传递给cmake的目录MAKE_INSTALL_LIBDIR因系统而异,但它应该是现有Wireshark插件的位置,例如asn1.so和ethercat.so
    #sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake
    #cd libbtbb-2017-03-R2/wireshark/plugins/btbb
    #mkdir build
    #cd build
    #cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu/wireshark/libwireshark3/plugins ..
    #make
    #sudo make install
    
  • 第五步 :安装BT BR/EDR插件
    #sudo apt-get install wireshark wireshark-dev libwireshark-dev cmake
    #cd libbtbb-2017-03-R2/wireshark/plugins/btbredr
    #mkdir build
    #cd build
    #cmake -DCMAKE_INSTALL_LIBDIR=/usr/lib/x86_64-linux-gnu/wireshark/libwireshark3/plugins ..
    #make
    #sudo make install
    
  • 第六步 :联动wireshark 运行命令: mkfifo /tmp/pipe 打开Wireshark 点击捕获 – >选项 点击窗口右侧的“管理界面”按钮 点击“新建”按钮 在“管道”文本框中,输入“/ tmp / pipe” 点击保存,然后点击关闭 点击“开始”在终端中,运行ubertooth-btle:
    ubertooth-btle -f -c /tmp/pipe
    
    wireshark执行以下进行过滤
    btle.data_header.length > 0 || btle.advertising_header.pdu_type == 0x05
    

选择了ubertooth one启动,必须让三个LED灯亮起来。其中两个绿色的LED(RST和1.8V)都亮说明Ubertooth成功插在了你的主机上,红色LED(USB LED)亮了表示Ubertooth可以通过USB端口进行通讯了。

参考链接:

https://github.com/greatscottgadgets/ubertooth/wiki/Getting-Started

http://www.freebuf.com/sectool/95426.html

http://www.freebuf.com/articles/wireless/106298.html

http://www.freebuf.com/news/88281.html

Holling BLE sniffer

BLE设备是在37,38,39这3个频道进行广播,有时候是在一个频道广播,有时候是在这3个频道中轮询广播,而这些BLE Sniffer却只能监听某一个频道的数据,或者是轮询监听3个频道的数据,若只监听一个频道的数据,那么就有可能找不到不在这个频道广播的设备,当然用轮询监听3个频道的数据是可以解决这个问题,但是还是会有新的问题,那就是监听BLE设备连接问题,因为BLE设备在建立连接的时候,除了单频道广播的设备,其他多频道广播设备建立连接的频道是不固定的,这样就会导致轮询监听3个频道数据的BLE Sniffer存在丢失数据的可能。 Hollong BLE Sniffer内部使用3颗BLE芯片,同时抓取37,38,39这3个频道的数据。

参考链接: http://blog.csdn.net/viewtool2017/article/details/73887641

该工具相关程序资料下载地址 http://www.viewtool.com/product/BLE-Sniffer/

环境软件安装

下载并安装软件(一路下一步即可), 将设备通过USB线连接到电脑,等待驱动自动安装完毕。

启动软件,点击“Start”按钮,然后选择设备列表中的你需要查看数据的设备即可。

软件界面介绍

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

软件操作流程演示

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

NORDIC dongle(EN-Dongle)或者德州仪器(TI)CC2540

NORDIC的意思是使用nrf的sdk的dongle(另一位一起参加众测的iot设备的师傅推荐用这种)通常叫 EN-Dongle。 德州仪器(TI)CC2540这种雪碧师傅说过这种嗅探方案优点是廉价,不足是只能嗅探到广播信道的数据包,无法捕获连接完成后也就是设备通信过程中的数据包。

引用地址 http://www.freebuf.com/articles/wireless/106298.html

德州仪器(TI)CC2540环境安装

  • 第一步 : 把“ sniffer_fw_cc2540_usb.hex” 固件烧录到CC2540 USB Dongle,并在电脑上安装 SmartRF Packet Sniffer 驱动,详细内容可参考: https://wenku.baidu.com/view/0e4baac5daef5ef7bb0d3c0a.html  。正常来说购买时默认都烧录完成的
  • 第二步 : 打开SmartRF Packet Sniffer软件后,选择Bluetooth Low Energy并点击Start

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

  • 第三步 : 点击Start开始捕抓数据

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

在Radio Configuration tab选项中勾上Connect to Initiator Address并填入主机地址,捕抓设备将根据填入的地址去跟随主机与从机之间的数据连接,如果不选择这个选项,捕抓设备不会跟踪指定连接,会开始跟随在当前广播通道上(37)的出现第一个数据连接; 从机开始广播,捕捉到数据如下:

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

主机连接从机,捕抓数据如下:

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

参考链接: https://blog.csdn.net/zhuangjitongxue/article/details/49337445

SmartRF Packet Sniffer使用手册中文版: http://pan.baidu.com/s/1o6AbAqu

SmartRF Packet Sniffer使用手册英文版: http://pan.baidu.com/s/1o608kL8

EN-Dongle

软件需求:ble-sniffer_win_1.0.1和Wireshark

驱动及软件安装

  • CP2102驱动
  • Wireshark
  • Sniffer

安装CP2102驱动 :

解压“CP210x_VCP_Windows.zip”,解压后如下图,根据具体情况选择安装32位版本或64位版本驱动。

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

wireshark安装: 此处正常下载安装即可

安装Sniffer: Sniffer是绿色软件,无需安装,解压后双击“ble-sniffer_win_1.0.1_1111_Sniffer.exe”即可运行。

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

环境运行

  • 将EN-Dongle连接到计算机的USB接口上,并让EN-Dongle处于Central和Peripherel的信号覆盖范围内,如下图所示 :

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

  • 双击“ble-sniffer_win_1.0.1_1111_Sniffer.exe”,启动Sniffer。Sniffer启动后会自动检查串口及周围的 BLE 器件,如下图所示 :

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

上图中信息栏显示了Sniffer读取的串口是:COM25。设备列表中显示Sniffer已经抓取到两个BLE设备,编号分别是“0”和“1”。

  • 输入编号,选择BLE 器件,如下图所示 :

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

  • 输入“w”启动Wireshark,开始抓包 :

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

  • 启动Wireshark :

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

选中一个BLE包(这里捕获的是广播包),展开树形目录,即可看到Wireshark对这个广播包的分析

【蓝牙安全】蓝牙安全测试环境搭建(硬件设备篇)

参考链接: https://blog.csdn.net/lep150510/article/details/78770398

CC Debugger

参考链接: http://www.waveshare.net/txt/CC-Debugger-Interface.htm

该物件要连到蓝牙芯片上后安装SmartRF Packet Sniffer查看数据可以针对一些设备接收数据进行收集

注:

  1. CC Debugger的2和9引脚需要短接,方可识别CC254x。
  2. P2.2引脚一定要加上拉电阻,否则会下载失败。

使用手册 https://wenku.baidu.com/view/fb7271af941ea76e58fa04e7.html

另外说明

cc debugger 与 smartrfo4eb

  • 焦点问题1 :CC-Debugger仿真器和SmartRF04EB仿真器的区别?

答:该问题几乎是所有打算购买CC-Debugger仿真器用户的第一个问题,区别非常大,但是可以总结为下面三个方面

1、所支持的芯片差异

A) SmartRF04EB实测后支持的芯片有CC2430、CC2530、CC2531、CC2540,不支持CC2541

B) CC-Debugger支持的芯片非常之多,除了和04eb相同的仿真及下载功能外,还可以通过SPI总线控制CC系列的收发器。

2、能够连接的目标板电压不同

A) SmartRF04EB仿真器只能链接3.3V目标板电压,如果强行连接非3.3V接口,可能会烧坏芯片。仿真器目标接口的第2脚和第9脚是相同的,电压是3.3V

B) CC-debugger仿真器则支持宽目标板电压,从1.2V到3.6V均支持,为什么CC-Debugger能够支持这么宽的目标电压呢,这是因为CC-Debugger与目标芯片之间加了信号电平转换芯片:SN74AVC4T245DR。

3、所具有的的功能不同

A) 我们的SmartRF04EB只有仿真器的功能,如通过IAR软件在线仿真单步调试,以及通过Flash Programmer直接烧写hex文件

B) CC-Debugger除了具有和SmartRF04EB相同的功能外,还有具有协议分析的功能 使用CC-Debugger作为协议分析仪和独立的USBDongle协议分析仪有些区别,CC25xxUSBDongle作为协议分析仪时,独立工作,只需连接USB,就可以通过PacketSniffer抓包 而使用CC-Debugger用来协议分析时,需要连接目标芯片,连接的接口如上图,必须要接SPI。

  • 焦点问题2 :CC-Debugger无法识别目标芯片?

答:到目前为止,用户反映的不识别的情况只有下面三种:

1、没有向CC-Debugger放着器目标接口 第2脚提供Target Voltage,没有电压的愿意有两种,一个是你的板子没有供电,第二个就是你的板子debugger接口的第2脚没有接VCC。详情参加焦点问题1 如果你用的不是标准的10Pin,而是只有DC DD RESET GND四个信号,开发板无法提供连接VCC时,可以用杜邦线将CC-Debugger目标接口的第2脚和第9脚短接,自己对自己供电。

2、你自己做的板子存在虚焊,CC2540等CC系列的芯片通常是QFN封装,这种封装手工焊时非常容易出现虚焊。

3、忘记按复位按键,连接目标板之后,记住一定要按复位按键,然后仿真器识别到目标芯片后,再进行下一步操作。

  • 焦点问题3 :如何安装驱动,支持64位系统吗?

答:CC-Debugger是支持Win7 64位系统的,有对应的驱动程序。 安装下列软件会自动安装CC-Debugger驱动: SmartRF Studio、Flash Programmer、IAR For 8051、PacketSniffer等。如果软件已经安装,CC-Debugger驱动仍未能成功安装时,请到设备管理器中,右击带黄色感叹号的CC-Debugger,手动更新驱动程序, Flash Programmer软件自带的驱动程序位于(默认路径):C:\Program Files\Texas Instruments\SmartRF Tools\Drivers\cebal IAR For 8051软件自导的驱动程序位于(默认路径):C:\Program Files\IAR Systems\Embedded Workbench 6.0\8051\drivers\Texas Instruments


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Ordering Disorder

Ordering Disorder

Khoi Vinh / New Riders Press / 2010-12-03 / USD 29.99

The grid has long been an invaluable tool for creating order out of chaos for designers of all kinds—from city planners to architects to typesetters and graphic artists. In recent years, web designers......一起来看看 《Ordering Disorder》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具