BlueZ BLE GATT 写入请求 (0x12) 而不是 (0x16)

Posted

技术标签:

【中文标题】BlueZ BLE GATT 写入请求 (0x12) 而不是 (0x16)【英文标题】:BlueZ BLE GATT write request (0x12) instead of (0x16) 【发布时间】:2018-04-15 05:51:02 【问题描述】:

我正在尝试对 BLE 设备进行逆向工程以进行研究。 BLE 设备不需要配对。

我可以在 wireshark 中看到的其中一个命令是写入特定句柄。当我尝试使用 Gatttool 写入请求执行相同操作时:

sudo gatttool -i hci0 -b 54:6C:0E:21:F5:99 --char-write-req -a 0x0030 -n 110100701301000110010030721000d68c054688df413aa89fb3cfab3d6457172000053958839fa147ac53c129eafc524829bc9ed7655fe96c9f641745c4e07cf044>p

它使用 0x16 准备写入请求,并且似乎也有一些错误。下面是两个捕获的图像,左侧是 GAtttool 请求,右侧是电话完成的请求。

【问题讨论】:

【参考方案1】:

与右侧的通信早先已经协商了一个更大的 MTU。这就是为什么它可以在一个请求中发送整个值。

【讨论】:

以上是关于BlueZ BLE GATT 写入请求 (0x12) 而不是 (0x16)的主要内容,如果未能解决你的问题,请参考以下文章

Bluez BLE 连接监控使用 DBUS-Python

BlueZ示例gatt服务器

为啥在 xamarin 表单中写入操作后,我在 iOS 中获得 BLE 配对请求对话框?

在 Android 中写入 GATT 后的 BLE 回答

BLE:适配器使用 HCI ACL 协议而不是 LE LL 发送数据

如何在 android 中将特征写入 BLE GATT 服务器?