Wie bekomme ich eine Liste der verbundenen WLAN-Clients in OpenWrt 10.03?
Wie bekomme ich eine Liste der verbundenen WLAN-Clients in OpenWrt 10.03?
Antworten:
Sie können die arp-Tabelle oder DHCP-Leases verwenden. Keine perfekte Lösung, vielleicht ist es genug?
List arp-table
arp
Liste der DHCP-Leases
cat /tmp/dhcp.leases
... und kombiniert
for ip in $(arp | grep -v IP | awk '{print $1}'); do
grep $ip /tmp/dhcp.leases;
done
Um zugeordnete WLAN-Clients anzuzeigen, müssen Sie den Zugriffspunkt nach zugeordneten WLAN-Geräten fragen, auch wenn sie keinen DHCP-Client oder keine IP-Adresse haben:
# 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
Auf diese Weise sehen Sie auch die Verbindungsgeschwindigkeit. Für mich sieht das so aus:
# 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.
Wie wäre es mit nmap?
opkg install nmap
Führen Sie dann einen Stealth-Scan Ihres Subnetzes durch (wahrscheinlich 192.168.1.0/24).
nmap -sS 192.168.1.0/24
Dadurch werden auch die auf den Clients ausgeführten Dienste aufgelistet. Es kann auch Alarme auslösen, wenn auf dem Client eine Port-Scan-Erkennungssoftware (dh Snort) installiert ist. Seien Sie also vorsichtig.
Anstelle von cat /tmp/dhcp.leases|wc -l
und arp -a
ist meine Lösung
opkg update
opkg install arp-scan
arp-scan --interface=br-lan --localnet | grep responded | awk '{print $12}'
Es wird die Anzahl der Geräte zurückgegeben, die über den LAN-Port mit OpenWRT verbunden sind. Fast in Echtzeit.
So rufen Sie sie direkt von hostapd
(dem Dämon, der den Zugriffspunkt verwaltet) ab:
$ 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
}
}
}
(oder durch wlan0
die gewünschte Schnittstelle ersetzen )