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

时间:2012-05-15 15:21:59

标签: android bluetooth wifi discovery cellular-network

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

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

也许使用蓝牙:有没有办法使用Android SDK来检测不可发现的蓝牙设备(不是在可发现的模式下)? The Nokia Developer site seems to suggest this is possible using Service Discovery Protocol (SDP),但我不确定这在Android中是否可能更普遍。

也许使用细胞塔桅杆切换模拟?好的,这几乎肯定超出Android的范围,但是this article suggests that there may be a way to "mimic cell mast switching process to trigger quiescent phones into transmitting. Phones respond with their ID and authentication signals..."

1 个答案:

答案 0 :(得分:6)

我认为您应该看到this,它是一篇论文,您无法免费查看,但在summary中,它明确指出:

  

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

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