史上最全的藍(lán)牙調(diào)試工具【集合匯總】
該部分主要分享一下常用的藍(lán)牙調(diào)試工具,方便后續(xù)藍(lán)牙抓包及分析。
-
3.1、hciconfig
-
3.2、hcitool
-
3.3、hcidump
-
3.4、hciattach
-
3.5、btmon
-
3.6、bluetoothd
-
3.7、bluetoothctl
1hciconfig
工具介紹:hciconfig,HCI設(shè)備配置工具
命令格式:hciconfig、hciconfig [-a] hciX [command ...]
詳細(xì)命令如下:
只介紹幾種常用命令
-
幫助信息:hciconfig -h
-
查看設(shè)備詳細(xì)信息:hciconfig -a hci0或者h(yuǎn)ciconfig
-
打開/關(guān)閉/重置hci設(shè)備:hciconfig hci0 up/down/reset
-
認(rèn)證打開/關(guān)閉:hciconfig hci0 auth/noauth,直接體現(xiàn)在進(jìn)行藍(lán)牙連接時(shí),是否輸入連接PIN密碼,用于PIN配對(duì)
-
查看/改變藍(lán)牙主從狀態(tài):hciconfig hci0 lm、hciconfig hci0 lm slave
-
查看/設(shè)置藍(lán)牙名稱:hciconfig hci0 name、hciconfig hci0 name Donge
-
開啟/關(guān)閉廣播:hciconfig hci0 leadv/ noleadv
-
查看支持的鏈路層狀態(tài):hciconfig hci0 lestates
hciconfig詳細(xì)介紹參考:https://blog.51cto.com/dongyulong/442289
2hcitool
工具介紹:hcitool,HCI 設(shè)備管理工具
命令格式:hcitool [options][command parameters]
詳細(xì)命令如下:
只介紹幾種常用命令
-
幫助信息:hcitool --help
-
查看HCI設(shè)備信息:hcitool dev
-
發(fā)現(xiàn)周圍藍(lán)牙設(shè)備:hcitool -i hci0 inq
-
藍(lán)牙掃描:hcitool -i hci0 inq
-
查看探查到的藍(lán)牙信息:hcitool -i hci0 name 88:A9:B7:E6:F1:8F
-
發(fā)送CMD藍(lán)牙命令:hcitool cmd --help
這個(gè)命令非常好用,它允許我們不用寫代碼就可以發(fā)送自己想發(fā)的任何HCI命令,我們先看下幫助信息
-
創(chuàng)建/刪除藍(lán)牙連接:hcitool -i hci0 cc/dc --ptype=dm1,dh3,dh5 01:02:03:04:05:06
-
掃描附近BLE藍(lán)牙設(shè)備:hcitool -i hci0 lescan
-
連接/斷開BLE設(shè)備:hcitool -i hci0 lecc/ledc 12:34:56:C2:9C:C7
參考連接:https://blog.csdn.net/u010764600/article/details/119684001
3
hcidump
工具介紹:hcidump,HCI sniffer,藍(lán)牙包的分析工具,hcidump讀取發(fā)送和接受藍(lán)牙設(shè)備的原始hci數(shù)據(jù),并按照人可以識(shí)別的命令、事件、數(shù)據(jù)格式打印到屏幕上,轉(zhuǎn)儲(chǔ)信息還可以保存到一個(gè)當(dāng)?shù)匚募校瑥亩WC轉(zhuǎn)儲(chǔ)文件在后續(xù)進(jìn)行解析。
命令格式:hcidump [OPTION...] [filter]
詳細(xì)命令如下:
只介紹幾種常用命令
-
幫助信息:hcidump -h
-
仿真設(shè)備選定:hcidump -i hci0
-
導(dǎo)出文件:hcidump -i hci0 -w bt_debug.cfa
-
選定格式:hcidump -i hci0 -X
-
顯示時(shí)間:hcidump -i hci0 -t
-
常用命令:hcidump -i hci0 -Xt -w bt_debug.cfa &,以Asicc、Hex打印,并且添加時(shí)間戳,轉(zhuǎn)存到bt_debug.cfa文件中
該命令,可以將HCI傳輸?shù)臄?shù)據(jù)包記錄到文件內(nèi),通過Windows的ViewCfa應(yīng)用可以詳細(xì)查看每個(gè)包的數(shù)據(jù)。
4hciattach
工具介紹:hciattach,該工具通過UART HCI將串行設(shè)備連接到BlueZ協(xié)議棧,作為HCI傳數(shù)接口。
命令格式:hciattach [-n] [-p] [-t timeout] tty type| id speed flow bdaddr
詳細(xì)命令如下:
只介紹幾種常用命令
-
幫助信息:hciattach
-
-n:不脫離控制終端
-
-p:當(dāng)脫離控制終端時(shí),打印PID信息
-
-t:設(shè)置超時(shí)時(shí)間
-
tty:指定綁定的串口設(shè)備,/dev可以省略掉
-
type|id:藍(lán)牙設(shè)備的類型或id,例如vendor或者設(shè)備指定的標(biāo)識(shí)
-
any:不指定HCI_UART接口
-
ericsson:愛立信基礎(chǔ)模塊
-
-s:speed串口波特率設(shè)置
-
flow:表示硬件流控制;noflow:表示不進(jìn)行流控制
-
bdaddr:藍(lán)牙設(shè)備地址,如果指定了該參數(shù),則地址將用于初始化設(shè)備。否則,將使用默認(rèn)地址。
使用案例:rtk_hciattach -n -s 115200 ttyS0 rtk_h5 &
5btmon
工具介紹:btmon,該工具用于監(jiān)控藍(lán)牙數(shù)據(jù)
命令格式:btmon,該工具用于監(jiān)控藍(lán)牙數(shù)據(jù)`
詳細(xì)命令如下:
只介紹幾種常用命令
-
幫助信息:btmon -h
-
-w:將數(shù)據(jù)寫入文件xxx.log中,==該文件最好為未存在的文件,否則可能會(huì)有問題==
-
-T:顯示時(shí)間和日期
-
-s:開始監(jiān)控的socket
-
-r:-w寫入的文件,僅支持btmon -r xxx.log讀取
-
-i:監(jiān)控的控制設(shè)備,一般為hci0
-
常用命令:btmon -i hci0 -w btmon_debug.log &、btmon -r btmon_debug.log
上面的命令,通過-w寫入文件,-r讀出文件,只能該工具讀出
擴(kuò)展:btmon -r btmon_debug.log > 1.txt將讀出的轉(zhuǎn)為txt文件,方便文本查看:)
6bluetoothd
工具介紹:bluetoothd,調(diào)試工具
命令格式:bluetoothd [OPTION?]
詳細(xì)命令如下:
只介紹幾種常用命令
-
幫助信息:bluetoothd -h
-
-d:使能DEBUG調(diào)試
-
-C:提供過時(shí)的命令
-
-n:運(yùn)行程序時(shí),前臺(tái)打印LOG信息
示例:bluetoothd -C -n &
7bluetoothctl
工具介紹:bluetoothctl,調(diào)試工具
命令格式:bluetoothctl [command]
詳細(xì)命令如下:
只介紹幾種常用命令
-
幫助信息:bluetoothd help
-
bluetoothctl:進(jìn)入命令行模式
-
list:查看控制器信息
-
show:查看詳細(xì)控制器信息
-
paired-devices:顯示配對(duì)的設(shè)備
-
power on:上電控制器
-
advertise on:開啟廣播
-
scan on/off:開啟/關(guān)閉掃描
-
version:版本信息
-
exit/quit:退出
至此,上面是Bluetooth調(diào)試所需要的一些工具的簡(jiǎn)單介紹,大家可以進(jìn)行嘗試!
另外,如果有同學(xué)想了解Bluetooth協(xié)議的,可以在【菜單欄】下載Core_v4.1.pdf和Core_v5.0.pdf