嗅探/记录您自己的Android蓝牙流量

问题描述 投票:62回答:2

我最近买了通过蓝牙与Android手机/平板电脑连接的中文设备。由于没有适用于Windows / Linux的应用程序,我想创建一个供个人使用的应用程序。

通常手机连接到设备并交换一些数据。我将PC连接到设备并查看串行调试器并进行管理以发现协议(仅限一种方式)。电话仅向设备发送一个命令。但是这次我无法找出它包含的内容。

有没有软件可以让我查看通过蓝牙发送的数据?我试过反编译应用程序,但它看起来真的很不友好。

谢谢。

android bluetooth reverse-engineering
2个回答
78
投票

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一样,所以它非常简单且得到很好的支持:

[source]

您可以通过转到Settings-> Developer Options,然后选中“Bluetooth HCI Snoop Log”旁边的框来启用此功能。


7
投票

此外,这可能有助于找到保存btsnoop_hci.log的实际位置:

adb shell "cat /etc/bluetooth/bt_stack.conf | grep FileName"
© www.soinside.com 2019 - 2024. All rights reserved.