2

Есть ли способ получить уровень сигнала на всех устройствах, подключенных к беспроводной сети в OpenWRT? Я хочу проверить уровень сигнала устройств, подключенных к маршрутизатору. Мой роутер имеет ядро OpenWRT.

2 ответа2

1

Я использую свой маршрутизатор 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
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 соответственно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .