10x00前言
前段時間嘗試用虛擬機(jī)安裝Ubuntu系統(tǒng)和一款軟硬件開源的藍(lán)牙抓包器Ubertooth One來搭建藍(lán)牙嗅探環(huán)境,從官方推薦的Ubuntu16.04版本一直測試到22.04版本,看似簡單的藍(lán)牙環(huán)境嗅探,搭建過程卻遇到各種問題,如各版本報(bào)錯不一致,插件安裝失敗,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)

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

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

調(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藍(lán)牙協(xié)議簡介
藍(lán)牙低能耗(Bluetooth Low Energy,或稱Bluetooth LE、BLE,舊商標(biāo)Bluetooth Smart)也稱低功耗藍(lán)牙,是藍(lán)牙技術(shù)聯(lián)盟設(shè)計(jì)和銷售的一種個人局域網(wǎng)技術(shù),旨在用于醫(yī)療保健、運(yùn)動健身、信標(biāo)、安防、家庭娛樂等領(lǐng)域的新興應(yīng)用。相較經(jīng)典藍(lán)牙,低功耗藍(lán)牙旨在保持同等通信范圍的同時顯著降低功耗和成本。
傳統(tǒng)藍(lán)牙和低功耗藍(lán)牙對比:
-w1455
低功耗藍(lán)牙(Low Energy; LE),又視為Bluetooth Smart或藍(lán)牙核心規(guī)格4.0版本。其特點(diǎn)具備節(jié)能、便于采用,是藍(lán)牙技術(shù)專為物聯(lián)網(wǎng)(Internet of Things; IOT)開發(fā)的技術(shù)版本。
BLE主打功能是快速搜索,快速連接,超低功耗保持連接和傳輸數(shù)據(jù),弱點(diǎn)是數(shù)據(jù)傳輸速率低,由于BLE的低功耗特點(diǎn),因此普遍用于穿戴設(shè)備。
BLE優(yōu)點(diǎn)
1.高可靠性
對于無線通信而言,由于電磁波在傳輸過程中容易受很多因素的干擾,例如,障礙物的阻擋、天氣狀況等,因此,無線通信系統(tǒng)在數(shù)據(jù)傳輸過程中具有內(nèi)在的不可靠性。藍(lán)牙技術(shù)聯(lián)盟 SIG 在指定藍(lán)牙 4.0 規(guī)范時已經(jīng)考慮到了這種數(shù)據(jù)傳輸過程中的內(nèi)在的不確定性,在射頻,基帶協(xié)議,鏈路管理協(xié)議中采用可靠性措施,包括:差錯檢測和矯正,進(jìn)行數(shù)據(jù)編解碼,數(shù)據(jù)降噪等,極大地提高了藍(lán)牙無線數(shù)據(jù)傳輸?shù)目煽啃?,另外,使用自適應(yīng)調(diào)頻技術(shù),能最大程度地減少和其他 2.4G 無線電波的串?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個頻道進(jìn)行廣播有很大關(guān)系,而低功耗藍(lán)牙僅適用 3個廣播通道,且每次廣播時射頻的開啟時間也有傳統(tǒng)的 22.5ms 減少到 0.6~1.2ms,這兩個協(xié)議規(guī)范的改變,大幅降低了因?yàn)閺V播數(shù)據(jù)導(dǎo)致的待機(jī)功耗。
低功耗藍(lán)牙設(shè)計(jì)用深度睡眠狀態(tài)來替換傳統(tǒng)藍(lán)牙的空閑狀態(tài),在深度睡眠狀態(tài)下,主機(jī) Host 長時間處于超低的負(fù)載循環(huán) Duty Cycle 狀態(tài),只在需要運(yùn)作時由控制器來啟動,由于主機(jī)較控制器消耗的能源更多,因此這樣的設(shè)計(jì)也節(jié)省了更多的能源。
3.快速啟動/瞬間連接
此前藍(lán)牙版本的啟動速度非常緩慢,2.1 版本的藍(lán)牙啟動連接需要 6s 時間,而藍(lán)牙4.0版本僅需要3ms 即可完成。
4.傳輸距離增強(qiáng)
傳統(tǒng)藍(lán)牙傳輸距離一般為2-10米,而藍(lán)牙4.0的有效傳輸距離可以達(dá)到 60~100米,傳輸距離大大提高,極好的開拓了藍(lán)牙技術(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藍(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你的用戶名wireshark
0x03刷新固件
安裝好上述環(huán)境之后,如果你的Ubertooth one是之前買的,是需要更新一下固件版本:
查看一下當(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è)備將自動進(jìn)入DFU模式并刷新固件。
如果上訴操作沒有成功,可以嘗試將圖中設(shè)備短接一下再進(jìn)行固件刷新命令
固件更新完成后可以再次通過ubertooth-util -v查看固件版本,查看是否已更新固件成功。
tips
如果最后出現(xiàn)control message unsupported,則意味著更新固件失敗??梢酝ㄟ^運(yùn)行ubertooth-util -r 或重新拔插Ubertooth后再進(jìn)行固件更新。
40x04 開始嗅探
使用ubertooth-btle進(jìn)行掃描
在Wireshark中捕獲BLE數(shù)據(jù)
1.終端運(yùn)行命令:mkfifo /tmp/pipe創(chuàng)建管道文件
2.打開 Wireshark,單擊捕獲(Capture )->選項(xiàng)(Options)點(diǎn)擊窗口右側(cè)的管理接口(Manage Interfaces)按鈕
在管道(Pipe)文本框中,鍵入“ /tmp/pipe”,單擊OK保存后點(diǎn)擊“開始”,完成后在終端中,運(yùn)行ubertooth-btle:
ubertooth-btle -f -c /tmp/pipe
在 Wireshark 窗口中,可以看到數(shù)據(jù)包滾動。
可以使用ubertooth-btle -f -c test.pcap抓包并保存到本地
直接導(dǎo)入wireshark可能會顯示不正常,需要對wireshark進(jìn)行一些配置
1.單擊編輯(Edit)->首選項(xiàng)(Preferences)
2.單擊協(xié)議(Protocols)-> DLT_USER
3.單擊編輯,點(diǎn)擊加號(+),在DLT下,選擇“用戶0(DLT = 147),在有效載荷協(xié)議下,輸入:btle

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

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