【问题标题】:Detect hidden/not visible bluetooth device on mobile检测移动设备上隐藏/不可见的蓝牙设备
【发布时间】:2013-03-27 02:17:16
【问题描述】:

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

两部手机都是安卓的。 (非根)。

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

【问题讨论】:

    标签: android bluetooth


    【解决方案1】:

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

    undiscoverable mode 中拥有设备是制造商为防止设备跟踪等滥用而实施的一项安全措施。这使得标准蓝牙适配器(例如您的)完全无法说明不可见/不可发现的设备是否靠近。

    但是,事实证明,这种安全性并不是最佳的,并且最近被破坏了。你可以在这里找到 Michael Ossmann 在Ubertooth 上的工作,这是一个能够检测到无法发现的设备的小型蓝牙适配器。您可以找到 here 的精彩演示,使用开源计划构建这个加密狗,甚至 buy 他的加密狗。

    编辑:

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

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

    您可以使用Bluesniff 做您想做的事,这是一个安全概念证明,可让您发现隐藏的设备。它可能支持页面扫描。

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

    【讨论】:

    • 我明白这一点。因此我的问题是,如果给定了 mac-id,即用户已经以某种方式较早地同意(或从 android 列表的许可中知道)他愿意提供他的 mac-id,这可能会被使用。
    • 感谢您的编辑!这似乎是我一直在寻找的东西..:)
    • 有什么帮助吗,如何使用我拥有的 MAC 地址启动 PAGE 扫描?是否有任何 Android API 可以做到这一点?有没有隐藏的API?
    • 不,我真的不相信。从开发人员的角度来看,Android 中的蓝牙 API 水平相当高,此外,谷歌和苹果倾向于采用一种模式,这使得通过蓝牙进行设备跟踪的人难以开发应用程序。在阅读有关 HCI(主机控制器接口)的蓝牙规范时,我偶然发现了一段说蓝牙模块可以在不涉及主机设备的情况下处理查询和过滤页面请求。所以你手机中的蓝牙芯片可能有自己的逻辑来响应 PAGE 请求,完全不依赖 Android。
    猜你喜欢
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    相关资源
    最近更新 更多