从特定设备捕获蓝牙信标

  • 本文关键字: bluetooth-lowenergy bluez
  • 更新时间 :
  • 英文 :


我需要捕获BLE信标并检查其内容。在未能说服wireshark这样做之后,我发现bluez包中的普通bluetoothctl可以这样做:

[bluetooth]# scan on
Discovery started
[CHG] Controller CC:15:31:5F:73:4A Discovering: yes
[NEW] Device 49:DA:89:B3:9B:19 49-DA-89-B3-9B-19
[NEW] Device 20:C9:D0:47:DB:AA 20-C9-D0-47-DB-AA
[NEW] Device 60:72:21:DF:F9:A4 60-72-21-DF-F9-A4
[NEW] Device 52:CF:9F:A6:85:C9 52-CF-9F-A6-85-C9
[NEW] Device 66:A6:75:A7:2E:69 66-A6-75-A7-2E-69
[NEW] Device 6C:D9:CF:B3:9F:34 6C-D9-CF-B3-9F-34
[NEW] Device 68:B3:E4:9B:27:36 68-B3-E4-9B-27-36
[NEW] Device 7E:F6:07:0E:CC:9F 7E-F6-07-0E-CC-9F
[NEW] Device 56:AA:85:3D:4B:EB 56-AA-85-3D-4B-EB
[NEW] Device 4C:C9:5E:33:42:09 4C-C9-5E-33-42-09
[NEW] Device 7A:FC:C2:18:ED:9C 7A-FC-C2-18-ED-9C
[CHG] Device 4C:C9:5E:33:42:09 Class: 0x000c043c
[CHG] Device 4C:C9:5E:33:42:09 Icon: audio-card

我的问题是我的环境相当嘈杂,因此从单个设备跟踪信标是困难的(我想实时监控)。如何通过UUID过滤输出,如果grep?

附加问题:[CNG]是什么?

当发现一个新设备时,BlueZ用[NEW]表示这一点。当一个已经发现的设备的属性发生变化时,它会使用[CHG]

BlueZ允许使用SetDiscoveryFilter过滤发现报告。更多信息请访问:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/adapter-api.txt

bluetoothctl中,从menu scan下的命令访问。

如果你想用代码做到这一点,我通常建议使用BlueZ提供的API,并记录在:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc

我之前在:bluetoottctl扫描解析

可以从任何具有D-Bus绑定的编程语言访问BlueZ D-Bus api。

相关内容

  • 没有找到相关文章

最新更新