comment obtenir une liste des clients wifi connectés dans OpenWrt 10.03?


12

comment obtenir une liste des clients wifi connectés dans OpenWrt 10.03?

Réponses:


14

Vous pouvez utiliser l'arp-table ou les baux DHCP. Pas une solution parfaite, c'est peut-être suffisant?

Liste arp-table

arp

Liste des baux DHCP

cat /tmp/dhcp.leases

... et combiné

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

2
Vous avez également des baux récents, comme un ordinateur portable éteint et un téléphone actuellement sur un autre réseau wifi.
Dereckson

J'ai toujours une réponse vide cat /tmp/dhcp.leases, tandis que de nombreux appareils ont obtenu les paramètres IP et réseau du WIFI d'OpenWRT.
Boris Ivanov

Cela ne fonctionnera pas si votre routeur fonctionne comme un pont, car il n'offre pas le DHCP lui-même.
Raúl Salinas-Monteagudo

12

Afin de voir les clients wifi associés, même s'ils n'ont pas de client DHCP ou n'ont pas d'ip, vous devez demander à l'AP les périphériques wifi associés:

# 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

De cette façon, vous verrez également la vitesse de connexion. Pour moi, cela ressemble à ceci:

# 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

Que diriez-vous de nmap?

opkg install nmap

Ensuite, effectuez une analyse furtive de votre sous-réseau (probablement 192.168.1.0/24)

nmap -sS 192.168.1.0/24

Cela répertoriera également les services exécutés sur les clients. Il peut également déclencher des alarmes si le client dispose d'un logiciel de détection de balayage de port (c.-à-d. Snort), alors soyez prudent.


Vous générez du trafic ici. Si vous voulez simplement garder des statistiques toutes les minutes, par exemple, vous créeriez inutilement le trafic, le rayonnement et la consommation. Je pense au cas où vous voulez savoir si votre téléphone portable est chez vous, pour un système domotique. Vous ne voulez pas vider la batterie de votre téléphone pour cela.
Raúl Salinas-Monteagudo

1

Au lieu de cat /tmp/dhcp.leases|wc -let arp -a, ma solution est

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

Il renverra le nombre d'appareils connectés à OpenWRT par le port LAN. Presque en temps réel.


1

Pour les obtenir directement depuis hostapd(le démon qui gère le point d'accès):

$ 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
        }
    }
}

(ou remplacez wlan0par l'interface qui vous intéresse)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.