在 Android 上发现附近的智能手机设备
Discover Nearby Smartphone Devices on Android
问题陈述
我正在尝试为 Android 开发一个可以检测附近智能手机设备的应用程序。我需要发现智能手机设备,而不管它们与 WLAN 的连接或其操作系统如何。唯一的要求是他们的蓝牙或 wifi 设置已启用。我正在尝试捕获这些设备的 MAC 地址和 RSSI。我试图模拟的一个应用程序示例是 Meshlium.
已经考虑的方法
Android Classic Bluetooth:
- 我已按照指南发现当前未与我的设备配对的设备。
- 我试图发现的智能手机需要处于“发现”模式才能被发现。对于大多数现代手机,这意味着它们需要在蓝牙设置页面上。
Android P2P (Wifi Direct):
- 我又按照指南操作了,但在附近找不到智能手机。
- 与蓝牙类似,两种设备(我的设备和我要查找的设备)都需要尝试发现 wifi 直连设备。
- 而且 iOS 似乎也不支持 wifi direct。
Google Nearby:
- Nearby Connections 仅适用于设备 运行 使用附近连接的应用程序 api。因此,目前只有安装了该应用程序的设备 运行 广告或发现功能才可用于检测。
Wifi Network Service Discovery:
- 这让我可以看到当前正在网络上宣传服务的设备,而不是实际设备本身。
设备规格
我使用的设备是 运行 android 版本 6.0.1 和型号 rk3368-box。该设备还具有root权限。
问题
有没有办法在我的 android 设备上发现附近的智能手机,唯一的要求是启用 wifi 或蓝牙?也许数据包嗅探设备的probe requests?我研究过数据包嗅探,但找不到 Android 的可靠资源。如果可能的话,我也希望能够在 c# 和 Xamarin.Android 中做到这一点。
更新
自定义 ROM 是一个选项吗?我不想为 Play 商店制作应用程序,而是为定制硬件制作应用程序。也许当我在设备上启用 wifi 热点时,它会记录附近设备的探测请求并保存为文件以便稍后导出?
没有办法做到这一点。而且不应该 - 除非我和你一起工作(在这种情况下,以上的多个都可以工作)它对我的隐私的大规模侵犯让你能够检测到我的设备。
如果您能够找到设备的 WLAN 适配器的 mac 地址,请尝试搜索 mac 地址与 WLAN 适配器相同但最后一位数字更改为 1 的蓝牙设备。
这样即使隐藏了可见性也可以找到蓝牙设备
问题陈述
我正在尝试为 Android 开发一个可以检测附近智能手机设备的应用程序。我需要发现智能手机设备,而不管它们与 WLAN 的连接或其操作系统如何。唯一的要求是他们的蓝牙或 wifi 设置已启用。我正在尝试捕获这些设备的 MAC 地址和 RSSI。我试图模拟的一个应用程序示例是 Meshlium.
已经考虑的方法
Android Classic Bluetooth:
- 我已按照指南发现当前未与我的设备配对的设备。
- 我试图发现的智能手机需要处于“发现”模式才能被发现。对于大多数现代手机,这意味着它们需要在蓝牙设置页面上。
Android P2P (Wifi Direct):
- 我又按照指南操作了,但在附近找不到智能手机。
- 与蓝牙类似,两种设备(我的设备和我要查找的设备)都需要尝试发现 wifi 直连设备。
- 而且 iOS 似乎也不支持 wifi direct。
Google Nearby:
- Nearby Connections 仅适用于设备 运行 使用附近连接的应用程序 api。因此,目前只有安装了该应用程序的设备 运行 广告或发现功能才可用于检测。
Wifi Network Service Discovery:
- 这让我可以看到当前正在网络上宣传服务的设备,而不是实际设备本身。
设备规格
我使用的设备是 运行 android 版本 6.0.1 和型号 rk3368-box。该设备还具有root权限。
问题
有没有办法在我的 android 设备上发现附近的智能手机,唯一的要求是启用 wifi 或蓝牙?也许数据包嗅探设备的probe requests?我研究过数据包嗅探,但找不到 Android 的可靠资源。如果可能的话,我也希望能够在 c# 和 Xamarin.Android 中做到这一点。
更新
自定义 ROM 是一个选项吗?我不想为 Play 商店制作应用程序,而是为定制硬件制作应用程序。也许当我在设备上启用 wifi 热点时,它会记录附近设备的探测请求并保存为文件以便稍后导出?
没有办法做到这一点。而且不应该 - 除非我和你一起工作(在这种情况下,以上的多个都可以工作)它对我的隐私的大规模侵犯让你能够检测到我的设备。
如果您能够找到设备的 WLAN 适配器的 mac 地址,请尝试搜索 mac 地址与 WLAN 适配器相同但最后一位数字更改为 1 的蓝牙设备。 这样即使隐藏了可见性也可以找到蓝牙设备