como obter uma lista dos clientes wifi conectados no OpenWrt 10.03?

12

como obter uma lista dos clientes wifi conectados no OpenWrt 10.03?

LanceBaynes
fonte

Respostas:

14

Você pode usar a tabela arp ou as concessões DHCP. Não é uma solução perfeita, talvez seja o suficiente?

Lista arp-table

arp

Listar concessões DHCP

cat /tmp/dhcp.leases

... e combinado

for ip in $(arp | grep -v IP | awk '{print $1}'); do 
    grep $ip /tmp/dhcp.leases; 
done
nsg
fonte
2
Você também tem concessões recentes, como um laptop desligado e um telefone atualmente em outra rede wifi.
Dereckson
Ainda tenho uma resposta vazia cat /tmp/dhcp.leases, enquanto muitos dispositivos obtêm configurações de IP e de rede a partir do WIFI do OpenWRT.
Boris Ivanov
Isso não funcionará se o seu roteador funcionar como uma ponte, pois não oferece o próprio DHCP.
Raúl Salinas-Monteagudo 28/11
12

Para ver os clientes wifi associados, mesmo se eles não tiverem um cliente DHCP ou não tiverem ip, peça ao AP os dispositivos wifi associados:

# 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

Dessa forma, você também verá a velocidade da conexão. Para mim, isso é assim:

# 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
fonte
1

E o nmap?

opkg install nmap

Em seguida, faça uma varredura furtiva da sua sub-rede (provavelmente 192.168.1.0/24)

nmap -sS 192.168.1.0/24

Isso também listará os serviços em execução nos clientes. Também pode acionar alarmes se o cliente tiver o software de detecção de verificação de porta (por exemplo, snort) instalado, portanto, tenha cuidado.

KrakenSkulls
fonte
Você gera tráfego aqui. Se você quiser apenas manter as estatísticas a cada minuto, por exemplo, criaria tráfego, radiação e consumo desnecessariamente. Estou pensando no caso em que você deseja saber se o seu celular está no seu lugar, para um sistema de automação residencial. Você não quer esgotar a bateria do telefone para isso.
Raúl Salinas-Monteagudo 28/11
1

Em vez de cat /tmp/dhcp.leases|wc -le arp -a, minha solução é

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

Ele retornará o número de dispositivos conectados ao OpenWRT pela porta LAN. Quase em tempo real.

Alan42
fonte
0

Para obtê-los diretamente de hostapd(o daemon que gerencia o ponto de acesso):

$ 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 substitua wlan0pela interface em que você está interessado)

Kirelagin
fonte