有没有办法在 OpenWRT 中检索无线网络中连接的所有设备的信号强度?我想检查连接到路由器的设备的信号强度。我的路由器有 OpenWRT 内核。
答案1
是的,实际上它非常简单: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
请注意,我的路由器有两个无线网卡,而您的路由器可能没有。请ifaces
相应地调整变量。
答案2
我正在使用 OpenWRT 路由器作为中继器我根据 Daniel 的帖子编写了这个脚本,以便不断更新我的 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