使用 Android SDK 检测附近移动设备的方法?

问题描述 投票:0回答:1

我正在考虑开发一款 Android 应用程序,用于检测附近所有或大多数已打开的移动设备(iPhone、Android 等)。我不需要与这些设备交互,只需检测它们,并且要求是检测到的设备不需要安装任何特殊/不寻常的应用程序。该应用程序只需要适用于典型的美国设备和网络。

我已经考虑过几种方法来做到这一点(以某种方式检测蓝牙、wifi 或蜂窝传输/标识符),但我正在寻找特定的实现方法来检测附近相对较大比例的设备。我不确定这些方法中哪一种是可能/可行的或如何将它们付诸实践......

也许使用蓝牙:有没有办法使用Android SDK来检测不可发现的蓝牙设备(不在可发现模式下)? 诺基亚开发者网站似乎建议使用服务发现协议(SDP)可以实现这一点,但我不确定这在 Android 中是否更普遍。

也许使用蜂窝塔桅杆切换模拟?好吧,这几乎肯定超出了 Android 的能力范围,但是 这篇文章表明,可能有一种方法可以“模仿蜂窝基站切换过程,触发静态手机进行传输。手机用其 ID 和身份验证信号进行响应......” .

android bluetooth wifi cellular-network bluetooth-device-discovery
1个回答
6
投票

我觉得你应该看看这个,它是一篇论文,你不能免费查看,但是在总结中,它明确指出:

对蓝牙设备安全性的担忧导致了“不可发现”模式的规范,该模式可防止设备在蓝牙设备搜索过程中被列出。但是,不可发现的蓝牙设备对于知道其地址或可以发现其地址的设备来说是可见的本文讨论了使用增强型强力搜索攻击来检测不可发现的蓝牙设备。我们的结果表明,使用多个搜索设备和压缩数据包计时攻击不可发现的蓝牙设备的平均时间可以缩短至“远低于 24 小时”。

但是对于 Android 应用程序,您需要检测时间远低于几秒而不是少于 24 小时,因此可能还没有实用的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.