0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于樹莓派的藍牙協(xié)議抓包

jf_vLt34KHi ? 來源:Tide安全團隊 ? 2023-07-04 17:11 ? 次閱讀

10x00前言

前段時間嘗試用虛擬機安裝Ubuntu系統(tǒng)和一款軟硬件開源的藍牙抓包器Ubertooth One來搭建藍牙嗅探環(huán)境,從官方推薦的Ubuntu16.04版本一直測試到22.04版本,看似簡單的藍牙環(huán)境嗅探,搭建過程卻遇到各種問題,如各版本報錯不一致,插件安裝失敗,ubertooth固件問題等,查閱了很多材料,嘗試了很久都沒有成功,想到手頭還有個樹莓派,考慮到會有wireshark等界面交互連接了個3.5寸屏幕。

樹莓派環(huán)境境說明

樹莓派型號:樹莓派4B

操作系統(tǒng):Raspberry Pi OS  2023-05-03-raspios-bullseye/ Debian GNU/Linux 11 (bullseye)


Ubertooth固件版本:ubertooth 2018-12-R1(更新固件后ubertooth 2020-12-R1)

ubertooth tools 版本:libubertooth 1.1 (2020-12-R1), libbtbb 1.0(2018-06-R1)

Wireshark版本:Version 3.4.10(Git v3.4.10 packaged as 3.4.10-0+deb11u1)

樹莓派系統(tǒng)安裝

樹莓派安裝過程比較簡單,簡述一下

1.下載官網(wǎng)刻錄軟件

2.按需刻錄樹莓派系統(tǒng)

1d94e118-1a4a-11ee-962d-dac502259ad0.jpg

3.刻錄時提前配置開啟ssh、wifi

1dada216-1a4a-11ee-962d-dac502259ad0.jpg

4.將刻錄好的儲存卡插入到樹莓派中

此時就可以ssh連接樹莓派,如果有需要屏幕的情況比如wireshark圖形界面等,可以連接自帶的hdmi線到顯示屏上,如果覺得連接顯示屏有些麻煩,想用vnc連接遠程桌面

VNC連接

終端輸入命令sudo raspi-config,會彈出一個界面選擇Interface Options -> VNC-> enable -> YES即可開啟vnc

1dc44aca-1a4a-11ee-962d-dac502259ad0.jpg

調(diào)整臨時分辨率

但默認(rèn)連接vnc分辨率會比較小,無法看清屏幕內(nèi)容可以通過終端輸入以下命令臨時調(diào)整vnc分辨率,下次重啟后失效

vncserver -geometry 1920x1080

vnc連接是地址后加:1選擇通道1,例如192.168.1.1:1即可連接,但192.168.1.1仍可正常連接vnc

20x01藍牙協(xié)議簡介

藍牙低能耗(Bluetooth Low Energy,或稱Bluetooth LE、BLE,舊商標(biāo)Bluetooth Smart)也稱低功耗藍牙,是藍牙技術(shù)聯(lián)盟設(shè)計和銷售的一種個人局域網(wǎng)技術(shù),旨在用于醫(yī)療保健、運動健身、信標(biāo)、安防、家庭娛樂等領(lǐng)域的新興應(yīng)用。相較經(jīng)典藍牙,低功耗藍牙旨在保持同等通信范圍的同時顯著降低功耗和成本。

傳統(tǒng)藍牙和低功耗藍牙對比:

1e03bec6-1a4a-11ee-962d-dac502259ad0.jpg-w1455

低功耗藍牙(Low Energy; LE),又視為Bluetooth Smart或藍牙核心規(guī)格4.0版本。其特點具備節(jié)能、便于采用,是藍牙技術(shù)專為物聯(lián)網(wǎng)(Internet of Things; IOT)開發(fā)的技術(shù)版本。

BLE主打功能是快速搜索,快速連接,超低功耗保持連接和傳輸數(shù)據(jù),弱點是數(shù)據(jù)傳輸速率低,由于BLE的低功耗特點,因此普遍用于穿戴設(shè)備。

BLE優(yōu)點

1.高可靠性

對于無線通信而言,由于電磁波在傳輸過程中容易受很多因素的干擾,例如,障礙物的阻擋、天氣狀況等,因此,無線通信系統(tǒng)在數(shù)據(jù)傳輸過程中具有內(nèi)在的不可靠性。藍牙技術(shù)聯(lián)盟 SIG 在指定藍牙 4.0 規(guī)范時已經(jīng)考慮到了這種數(shù)據(jù)傳輸過程中的內(nèi)在的不確定性,在射頻,基帶協(xié)議,鏈路管理協(xié)議中采用可靠性措施,包括:差錯檢測和矯正,進行數(shù)據(jù)編解碼,數(shù)據(jù)降噪等,極大地提高了藍牙無線數(shù)據(jù)傳輸?shù)目煽啃?,另外,使用自適應(yīng)調(diào)頻技術(shù),能最大程度地減少和其他 2.4G 無線電波的串?dāng)_。

