BLE 嗅探:来自 adb bugreport 的 btsnoop 日志使用 python 脚本 - encoding/decoding 问题
BLE sniffing: btsnoop log from adb bugreport using python script - encoding/decoding problems
我是读取蓝牙设备 (BLE) 数据的新手,并尝试遵循 this Medium tutorial(我的蓝牙设备是 Amazfit Bip)。
我无法找到 btsnoop_hci.log 文件(来自 Samsung Galaxy S7),所以我 运行 adb bugreport anewbugreportfolder
为 。
为了重现性,我将错误报告的相关部分上传到 Dropbox here。
我的问题是: 当我按照上面链接的 Stack Overflow 答案中的建议尝试 运行 btsnoop.py
(can be found here) 时,我得到非常 st运行ge 输出,不可能是预期的(例如,它以 ��^D#}
开头并包含许多奇怪的问号字符)。
Python 脚本的某些部分是否需要调整才能正常工作,例如编码(none 标准脚本似乎可以提供更好的结果)?我正在使用 Python 3.7。或者,可能是关于我的蓝牙设备?
该工具的输出没有任何问题。这是您的期望,这是不正确的:该工具的输出是二进制内容,而不是文本文件。
以下命令(不是该工具称为 btsnooz,不是 btsnoop)将二进制输出重定向到名为 btsnoop_hci.log
的新文件:
$ python2 ./btsnooz.py ./bugreport-part.txt > btsnoop_hci.log
$ file btsnoop_hci.log
btsnoop_hci.log: BTSnoop version 1, HCI UART (H4)
软件 Wireshark 完全能够解释生成的 BTSnoop 日志文件:
wireshark btsnoop_hci.log
只查看 CID 为 0x0004 的相关数据包的一个好过滤器是 btl2cap.cid == 0x0004
:
可以在本教程中找到有关如何继续的更多提示:Reverse Engineering BLE Devices - Application Protocol Reverse Engineering
我是读取蓝牙设备 (BLE) 数据的新手,并尝试遵循 this Medium tutorial(我的蓝牙设备是 Amazfit Bip)。
我无法找到 btsnoop_hci.log 文件(来自 Samsung Galaxy S7),所以我 运行 adb bugreport anewbugreportfolder
为
为了重现性,我将错误报告的相关部分上传到 Dropbox here。
我的问题是: 当我按照上面链接的 Stack Overflow 答案中的建议尝试 运行 btsnoop.py
(can be found here) 时,我得到非常 st运行ge 输出,不可能是预期的(例如,它以 ��^D#}
开头并包含许多奇怪的问号字符)。
Python 脚本的某些部分是否需要调整才能正常工作,例如编码(none 标准脚本似乎可以提供更好的结果)?我正在使用 Python 3.7。或者,可能是关于我的蓝牙设备?
该工具的输出没有任何问题。这是您的期望,这是不正确的:该工具的输出是二进制内容,而不是文本文件。
以下命令(不是该工具称为 btsnooz,不是 btsnoop)将二进制输出重定向到名为 btsnoop_hci.log
的新文件:
$ python2 ./btsnooz.py ./bugreport-part.txt > btsnoop_hci.log
$ file btsnoop_hci.log
btsnoop_hci.log: BTSnoop version 1, HCI UART (H4)
软件 Wireshark 完全能够解释生成的 BTSnoop 日志文件:
wireshark btsnoop_hci.log
只查看 CID 为 0x0004 的相关数据包的一个好过滤器是 btl2cap.cid == 0x0004
:
可以在本教程中找到有关如何继续的更多提示:Reverse Engineering BLE Devices - Application Protocol Reverse Engineering