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