如何在 OpenWrt 10.03 中获取已连接 wifi 客户端的列表?

Lan*_*nes 8 linux openwrt

我希望能够在 OpenWrt 10.03 软件中查看连接的客户端。

小智 7

就像这里解释的那样 - OpenWrt 日志记录:如何找出“wifi 解除认证” - 这取决于您使用的无线驱动程序。

  • iw dev wlan0 station dump--> 对于nl80211/mac80211兼容的驱动程序
  • wlc assoclist--> 专有broadcom-wl驱动

如果iw您自然需要替换wlan0为其上hostapd运行(AP 守护程序)的接口。


更新

我们很快就会看到 15.05.1 并且因为很多版本之前都有libiwinfo:一个很棒的小抽象层,适用于所有主要后端接口(目前是Broadcom、Madwifi、nl80211 和 wext)。这是现在推荐的从无线子系统获取信息的方法。

它带有一个命令行实用程序(包iwinfo):

iwinfo wlan0 assoclist
Run Code Online (Sandbox Code Playgroud)

libiwinfo-lua如果您正在编写脚本,还有 Lua 绑定(包):

require("iwinfo")
iface = "wlan0"
t = iwinfo.type(iface)
clients = iwinfo[t].assoclist(iface)
for k,v in pairs(clients) do print(k, v.signal) end
--> 00:xx:xx:xx:xx:xx   -44
--> 0A:xx:xx:xx:xx:xx   -67
--> ....
Run Code Online (Sandbox Code Playgroud)

甚至还有一个ubus接口,iwinfo如果您想使用一些聪明的东西(package rpcd, docs)。