当前位置: 首页 > 知识库问答 >
问题:

检测手机上隐藏/不可见的蓝牙设备

呼延聪
2023-03-14

我有目标设备的蓝牙mac-id。然而,蓝牙处于隐藏/不可见模式。

这两款手机都是Android手机。(非根)。

我做了研究,我*知道*如果我知道mac id,我可以连接到一个设备(在大多数情况下),但是我只想扫描接近度而不连接,即如果目标设备在蓝牙范围内,我知道它的mac id,我*可以*只*知道它是否接近(或者松散地说,扫描它?)

共有1个答案

张嘉佑
2023-03-14

简短的答案是否定的,您无法发现无法发现的蓝牙设备。

使设备处于不可发现模式是制造商实施的一种安全措施,以防止滥用,例如设备跟踪。这使得标准蓝牙适配器(如您的)完全无法说明不可见/不可见设备是否靠近。

然而,事实证明,这种安全性并不是最佳的,最近已经被打破。你可以在这里找到迈克尔·奥斯曼(Michael Ossmann)关于优步牙(Ubertooth)的研究成果,优步牙是一种小型蓝牙适配器,能够检测不可发现的设备。你可以在这里找到一个很好的演示,使用开源计划构建这个加密狗,甚至购买他的加密狗。

编辑:

通过首先知道他的完整MAC地址,即使他处于无法发现的模式,也可以知道蓝牙设备是否在附近。

该技术是尝试PAGE请求,发送组成所搜索的蓝牙主机MAC标识符的所有6个字节。PAGE请求允许一个人在知道他的BT ADDR时与蓝牙从机连接。处于不可发现模式的设备不会响应查询扫描(设备发现意图),但它们会响应想要连接到另一个先前已知设备的设备使用的页面扫描。

通过使用Bluesniff,您可能能够完成您想要做的事情,Bluesniff是一种安全概念验证,允许您发现隐藏的设备。它可能支持页面扫描。

请注意,这将被视为一种教育资源,我不鼓励在商业应用中进行这种实践。

 类似资料:
  • 我正在开发一款Android应用程序,它需要检测运行应用程序的设备附近的智能手机数量。为此,我有一个计划蓝牙BLE扫描的工作实现。我检测到附近的BLE设备没有问题,但在扫描结果中似乎找不到任何智能手机。 我的问题是:我们可以在Android上使用BLE扫描检测其他智能手机吗?(具体来说;如果我们无法控制其他智能手机中的设置)。 我尝试使用以下蓝牙库扫描BLE设备: RxAndroidBle 为了尝

  • 我制作了一个android应用程序来扫描蓝牙设备,并向我的服务器发送一个HTTP请求,这样我就可以检测它们是开着还是关着。我已经用我的带有蓝牙适配器的台式电脑测试过了,效果很好。当检测到电脑上的蓝牙功能时,它显示电脑是打开的,当我关闭电脑上的蓝牙功能时,它是关闭的。现在,我需要使用这个应用程序的设备有:雅伯投影仪、Bose SoundLink和JBL耳机,但我遇到了一些问题。 首先,投影仪似乎无法

  • 我有一个隐藏的蓝牙设备,但我知道它的蓝牙MAC地址。 如何使用Android连接到该设备?

  • 获取手机蓝牙开启状态, 未授权时先授权再check 示例代码 Swift: RokidMobileSDK.binder.enableBLE() Objc: [RokidMobileSDK.binder enableBLE]; 在 SDKBinderObserver 实现类中的 onBLEEnabled() 函数 获取蓝牙开启状态。 Swift: // 手机蓝牙状态变更,用户是开起来了蓝牙功能

  • 查询蓝牙状态 接口说明 查询手机蓝牙状态,是否打开。 举个大栗子: boolean btStatus = RokidMobileSDK.binder.getBTStatus() 注册蓝牙状态监听器 接口说明 监听手机蓝牙状态发生改变,手机蓝牙打开 或者 关闭都会调用这个函数。 举个大栗子: RokidMobileSDK.binder.registerBTStateChangeListener(n

  • 问题内容: 是否可以编写和创建Firefox中的Firebug插件无法捕获的JavaScript Ajax请求? 我之所以这样询问,是因为我可以在Facebook上看到没有正在进行的Ajax请求,但是当我从另一个帐户发送消息时,顶部的消息框仍会添加“ 1条未读消息”指示符。甚至有可能实现? 谢谢。 问题答案: Firebug将“标准” AJAX请求记录到控制台面板;这些是使用ActiveX / X