2.低成本、低功耗

低功耗藍牙支持兩種部署方式:雙模式和單模式,一般智能機上采用雙模式,外設(shè)一般采用 BLE 單模。

低功耗設(shè)計:藍牙 4.0 版本強化了藍牙在數(shù)據(jù)傳輸上的低功耗性能,功耗較傳統(tǒng)藍牙降低了 90%。

傳統(tǒng)藍牙設(shè)備的待機耗電量一直是其缺陷之一,這與傳統(tǒng)藍牙技術(shù)采用16至32個頻道進行廣播有很大關(guān)系,而低功耗藍牙僅適用 3個廣播通道,且每次廣播時射頻的開啟時間也有傳統(tǒng)的 22.5ms 減少到 0.6~1.2ms,這兩個協(xié)議規(guī)范的改變,大幅降低了因為廣播數(shù)據(jù)導(dǎo)致的待機功耗。

低功耗藍牙設(shè)計用深度睡眠狀態(tài)來替換傳統(tǒng)藍牙的空閑狀態(tài),在深度睡眠狀態(tài)下,主機 Host 長時間處于超低的負(fù)載循環(huán) Duty Cycle 狀態(tài),只在需要運作時由控制器來啟動,由于主機較控制器消耗的能源更多,因此這樣的設(shè)計也節(jié)省了更多的能源。

3.快速啟動/瞬間連接

此前藍牙版本的啟動速度非常緩慢,2.1 版本的藍牙啟動連接需要 6s 時間,而藍牙4.0版本僅需要3ms 即可完成。

4.傳輸距離增強

傳統(tǒng)藍牙傳輸距離一般為2-10米,而藍牙4.0的有效傳輸距離可以達到 60~100米,傳輸距離大大提高,極好的開拓了藍牙技術(shù)的應(yīng)用前景。

30x02環(huán)境安裝

測試發(fā)現(xiàn)自帶源速度還是挺快的,這里就不用換源了

1、安裝依賴

可以通過 sudo passwd root 重置下root密碼后再執(zhí)行sudo

sudoapt-getinstallcmakelibusb-1.0-0-devmakegccg++libbluetooth-dev
pkg-configlibpcap-devpython-numpypython-pysidepython-qt4

2、安裝libbtbb

wgethttps://github.com/greatscottgadgets/libbtbb/archive/2020-12-R1.tar.gz-Olibbtbb-2020-12-R1.tar.gz
tar-xflibbtbb-2020-12-R1.tar.gz
cdlibbtbb-2020-12-R1
mkdirbuild
cdbuild
cmake..
make
sudomakeinstall
sudoldconfig

3、安裝 Ubertooth tools

wgethttps://github.com/greatscottgadgets/ubertooth/releases/download/2020-12-R1/ubertooth-2020-12-R1.tar.xz
tar-xfubertooth-2020-12-R1.tar.xz
cdubertooth-2020-12-R1/host
mkdirbuild
cdbuild
cmake..
make
sudomakeinstall
sudoldconfig

4、安裝wireshark及ubertooth插件:

sudoapt-getinstallwiresharkwireshark-devlibwireshark-devcmake
cdlibbtbb-2020-12-R1/wireshark/plugins/btb
mkdirbuild
cdbuild
cmake-DCMAKE_INSTALL_LIBDIR=/usr/lib/arm-linux-gnueabihf/wireshark/plugins/..
make
sudomakeinstall

5、安裝wireshark藍牙插件

sudoapt-getinstallwiresharkwireshark-devlibwireshark-devcmake
cdlibbtbb-2020-12-R1/wireshark/plugins/btbredr
mkdirbuild
cdbuild
cmake-DCMAKE_INSTALL_LIBDIR=/usr/lib/arm-linux-gnueabihf/wireshark/plugins/..
make
sudomakeinstall

添加wireshark權(quán)限

sudogroupaddwireshark
sudochgrpwireshark/usr/bin/dumpcap
sudochmod4755/usr/bin/dumpcap
sudogpasswd-a你的用戶名wireshark

0x03刷新固件

安裝好上述環(huán)境之后,如果你的Ubertooth one是之前買的,是需要更新一下固件版本:

查看一下當(dāng)前固件版本:ubertooth-util -v

1e17829e-1a4a-11ee-962d-dac502259ad0.jpg

