我想定期收集某个 Wi-Fi 区域内所有连接设备的 RSSI 值,并将它们用于我的应用程序以监控 Wi-Fi 区域。我问的是,是否可以使用任何编程语言从我的电脑上收集它们?
我搜索过这个问题,但不幸的是,我没有得到任何明确的答案。如果可能的话,我想基于这个想法开始我的硕士论文。
这就是我至今所得到的。
1- API:产品提供以 XML 或 JSON 格式检索信息的 API(Restful API)(例如 Cisco)
2- SSH/Telnet 和 SNMP:访问 WLAN 上的文件(不确定我们需要的所有信息是否都存储在特定文件中),但这仍然是访问 WLAN 路由器的方法之一。
3- UI web,可以通过创建 Get HTTP 请求来检索信息,然后响应作为 HTML 文本包含该信息(某些模型)。
4-有一个无线控制器设备可以提供RSSI值。
我不确定是否有可能检索所有 RSSI,如果可能的话,请提示我如何开始。
我希望你能帮助我。提前感谢你的帮助
答案1
没有标准要求 AP 通过任何 API 或协议提供已连接客户端的 RSSI 值。也没有规则禁止这样做,因此供应商可能已经想出了各种方法,使这些值在不同产品上以各种方式可访问。
环顾四周,似乎任何使用 Broadcom Wi-Fi 芯片组并能运行 DD-WRT 的 AP 都会允许您通过 SSH 进入并使用 Broadcomwl
命令获取此类信息;wl assoclist
,解析其 MAC 地址,然后wl rssi $MACADDR
。
看起来 Ubiquiti UniFi 产品可以通过以下方式编写脚本这个 unifi-api Python 包。
其他设备可能也有其他解决方案。