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