如果不是最新版本固件可以進入到之前下載的ubertooth-2020-12-R1文件夾下,找到 bluetooth_rxtx.dfu文件

cdubertooth-2020-12-R1/ubertooth-one-firmware-bin/
ubertooth-dfu-dbluetooth_rxtx.dfu-r

1e25da24-1a4a-11ee-962d-dac502259ad0.jpg

運行刷新固件命令,設(shè)備將自動進入DFU模式并刷新固件。

如果上訴操作沒有成功,可以嘗試將圖中設(shè)備短接一下再進行固件刷新命令

固件更新完成后可以再次通過ubertooth-util -v查看固件版本,查看是否已更新固件成功。

tips

如果最后出現(xiàn)control message unsupported,則意味著更新固件失敗。可以通過運行ubertooth-util -r 或重新拔插Ubertooth后再進行固件更新。

40x04 開始嗅探

使用ubertooth-btle進行掃描

在Wireshark中捕獲BLE數(shù)據(jù)

1.終端運行命令:mkfifo /tmp/pipe創(chuàng)建管道文件

2.打開 Wireshark,單擊捕獲(Capture )->選項(Options)點擊窗口右側(cè)的管理接口(Manage Interfaces)按鈕

1e55c6ee-1a4a-11ee-962d-dac502259ad0.jpg

在管道(Pipe)文本框中,鍵入“ /tmp/pipe”,單擊OK保存后點擊“開始”,完成后在終端中,運行ubertooth-btle:

ubertooth-btle -f -c /tmp/pipe

在 Wireshark 窗口中,可以看到數(shù)據(jù)包滾動。

1e75cd5e-1a4a-11ee-962d-dac502259ad0.jpg

可以使用ubertooth-btle -f -c test.pcap抓包并保存到本地

1e94d6f4-1a4a-11ee-962d-dac502259ad0.jpg

直接導(dǎo)入wireshark可能會顯示不正常,需要對wireshark進行一些配置

1.單擊編輯(Edit)->首選項(Preferences)

2.單擊協(xié)議(Protocols)-> DLT_USER

3.單擊編輯,點擊加號(+),在DLT下,選擇“用戶0(DLT = 147),在有效載荷協(xié)議下,輸入:btle

1eb56b6c-1a4a-11ee-962d-dac502259ad0.jpg

配置完成后,直接在wireshark中打開即可

1ecf4b5e-1a4a-11ee-962d-dac502259ad0.jpg

使用hcitool進行掃描

常用命令hcitool scan :掃描附近藍牙設(shè)備

1ef5f2c2-1a4a-11ee-962d-dac502259ad0.jpg

hcitool lescan :掃描附近低功耗藍牙設(shè)備

1f0ded64-1a4a-11ee-962d-dac502259ad0.jpg

使用bluetoothctl進行掃描

#bluetoothctl
#scanon
1f2bcc12-1a4a-11ee-962d-dac502259ad0.jpg





審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 虛擬機
    +關(guān)注

    關(guān)注

    1

    文章

    917

    瀏覽量

    28209
  • 藍牙協(xié)議
    +關(guān)注

    關(guān)注

    1

    文章

    29

    瀏覽量

    11419
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1707

    瀏覽量

    105653
  • Ubuntu系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    91

    瀏覽量

    3946

原文標(biāo)題:基于樹莓派的藍牙協(xié)議抓包

