¿Cómo obtener una lista de los clientes wifi conectados en OpenWrt 10.03?

12

¿Cómo obtener una lista de los clientes wifi conectados en OpenWrt 10.03?

LanceBaynes
fuente

Respuestas:

14

Puede utilizar la tabla arp o los arrendamientos DHCP. No es una solución perfecta, ¿tal vez es suficiente?

Lista arp-table

arp

Listar arrendamientos DHCP

cat /tmp/dhcp.leases

... y combinado

for ip in $(arp | grep -v IP | awk '{print $1}'); do 
    grep $ip /tmp/dhcp.leases; 
done
NS G
fuente
2
También tiene contratos de arrendamiento recientes, como una computadora portátil apagada y un teléfono actualmente en otra red wifi.
Dereckson el
Todavía tengo una respuesta vacía cat /tmp/dhcp.leases, mientras que muchos dispositivos obtuvieron configuraciones de IP y red de WIFI de OpenWRT.
Boris Ivanov
Esto no funcionará si su enrutador funciona como un puente, ya que no ofrece el DHCP en sí.
Raúl Salinas-Monteagudo
12

Para ver los clientes wifi asociados, incluso si no tienen un cliente DHCP o no tienen ip, debe solicitar al AP los dispositivos wifi asociados:

# 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 esta manera también verá la velocidad de conexión. Para mí esto se ve así:

# 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.
Fa11enAngel
fuente
1

¿Qué tal nmap?

opkg install nmap

Luego haga un escaneo sigiloso de su subred (probablemente 192.168.1.0/24)

nmap -sS 192.168.1.0/24

Esto también enumerará los servicios que se ejecutan en los clientes. También puede activar alarmas si el cliente tiene instalado un software de detección de escaneo de puertos (es decir, snort), así que tenga cuidado.

KrakenSkulls
fuente
Generas tráfico aquí. Si solo desea mantener estadísticas cada minuto, por ejemplo, estaría creando innecesariamente el tráfico, la radiación y el consumo. Estoy pensando en el caso en el que desea saber si su teléfono móvil está en su lugar, para un sistema de automatización de la casa. No desea agotar la batería de su teléfono para esto.
Raúl Salinas-Monteagudo
1

En lugar de cat /tmp/dhcp.leases|wc -ly arp -a, mi solución es

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

Devolverá la cantidad de dispositivos que se conectaron a OpenWRT por el puerto LAN. Casi en tiempo real.

Alan42
fuente
0

Para obtenerlos directamente de hostapd(el demonio que administra el punto de acceso):

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

(o reemplazar wlan0 con la interfaz que le interesa)

kirelagin
fuente