5

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

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

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

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

4

1 回答 1

6

我想你应该看到这个,它是一篇论文,你不能免费查看它,但在摘要中,它明确指出:

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

但是对于一个安卓应用程序,你需要检测时间在几秒以内,而不是少于 24 小时,所以可能还没有一个实用的解决方案。

于 2012-05-15T15:30:14.247 回答