文章出處:【微信號:Tide安全團隊,微信公眾號:Tide安全團隊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    經(jīng)典藍牙解析說明

    在無線通信協(xié)議的開發(fā)過程中,器是工程師們不可或缺的工具。掌握器的使用,就如同擁有了能夠洞察無線電波的“火眼金睛”。這不僅使我們能夠驗
    的頭像 發(fā)表于 07-24 09:04 ?1991次閱讀
    經(jīng)典<b class='flag-5'>藍牙</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>解析說明

    請問藍牙USB Dongle是否可以藍牙2.0數(shù)據(jù)?

    各位社區(qū)朋友, 現(xiàn)在藍牙USB Dongle可以藍牙4.0數(shù)據(jù),是否可以2.0數(shù)據(jù)呢?
    發(fā)表于 09-26 10:32

    如何使樹莓與Arduino藍牙通信?

    樹莓三代自帶藍牙模塊 如何使樹莓與Arduino藍牙通信,Arduino采集的數(shù)據(jù)傳送到
    發(fā)表于 06-05 05:55

    如何實現(xiàn)樹莓藍牙通訊

    目錄一.準(zhǔn)備工作二.利用藍牙工具進行調(diào)試三.編譯使用gattlib一.準(zhǔn)備工作我使用的藍牙模塊是大夏龍雀的DX-BT16,支持BLE4.2協(xié)議。樹莓
    發(fā)表于 03-02 06:14

    請問BLE-Dongle是否支持協(xié)議分析?請問怎么進行協(xié)議分析?

    如題,請問貴司的BLE-Dongle是否支持協(xié)議分析?請問怎么進行協(xié)議分析?
    發(fā)表于 09-07 07:12

    樹莓裝機教程

    樹莓裝機教程樹莓裝機教程樹莓裝機教程樹莓
    發(fā)表于 11-25 10:14 ?52次下載

    樹莓3如何啟動藍牙連接_樹莓3如何設(shè)置系統(tǒng)時間_樹莓3如何設(shè)置中文環(huán)境

    本文主要說明樹莓3如何啟動藍牙連接,如何設(shè)置系統(tǒng)時間以及如何設(shè)置中文環(huán)境的教程步驟,具體的一起來了解一下詳細(xì)信息。
    發(fā)表于 12-08 15:55 ?1.3w次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3如何啟動<b class='flag-5'>藍牙</b>連接_<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3如何設(shè)置系統(tǒng)時間_<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>3如何設(shè)置中文環(huán)境

    樹莓是什么樹莓的簡單介紹

    要想玩轉(zhuǎn)樹莓,首先得知道樹莓是什么。在本節(jié)中,作者將帶領(lǐng)大家揭開樹莓的神秘面紗,了解
    發(fā)表于 05-15 18:09 ?30次下載
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>是什么<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的簡單介紹

    微雪電子樹莓配件G 游戲機配件介紹

    樹莓掌上游戲機配件 3.5寸屏 不含樹莓 60幀游戲體驗 告別畫面丟失和卡頓 型號 RPi配件
    的頭像 發(fā)表于 11-14 14:27 ?1629次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>配件<b class='flag-5'>包</b>G 游戲機配件<b class='flag-5'>包</b>介紹

    微雪電子樹莓AlphaBot配件介紹

    樹莓 智能機器人 Raspberry Pi智能車配件 可以實現(xiàn)循跡、避障、紅外遙控、網(wǎng)絡(luò)視頻監(jiān)控等功能 型號 AlphaBot-Pi配件
    的頭像 發(fā)表于 11-18 15:05 ?1654次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>AlphaBot配件<b class='flag-5'>包</b>介紹

    微雪電子樹莓4代B傳感器配件介紹

    樹莓4代B傳感器配件 含ARPI600 13種常用傳感器等 不含樹莓4代主板 型號 PI4B Sensor Acce
    的頭像 發(fā)表于 11-27 10:56 ?1780次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4代B傳感器配件<b class='flag-5'>包</b>介紹

    微雪電子樹莓4代B顯示配件介紹

    樹莓4代B顯示配件 含7寸電容屏超清屏 SD卡等 不含PI4B 不含樹莓4代B主板 型號 PI4B Display Acce
    的頭像 發(fā)表于 11-27 11:09 ?1847次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4代B顯示配件<b class='flag-5'>包</b>介紹

    微雪電子樹莓配件E簡介

    樹莓配件E 含5寸電阻屏帶外殼 SD卡 電源等 5寸高清觸摸屏、高速16GB Micro SD卡、量身定做的一體機外殼,將你樹莓打造成
    的頭像 發(fā)表于 01-10 09:45 ?1342次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>配件<b class='flag-5'>包</b>E簡介

    Wireshark數(shù)據(jù)網(wǎng)絡(luò)協(xié)議的分析

    。使用它,可以以各種方式抓取用戶所需要的網(wǎng)絡(luò)數(shù)據(jù)。但是用戶往往無法從數(shù)據(jù)中直接獲取所需要的數(shù)據(jù)。這是由于所有的信息在傳輸過程中,都會被按照各種網(wǎng)絡(luò)協(xié)議進行封裝。用戶想要從海量的數(shù)據(jù)
    發(fā)表于 10-12 08:00 ?1次下載
    Wireshark數(shù)據(jù)<b class='flag-5'>抓</b><b class='flag-5'>包</b>網(wǎng)絡(luò)<b class='flag-5'>協(xié)議</b>的分析

    【RT-Thread學(xué)習(xí)筆記】好用高性價比的BLE藍牙

    作為基于藍牙協(xié)議的開發(fā)者,少不了各種需要分析藍牙報文的應(yīng)用場景;而專業(yè)的藍牙
    的頭像 發(fā)表于 07-30 11:45 ?2785次閱讀
    【RT-Thread學(xué)習(xí)筆記】好用高性價比的BLE<b class='flag-5'>藍牙</b><b class='flag-5'>抓</b><b class='flag-5'>包</b>器