【问题标题】:Discover Nearby Smartphone Devices on Android在 Android 上发现附近的智能手机设备
【发布时间】:2018-12-26 16:28:39
【问题描述】:

问题陈述

我正在尝试为 Android 制作一个可以检测附近智能手机设备的应用程序。我需要发现智能手机设备,无论它们是否连接到 WLAN 或操作系统。唯一的要求是启用他们的蓝牙或 wifi 设置。我正在尝试捕获这些设备的 MAC 地址和 RSSI。我试图模拟的应用程序示例是Meshlium

已经考虑过的方法

  1. Android Classic Bluetooth:

    • 我已按照指南查找当前未与我的设备配对的设备。
    • 我试图发现的智能手机需要处于“发现”模式才能被发现。对于大多数现代手机来说,这意味着它们需要在蓝牙设置页面上。
  2. Android P2P (Wifi Direct):

    • 我再次按照指南进行操作,找不到附近的智能手机。
    • 与蓝牙类似,两个设备(我的设备和我要查找的设备)都需要尝试发现 wifi 直连设备。
    • 另外,iOS 似乎也不支持 wifi direct。
  3. Google Nearby:

    • Nearby Connections 仅适用于运行正在使用附近连接 api 的应用程序的设备。因此,只有安装了当前运行广告或发现功能的应用的设备才能进行检测。
  4. Wifi Network Service Discovery:

    • 这让我可以看到当前在网络上宣传服务的设备,而不是实际的设备本身。

设备规格

我使用的设备运行的是 android 版本 6.0.1,型号为 rk3368-box。该设备还具有root权限。

问题

有没有办法在我的安卓设备上发现附近的智能手机,唯一的要求是启用他们的 wifi 或蓝牙?也许数据包嗅探设备的probe requests?我研究过数据包嗅探,但找不到任何适用于 Android 的可靠资源。如果可能的话,我也希望能够在 c# 和 Xamarin.Android 中这样做。

更新

是否可以选择自定义 ROM?我不想为游戏商店制作应用程序,而是为定制硬件制作应用程序。也许当我在设备上启用 wifi 热点时,它会记录附近设备的探测请求并保存为文件以供以后导出?

【问题讨论】:

  • 还意识到Meshlium 有一个硬件组件,它将他们的解决方案置于基于标准 Android 硬件/操作系统的纯软件 Android 应用程序之外。
  • @MorrisonChang 请看我上面的更新。我正在寻找定制硬件的开发,所以定制 ROM 是可能的。那能提供解决方案吗?
  • 如果您不习惯构建自定义 ROM 或逆向工程驱动程序软件,我认为您不了解项目的规模。如果您已经拥有现有的检测硬件,那么您的问题就变成了 Android 应用程序如何与设备通信,即 Android Open Accessory 协议或其他 USB 连接。如果您没有此类检测硬件,则需要构建它,我建议跳过 Android 并坚持使用基于 RaspberryPi/Linux 的解决方案 - 并查看“黑帽”研究人员为实现类似目标所做的工作。祝你好运。

标签: c# android xamarin.android network-programming android-source


【解决方案1】:

没有办法做到这一点。并且不应该——除非我和你一起工作(在这种情况下,上述多个都可以工作)这是对我隐私的大规模侵犯,因为你能够检测到我的设备。

【讨论】:

  • 我开始靠自己得出这个结论,但是公司如何将类似产品商业化? Meshelium 宣称它仅根据距离和启用的 wifi 设置来检测智能手机。是他们的定制硬件使他们能够这样做吗?
  • 是的。它基本上是一个WAP。它的检测尝试扫描 wifi 信号(或蓝牙信号)。因此,如果您的手机关闭了 wifi,就不会被检测到。如果您不介意违反一些联邦法律,您可以使用类似黄貂鱼的设备来提高水平。
  • 感谢您的帮助!我很感激。
  • 我可以将我的 Android 设备配置为 WAP 吗?
  • 是的,但不是您需要的级别。打开wifi热点使其成为WAP,但没有与之交互的API。它的所有操作系统级别的东西。
【解决方案2】:

如果您能够找到设备的 WLAN 适配器的 MAC 地址,而不是尝试搜索 MAC 地址与 WLAN 适配器相同但最后一位更改为 1 的蓝牙设备。 这样即使隐藏了可见性,您也可以找到蓝牙设备

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多