2

我一直在尝试开发一个扫描附近 WiFi 设备的应用程序。我在市场上发现了很多类似的应用程序,但它们只扫描附近的热点(接入点)。是否可以扫描并找到刚刚单独打开 WiFi 的设备。

如果是这样,请告诉我如何(代码片段)..提前谢谢..

4

3 回答 3

3

答案有 2 个部分。

  1. 大多数 WiFi 设备可以在 AP 模式下运行(如果安装了正确的软件),在这种情况下,它们将作为普通 AP 出现在周围扫描的任何人面前。
  2. 如果您想查找其他未处于 AP 模式的 WiFi 设备,您需要将设备切换到混杂(嗅探器)模式。这需要您的设备驱动程序/固件支持。在嗅探器模式下操作会导致设备指示空中的所有数据包,包括那些未发送给您的数据包。如果您的设备支持此操作模式,您需要通过发送相关命令来指示它 - 这是一个专有接口,因设备软件供应商而异。
于 2012-10-28T11:35:16.137 回答
0

这些附近的设备必须发送一些信号,您的设备可以接收这些信号才能检测到它们。我认为他们通常不会那样做。但是如果你可以在其他设备上安装一个应用程序,这个应用程序可以发送一个广播信号,你的设备可以接收到。

如果没有标准信号,您可以收听,那就很难了。您必须构建某种网络嗅探器。

于 2012-10-28T11:45:24.960 回答
0

嗅探器是读取直接端口的过程,在本例中为侦听端口 wifi。读取一个端口意味着指向一个指定的地址并读取同一个缓冲区。这个过程是低级的,你必须在纯 C 中完成并在 NDK 中编译。如果你知道这些问题是复杂的。

于 2013-07-16T21:53:26.353 回答