10x00前言
前段時(shí)間嘗試用虛擬機(jī)安裝Ubuntu系統(tǒng)和一款軟硬件開(kāi)源的藍(lán)牙抓包器Ubertooth One來(lái)搭建藍(lán)牙嗅探環(huán)境,從官方推薦的Ubuntu16.04版本一直測(cè)試到22.04版本,看似簡(jiǎn)單的藍(lán)牙環(huán)境嗅探,搭建過(guò)程卻遇到各種問(wèn)題,如各版本報(bào)錯(cuò)不一致,插件安裝失敗,ubertooth固件問(wèn)題等,查閱了很多材料,嘗試了很久都沒(méi)有成功,想到手頭還有個(gè)樹(shù)莓派,考慮到會(huì)有wireshark等界面交互連接了個(gè)3.5寸屏幕。
樹(shù)莓派環(huán)境境說(shuō)明
樹(shù)莓派型號(hào):樹(shù)莓派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)
樹(shù)莓派系統(tǒng)安裝
樹(shù)莓派安裝過(guò)程比較簡(jiǎn)單,簡(jiǎn)述一下
1.下載官網(wǎng)刻錄軟件
2.按需刻錄樹(shù)莓派系統(tǒng)

3.刻錄時(shí)提前配置開(kāi)啟ssh、wifi

4.將刻錄好的儲(chǔ)存卡插入到樹(shù)莓派中
此時(shí)就可以ssh連接樹(shù)莓派,如果有需要屏幕的情況比如wireshark圖形界面等,可以連接自帶的hdmi線(xiàn)到顯示屏上,如果覺(jué)得連接顯示屏有些麻煩,想用vnc連接遠(yuǎn)程桌面
VNC連接
終端輸入命令sudo raspi-config,會(huì)彈出一個(gè)界面選擇Interface Options -> VNC-> enable -> YES即可開(kāi)啟vnc

