как получить список подключенных клиентов wifi в OpenWrt 10.03?


Ответы:


14

Вы можете использовать arp-таблицу или DHCP-аренду. Не идеальное решение, может быть, этого достаточно?

Список арп-таблиц

arp

Список DHCP-аренды

cat /tmp/dhcp.leases

... и вместе

for ip in $(arp | grep -v IP | awk '{print $1}'); do 
    grep $ip /tmp/dhcp.leases; 
done

2
У вас также есть недавние договоры аренды, например, отключенный ноутбук и телефон, подключенный к другой сети Wi-Fi.
Дерексон

У меня все еще есть пустой ответ cat /tmp/dhcp.leases, в то время как многие устройства получили настройки IP и сети от WIFI OpenWRT.
Борис Иванов

Это не будет работать, если ваш маршрутизатор работает как мост, поскольку он не предлагает сам DHCP.
Рауль Салинас-Монтеагудо

12

Чтобы увидеть связанные клиенты Wi-Fi, даже если они не имеют клиента DHCP или не имеют IP-адреса, необходимо запросить у точки доступа соответствующие устройства Wi-Fi:

# Universal (Tested with OpenWRT 14.07 and 15.05.X)
iwinfo wlan0/wl0/ath0 assoclist

# Proprietary Broadcom (wl)
wl -i wl0 assoclist

# Proprietary Atheros (madwifi)
wlanconfig ath0 list sta

# MAC80211
iw dev wlan0 station dump

Таким образом, вы также увидите скорость соединения. Для меня это выглядит так:

# iwinfo wlan0 assoclist
12:34:56:78:9A:BC  -26 dBm / -95 dBm (SNR 69)  1930 ms ago
RX: 24.0 MBit/s, MCS 0, 20MHz                   3359 Pkts.
TX: 130.0 MBit/s, MCS 14, 20MHz, short GI       1209 Pkts.

1

Как насчет nmap?

opkg install nmap

Затем выполните скрытое сканирование вашей подсети (вероятно, 192.168.1.0/24).

nmap -sS 192.168.1.0/24

В этом списке будут перечислены службы, работающие на клиентах. Он также может отключить сигналы тревоги, если на клиенте установлено программное обеспечение для обнаружения сканирования портов (например, snort), поэтому будьте осторожны.


Вы генерируете трафик здесь. Если вы просто хотите вести статистику каждую минуту, например, вы будете без необходимости создавать трафик, радиацию и потребление. Я имею в виду случай, когда вы хотите узнать, есть ли у вас мобильный телефон, для системы автоматизации дома. Вы не хотите разряжать батарею телефона для этого.
Рауль Салинас-Монтеагудо

1

Вместо cat /tmp/dhcp.leases|wc -lи arp -a, мое решение

opkg update
opkg install arp-scan
arp-scan --interface=br-lan --localnet | grep responded | awk '{print $12}'

Он вернет количество устройств, которые подключены к OpenWRT через порт LAN. Почти в реальном времени.


1

Чтобы получить их напрямую hostapd(демон, управляющий точкой доступа):

$ ubus call hostapd.wlan0 get_clients

{
    "freq": 2462,
    "clients": {
        "<mac addr 1>": {
            "auth": true,
            "assoc": true,
            "authorized": true,
            "preauth": false,
            "wds": false,
            "wmm": true,
            "ht": true,
            "vht": false,
            "wps": false,
            "mfp": false,
            "rrm": [
                0,
                0,
                0,
                0,
                0
            ],
            "aid": 1
        }
    }
}

(или заменить wlan0на интересующий вас интерфейс)

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.