web-dev-qa-db-ja.com

OpenWrt 10.03で接続されているwifiクライアントのリストを取得するにはどうすればよいですか?

OpenWrt10.03ソフトウェア内で接続されたクライアントを表示できるようにしたいと思っています。

8
LanceBaynes

ここで説明したように-- OpenWrtロギング:「wifi認証解除」を見つける方法 -使用しているワイヤレスドライバーによって異なります。

  • iw dev wlan0 station dump-> nl80211/mac80211互換ドライバーの場合
  • wlc assoclist->独自仕様のbroadcom-wlドライバー用

iwの場合、当然、wlan0hostapd(APデーモン)が実行されているインターフェースに置き換える必要があります。


更新

間もなく15.05.1が表示されます。かなりの数のリリース前から、libiwinfoもあります。これは、すべての主要なバックエンドインターフェイス(現在Broadcom、Madwifi、 nl80211およびwext)。これは現在、ワイヤレスサブシステムから情報を取得するための推奨される方法です。

コマンドラインユーティリティ(パッケージiwinfo)が付属しています。

iwinfo wlan0 assoclist

スクリプトを作成している場合は、Luaバインディング(パッケージlibiwinfo-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
--> ....

賢いことをしているなら、ubusへのiwinfoインターフェースさえあります(パッケージrpcddocs )。

7
koniu