調(diào)整臨時(shí)分辨率
但默認(rèn)連接vnc分辨率會(huì)比較小,無(wú)法看清屏幕內(nèi)容可以通過(guò)終端輸入以下命令臨時(shí)調(diào)整vnc分辨率,下次重啟后失效
vncserver -geometry 1920x1080
vnc連接是地址后加:1選擇通道1,例如192.168.1.1:1即可連接,但192.168.1.1仍可正常連接vnc
20x01藍(lán)牙協(xié)議簡(jiǎn)介
藍(lán)牙低能耗(Bluetooth Low Energy,或稱(chēng)Bluetooth LE、BLE,舊商標(biāo)Bluetooth Smart)也稱(chēng)低功耗藍(lán)牙,是藍(lán)牙技術(shù)聯(lián)盟設(shè)計(jì)和銷(xiāo)售的一種個(gè)人局域網(wǎng)技術(shù),旨在用于醫(yī)療保健、運(yùn)動(dòng)健身、信標(biāo)、安防、家庭娛樂(lè)等領(lǐng)域的新興應(yīng)用。相較經(jīng)典藍(lán)牙,低功耗藍(lán)牙旨在保持同等通信范圍的同時(shí)顯著降低功耗和成本。
傳統(tǒng)藍(lán)牙和低功耗藍(lán)牙對(duì)比:
-w1455
低功耗藍(lán)牙(Low Energy; LE),又視為Bluetooth Smart或藍(lán)牙核心規(guī)格4.0版本。其特點(diǎn)具備節(jié)能、便于采用,是藍(lán)牙技術(shù)專(zhuān)為物聯(lián)網(wǎng)(Internet of Things; IOT)開(kāi)發(fā)的技術(shù)版本。
BLE主打功能是快速搜索,快速連接,超低功耗保持連接和傳輸數(shù)據(jù),弱點(diǎn)是數(shù)據(jù)傳輸速率低,由于BLE的低功耗特點(diǎn),因此普遍用于穿戴設(shè)備。
BLE優(yōu)點(diǎn)
1.高可靠性
對(duì)于無(wú)線(xiàn)通信而言,由于電磁波在傳輸過(guò)程中容易受很多因素的干擾,例如,障礙物的阻擋、天氣狀況等,因此,無(wú)線(xiàn)通信系統(tǒng)在數(shù)據(jù)傳輸過(guò)程中具有內(nèi)在的不可靠性。藍(lán)牙技術(shù)聯(lián)盟 SIG 在指定藍(lán)牙 4.0 規(guī)范時(shí)已經(jīng)考慮到了這種數(shù)據(jù)傳輸過(guò)程中的內(nèi)在的不確定性,在射頻,基帶協(xié)議,鏈路管理協(xié)議中采用可靠性措施,包括:差錯(cuò)檢測(cè)和矯正,進(jìn)行數(shù)據(jù)編解碼,數(shù)據(jù)降噪等,極大地提高了藍(lán)牙無(wú)線(xiàn)數(shù)據(jù)傳輸?shù)目煽啃裕硗猓褂米赃m應(yīng)調(diào)頻技術(shù),能最大程度地減少和其他 2.4G 無(wú)線(xiàn)電波的串?dāng)_。
2.低成本、低功耗
低功耗藍(lán)牙支持兩種部署方式:雙模式和單模式,一般智能機(jī)上采用雙模式,外設(shè)一般采用 BLE 單模。
低功耗設(shè)計(jì):藍(lán)牙 4.0 版本強(qiáng)化了藍(lán)牙在數(shù)據(jù)傳輸上的低功耗性能,功耗較傳統(tǒng)藍(lán)牙降低了 90%。
傳統(tǒng)藍(lán)牙設(shè)備的待機(jī)耗電量一直是其缺陷之一,這與傳統(tǒng)藍(lán)牙技術(shù)采用16至32個(gè)頻道進(jìn)行廣播有很大關(guān)系,而低功耗藍(lán)牙僅適用 3個(gè)廣播通道,且每次廣播時(shí)射頻的開(kāi)啟時(shí)間也有傳統(tǒng)的 22.5ms 減少到 0.6~1.2ms,這兩個(gè)協(xié)議規(guī)范的改變,大幅降低了因?yàn)閺V播數(shù)據(jù)導(dǎo)致的待機(jī)功耗。
低功耗藍(lán)牙設(shè)計(jì)用深度睡眠狀態(tài)來(lái)替換傳統(tǒng)藍(lán)牙的空閑狀態(tài),在深度睡眠狀態(tài)下,主機(jī) Host 長(zhǎng)時(shí)間處于超低的負(fù)載循環(huán) Duty Cycle 狀態(tài),只在需要運(yùn)作時(shí)由控制器來(lái)啟動(dòng),由于主機(jī)較控制器消耗的能源更多,因此這樣的設(shè)計(jì)也節(jié)省了更多的能源。
3.快速啟動(dòng)/瞬間連接
此前藍(lán)牙版本的啟動(dòng)速度非常緩慢,2.1 版本的藍(lán)牙啟動(dòng)連接需要 6s 時(shí)間,而藍(lán)牙4.0版本僅需要3ms 即可完成。
4.傳輸距離增強(qiáng)
傳統(tǒng)藍(lán)牙傳輸距離一般為2-10米,而藍(lán)牙4.0的有效傳輸距離可以達(dá)到 60~100米,傳輸距離大大提高,極好的開(kāi)拓了藍(lán)牙技術(shù)的應(yīng)用前景。
30x02環(huán)境安裝
測(cè)試發(fā)現(xiàn)自帶源速度還是挺快的,這里就不用換源了
1、安裝依賴(lài)
可以通過(guò) 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藍(lán)牙插件
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你的用戶(hù)名wireshark
0x03刷新固件
安裝好上述環(huán)境之后,如果你的Ubertooth one是之前買(mǎi)的,是需要更新一下固件版本:
查看一下當(dāng)前固件版本:ubertooth-util -v

如果不是最新版本固件可以進(jìn)入到之前下載的ubertooth-2020-12-R1文件夾下,找到 bluetooth_rxtx.dfu文件
cdubertooth-2020-12-R1/ubertooth-one-firmware-bin/ ubertooth-dfu-dbluetooth_rxtx.dfu-r

