como obter uma lista dos clientes wifi conectados no OpenWrt 10.03?
como obter uma lista dos clientes wifi conectados no OpenWrt 10.03?
Respostas:
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
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.
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.
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 wlan0
pela interface em que você está interessado)