how to get a list of the connected wifi clients in OpenWrt 10.03?

5 Answers 5


You may use the arp-table, or DHCP-leases. Not a perfect solution, maybe it's enough?

List arp-table


List DHCP-leases

cat /tmp/dhcp.leases

... and combined

for ip in $(arp | grep -v IP | awk '{print $1}'); do 
    grep $ip /tmp/dhcp.leases; 
  • 3
    You have recent leases too, like a powered off laptop and a phone currently on another wifi network.
    – Dereckson
    Aug 4, 2014 at 17:54
  • I still have empty response cat /tmp/dhcp.leases, while many devices got IP and network settings from WIFI of OpenWRT. Aug 19, 2017 at 18:25
  • This will not work if your router works as a bridge, since it doesn't offer the DHCP itself. Nov 28, 2018 at 9:49

In order to see associated wifi clients, even if they don't have a DHCP Client or have no ip, you have to ask the AP for associated wifi devices:

# 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

This way you will also see the connection speed. For me this is looking like this:

# 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.

Instead of cat /tmp/dhcp.leases|wc -l and arp -a, my solution is

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

It will return the number of devices which connected to OpenWRT by LAN port. Almost real time.


How about nmap?

opkg install nmap

Then do a stealth scan of your subnet (likely

nmap -sS

This will list services running on the clients as well. It may also set off alarms if the client has port-scan detecting software (i.e snort) installed so be careful.

  • You generate traffic here. If you just want to keep statistics every minute, for example you would be creating traffing, radiation and consumption needlessly. I am thinking about the case where you want to know if your mobile phone is at your place, for a house automation system. You don't want to drain your phone battery for this. Nov 28, 2018 at 9:58

To get them directly from hostapd (the daemon that manages the access point):

$ 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": [
            "aid": 1

(or replace wlan0 with the interface you are interested in)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.