我最近购买了通过蓝牙与Android手机/平板电脑连接的中文设备。由于没有适用于Windows / Linux的应用程序,因此我想创建一个供个人使用的应用程序。
通常,电话会连接到设备并交换一些数据。我将PC连接到设备,并查看了串行调试器,并设法发现了协议(仅一种方式)。电话仅向设备发送一个命令。但是这次我无法找出其中包含的内容。
是否有任何软件可以让我查看通过蓝牙发送的数据?我尝试反编译该应用程序,但它看起来确实不友好。
谢谢。
我最近购买了通过蓝牙与Android手机/平板电脑连接的中文设备。由于没有适用于Windows / Linux的应用程序,因此我想创建一个供个人使用的应用程序。
通常,电话会连接到设备并交换一些数据。我将PC连接到设备,并查看了串行调试器,并设法发现了协议(仅一种方式)。电话仅向设备发送一个命令。但是这次我无法找出其中包含的内容。
是否有任何软件可以让我查看通过蓝牙发送的数据?我尝试反编译该应用程序,但它看起来确实不友好。
谢谢。
Answers:
Android 4.4(Kit Kat)确实具有针对蓝牙的新嗅探功能。您应该尝试一下。
但是,如果您不拥有嗅探设备,则不一定就没有运气。在许多情况下,我们可以通过Android 4.4中引入的新功能获得积极的结果:捕获所有蓝牙HCI数据包并将其保存到文件的能力。
当分析师通过运行正在测试的应用程序完成填充捕获文件的填充时,他可以将Android生成的文件提取到设备的外部存储中并进行分析(例如,使用 Wireshark)。
启用此设置后,Android会将数据包捕获保存到/sdcard/btsnoop_hci.log中,以供分析人员提取并检查。
如果/sdcard/
您的特定设备上的路径不正确,请键入以下内容:
adb shell echo \$EXTERNAL_STORAGE
然后,我们可以打开一个外壳并拉出文件:$ adb pull /sdcard/btsnoop_hci.log并使用Wireshark进行检查,就像通过嗅探WiFi流量收集的PCAP一样,它非常简单并且得到了很好的支持:
您可以通过转到“设置”->“开发人员选项”,然后选中“蓝牙HCI监听日志”旁边的框来启用此功能。
adb pull
该.log
文件或通过电子邮件收到它。另外,打开和关闭dev选项对bt_stack.conf
内容没有任何影响。最新的Android版本是否已禁用此功能?
同样,这可能有助于查找保存btsnoop_hci.log的实际位置:
adb shell "cat /etc/bluetooth/bt_stack.conf | grep FileName"
/system/etc/
和/vendor/etc/