運(yùn)行刷新固件命令,設(shè)備將自動(dòng)進(jìn)入DFU模式并刷新固件。
如果上訴操作沒(méi)有成功,可以嘗試將圖中設(shè)備短接一下再進(jìn)行固件刷新命令
固件更新完成后可以再次通過(guò)ubertooth-util -v查看固件版本,查看是否已更新固件成功。
tips
如果最后出現(xiàn)control message unsupported,則意味著更新固件失敗。可以通過(guò)運(yùn)行ubertooth-util -r 或重新拔插Ubertooth后再進(jìn)行固件更新。
40x04 開(kāi)始嗅探
使用ubertooth-btle進(jìn)行掃描
在Wireshark中捕獲BLE數(shù)據(jù)
1.終端運(yùn)行命令:mkfifo /tmp/pipe創(chuàng)建管道文件
2.打開(kāi) Wireshark,單擊捕獲(Capture )->選項(xiàng)(Options)點(diǎn)擊窗口右側(cè)的管理接口(Manage Interfaces)按鈕
在管道(Pipe)文本框中,鍵入“ /tmp/pipe”,單擊OK保存后點(diǎn)擊“開(kāi)始”,完成后在終端中,運(yùn)行ubertooth-btle:
ubertooth-btle -f -c /tmp/pipe
在 Wireshark 窗口中,可以看到數(shù)據(jù)包滾動(dòng)。
可以使用ubertooth-btle -f -c test.pcap抓包并保存到本地
直接導(dǎo)入wireshark可能會(huì)顯示不正常,需要對(duì)wireshark進(jìn)行一些配置
1.單擊編輯(Edit)->首選項(xiàng)(Preferences)
2.單擊協(xié)議(Protocols)-> DLT_USER
3.單擊編輯,點(diǎn)擊加號(hào)(+),在DLT下,選擇“用戶(hù)0(DLT = 147),在有效載荷協(xié)議下,輸入:btle

配置完成后,直接在wireshark中打開(kāi)即可
使用hcitool進(jìn)行掃描
常用命令hcitool scan :掃描附近藍(lán)牙設(shè)備
hcitool lescan :掃描附近低功耗藍(lán)牙設(shè)備
使用bluetoothctl進(jìn)行掃描
#bluetoothctl #scanon

審核編輯:劉清
-
虛擬機(jī)
+關(guān)注
關(guān)注
1文章
973瀏覽量
30662 -
藍(lán)牙協(xié)議
+關(guān)注
關(guān)注
1文章
35瀏覽量
11741 -
樹(shù)莓派
+關(guān)注
關(guān)注
122文章
2081瀏覽量
110718 -
Ubuntu系統(tǒng)
+關(guān)注
關(guān)注
0文章
93瀏覽量
4672
原文標(biāo)題:基于樹(shù)莓派的藍(lán)牙協(xié)議抓包
文章出處:【微信號(hào):Tide安全團(tuán)隊(duì),微信公眾號(hào):Tide安全團(tuán)隊(duì)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
經(jīng)典藍(lán)牙抓包解析說(shuō)明
請(qǐng)問(wèn)藍(lán)牙USB Dongle是否可以抓藍(lán)牙2.0數(shù)據(jù)包?
如何使樹(shù)莓派與Arduino藍(lán)牙通信?
如何實(shí)現(xiàn)樹(shù)莓派的藍(lán)牙通訊
請(qǐng)問(wèn)BLE-Dongle是否支持抓包協(xié)議分析?請(qǐng)問(wèn)怎么進(jìn)行抓包協(xié)議分析?
樹(shù)莓派3如何啟動(dòng)藍(lán)牙連接_樹(shù)莓派3如何設(shè)置系統(tǒng)時(shí)間_樹(shù)莓派3如何設(shè)置中文環(huán)境
樹(shù)莓派是什么樹(shù)莓派的簡(jiǎn)單介紹
微雪電子樹(shù)莓派配件包G 游戲機(jī)配件包介紹
微雪電子樹(shù)莓派AlphaBot配件包介紹
微雪電子樹(shù)莓派4代B傳感器配件包介紹
微雪電子樹(shù)莓派4代B顯示配件包介紹
Wireshark數(shù)據(jù)抓包網(wǎng)絡(luò)協(xié)議的分析
【RT-Thread學(xué)習(xí)筆記】好用高性?xún)r(jià)比的BLE藍(lán)牙抓包器
樹(shù)莓派分類(lèi)器:用樹(shù)莓派識(shí)別不同型號(hào)的樹(shù)莓派!
基于樹(shù)莓派的藍(lán)牙協(xié)議抓包
評(píng)論