I would like to determine what computers are currently connected to my access point/router via the command line in Linux.
How can I do this?
Super User is a question and answer site for computer enthusiasts and power users. It only takes a minute to sign up.Sign up to join this community
You can also try:
arp-scan [network/CIDR] eg: arp-scan 192.168.1.0/24
You may need to install arp-scan - most major distributions have it in their repos.
mybox $ arp -an ? (172.16.17.135) à f0:1f:af:36:93:fa [ether] sur wlan1 ? (172.16.17.143) à f8:16:54:95:ac:b2 [ether] sur wlan1 ? (172.16.17.65) à 8c:70:5a:a4:74:a8 [ether] sur wlan1 ? (172.16.17.1) à 00:1C:d4:01:06:0c [ether] sur wlan1
If you feel adventurous, you can use
arp -a which will try to resolv IP.
This will show you only local host with active connection.
arp is somehow deprecated, now you sould use
ip n (n as neighbour).
Depending on Linux version and also on network configuration you need to supply network information for
arp-scan so it knows what to scan as you may have (and usually you do) multiple interfaces.
I'd recommend this command options
sudo arp-scan --localnet --interface=en1
First of all, you may need
arp-scan uses some services that require root privileges.
--localnet frees you from having to know your IP and it will scan 256 addresses like
192.168.1.0/24but will handle address for you automagically.
--interface=en1 is the interface it will use in case default
en0 is not your active link. To check which interface is active along with other useful information use
If you are using Mac OS X, you will need to install package. To do so, visit Rudix repository, download and install package (you will need administrative privileges and password) and then use like I suggested.