当前位置 : 主页 > 手机开发 > ios >

ios – 低级蓝牙数据包分析

来源:互联网 收集:自由互联 发布时间:2021-06-11
我有一个使用蓝牙LE和我的iPhone 6的健身追踪器.不幸的是,该应用程序没有透露来自跟踪器的原始数据和零输出方式,而这些数据对我来说非常有趣.我从Adafruit购买了蓝牙LE嗅探器,并使用
我有一个使用蓝牙LE和我的iPhone 6的健身追踪器.不幸的是,该应用程序没有透露来自跟踪器的原始数据和零输出方式,而这些数据对我来说非常有趣.我从Adafruit购买了蓝牙LE嗅探器,并使用Wireshark捕获数据包.虽然我可以打开它并分析标题没有问题,但实际数据有点超出我的范围.

我查看了网络中查看数据包/帧的帖子,但是开始分析数据的最佳方法是什么?将它倾倒到一个巨大的十六进制编辑器中并没有帮助(显然).

谷歌搜索各种信息条款令人困惑,并在SE网络上显示零结果.

这是一个Wireshark数据包窗口的示例,我假设是在健身跟踪器跟踪运动时写入的数据:

从数据包中选择更多,随机选择:

您在寻找更好的资源以及从何处开始分析这些数据包及其数据方面的帮助表示赞赏!

开始分析数据的最佳方法是找出实际数据的起始位置和结束位置.

免责声明:我对蓝牙没有经验,但让我们试一试.

您有两种类型的捕获数据包:空PDU(某种形式的信令?)和ATT.在空PDU中搜索数据似乎没有效果,所以让我们看一下ATT.

Wikipedia说:

Low Energy Attribute Protocol (ATT)

It allows a client to read and/or write certain attributes exposed by
the server in a non-complex, low-power friendly manner.

这听起来很像数据.

快速Google搜索“L2CAP数据包格式”会显示以4字节标头开头的多种格式:2字节消息长度2字节CID(little-endian).

使用巨型十六进制编辑器,我们在06 1b数据头之后立即找到相应的4字节.它们是17 00 04 00,转换为长度23和CID 0x0004.

查找CID 0x0004显示它确实是ATT的保留值.

搜索ATT数据包格式的时间:似乎从1字节命令代码开始.
这是1d,这意味着HANDLE_VALUE_INDICATION.句柄是一个短的(2个字节),等于0x001b,就像在第一个图像中一样.

因此,句柄后的20个字节是值.它代表什么是任何人的猜测.

05 e5 00 83 ff 4a 00 77 77 77 fc 6d fc 37 fc 18 fe 1f 03 43

挖掘更多的东西可以发现,Wireshark应该能够直接分析ATT(尝试解码为?),并且BLE Sniffer上有BLE Sniffer的教程,甚至是attempts to reverse-engineer a color changing bulb分析ATT数据包的人的文章.

网友评论