我拥有多个广告相同SSID的接入点 . 当支持WiFi的设备(如电话)连接到其中一个WiFi接入点时,如何确定该设备的位置?
是否可以在AP端找出设备获得的信号强度,然后根据该信息计算距离?连接到这些访问点的设备不运行我拥有的任何软件组件(以便我可以从设备查询位置) .
事实上,这并不容易 . 您不能将信号强度用作等距离 . 事实上,如果你有一些障碍(墙壁,人......),信号将不会与距离成正比 .
O B +---+ S +---+ +---+ |AP1| T |STA| |AP2| +---+ A +---+ +---+ C L E
在这种情况下,AP2可以获得比AP1更好的信号 .
然而,您可以轻松确定STA是否连接到AP1或AP2,因为每个802.11帧具有:
来源mac地址:
接收方mac地址
发送器mac地址
目标mac地址
+----+ +----+ |STA1| Source Destination |STA2| +-+--+ +----+ | | Transmitter Receiver ^ | +---+ +---+ | +--------> |AP1| |AP2+-----------+ +-+-+ +---+ | | ^ | | | | +------------------+ via ethernet
因此,如果您是源,您可以发送一个帧(ping ...)并检查发送器地址 . 这样您将拥有连接的AP的mac .
也许您可以使用ping来检查设备和AP之间的延迟 . 更大的延迟意味着更长的距离 . 然后您可以计算位置 . 这只是一个建议 .
2 回答
事实上,这并不容易 . 您不能将信号强度用作等距离 . 事实上,如果你有一些障碍(墙壁,人......),信号将不会与距离成正比 .
在这种情况下,AP2可以获得比AP1更好的信号 .
然而,您可以轻松确定STA是否连接到AP1或AP2,因为每个802.11帧具有:
来源mac地址:
接收方mac地址
发送器mac地址
目标mac地址
因此,如果您是源,您可以发送一个帧(ping ...)并检查发送器地址 . 这样您将拥有连接的AP的mac .
也许您可以使用ping来检查设备和AP之间的延迟 . 更大的延迟意味着更长的距离 . 然后您可以计算位置 . 这只是一个建议 .