拦截通过蓝牙发送的数据

信息安全 密码学 移动的 安卓 IOS 蓝牙
2021-09-06 11:49:09

我正在尝试重新编写一个最初部署在移动设备上的闭源应用程序,它可以让您通过蓝牙命令和控制某种类型的机械机器人。

我正在编写的新应用程序应该能够控制与第一个相同的机器人。

如何拦截来自闭源应用程序的命令-通过蓝牙发送-?
更重要的是,我能“复制”它们吗?

我必须采取的步骤的大纲足以回答我的问题。一个详细的答案将不胜感激。

4个回答

Ubertooth可以让您嗅探蓝牙流量。它完全可以被置于监控模式,并且可以与Kismet等工具一起使用来执行蓝牙嗅探。可能还有其他功能允许您执行数据包注入。但是,如果流量是加密的,这可能无法让您清楚地看到数据包,但它可能会为您提供对通信协议进行逆向工程的良好开端。

如果您使用的是 android,今天有一个更好的方法。开发人员工具提供了一种将蓝牙数据包嗅探到可以在 Wireshark 中打开的日志的方法。

转到手机上的开发人员选项并启用hcidump

有关更多详细信息,请参阅博客文章

通过蓝牙控制机器人听起来很酷。

也许与其拦截蓝牙通信并对其进行解码,不如反编译封闭源应用程序然后搜索蓝牙命令实际上更容易?控制设备可能使用标准蓝牙库,您可能能够以某种方式连接并记录所有请求/响应?

好吧,这并不容易。参考这篇文章

与嗅探 802.11 不同,蓝牙不使用一个通道,而是跳过 79 个通道。这使得嗅探变得更加困难。

您对硬件也几乎没有控制权,唯一的方法是使用带有预定义命令的 HCI。

问题是,当您查看网站时,您会看到需要询问设备报价。大多数时候这不是一个好兆头。