як отримати список підключених клієнтів Wi-Fi у OpenWrt 10.03?


Відповіді:


14

Ви можете використовувати арп-таблицю або 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, вам потрібно запитати AP в асоційованих пристроях 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

Тут буде вказано список служб, що працюють і на клієнтах. Він також може зняти тривогу, якщо у клієнта встановлено програмне забезпечення для виявлення сканування портів (тобто фронт), тому будьте обережні.


Ви генеруєте тут трафік. Якщо ви просто хочете вести статистику щохвилини, наприклад, ви без потреби створюватимете торгівлю людьми, радіацію та споживання. Я думаю про випадок, коли ви хочете дізнатися, чи є ваш мобільний телефон у вас, для системи автоматизації будинку. Для цього ви не хочете спорожнювати акумулятор телефону.
Рауль Салінас-Монтеагудо

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.