OpenWRTのワイヤレスネットワークに接続されているすべてのデバイスの信号強度を取得する方法はありますか?ルーターに接続されている機器の信号強度を確認したい。私のルーターにはOpenWRTカーネルがあります。
OpenWRTルーターをリピーターとして使用していますそしてダニエルの投稿を使用してこのスクリプトを記述し、設定中にすでに接続されているベースステーションのWiFi信号強度を更新し続けていますアンテナの視線を上げます。 (Ctrl + cを使用して実行を停止します)
#!/bin/bash
iface="wlan0"
while true
do
clear
iw dev $iface station dump | grep 'signal:\|beacon signal'
let "x++"
echo Read Count: $x
sleep 1
done
はい、実際には非常に簡単です:iw dev wlan0 station dump
。 関連するドキュメントは次のとおりです。 。
OpenWrtのフォーラム の誰かが、関連するステーションを一覧表示し、これらのステーションのIPアドレスとホスト名も検索するスクリプトを作成しました。古いiw
コマンドの代わりにwl
を使用するように調整しました。
#! /bin/ash
ifaces="wlan0 wlan1"
for iface in $ifaces
do
echo $iface
stations=`iw dev $iface station dump | grep Station | awk '{print $2}'`
for sta in $stations
do
echo "------------------------------------------------------"
iw dev $iface station get $sta
echo -e "\t ---"
grep $sta /proc/net/arp | awk '{print "\t IP: "$1" (from ARP table)"}'
grep -i $sta /var/dhcp.leases | awk '{print "\t IP: "$3" (from DHCP Lease)\n\t NAME: "$4" (from DHCP Lease)"}'
done
echo "------------------------------------------------------"
done
私のルーターには2つのワイヤレスNICがありますが、ルーターにはない場合があります。それに応じてifaces
変数を調整します。