7

I have several linux devices connected to the same router (of which I am not a administrator). How can I find out the ip addresses of all other devices by executing some commands in one of them?

qed
  • 2,669

2 Answers2

14

I believe you could use nmap to get such information.

The below command lists me all the machines/devices connected in my network. It is a home network and it lists me all the machines in my home.

nmap -sP 192.168.1.0/24

I believe you need to modify the subnet mask and IP range that you are in to suit your requirements.

Ramesh
  • 39,297
  • 3
    why 192.168.1.0/24? what means? – Tarlo_x Nov 07 '15 at 13:15
  • 6
    nmap -sA 192.168.1.0/24 nmap option -sA shows similar descriptive results with better readability, which includes device name, IP, mac, etc as with option -sP. I personally prefer -sA over -sP for the readability sake. – Jay Feb 03 '16 at 10:17
  • 2
    @Tarlo_x https://superuser.com/questions/970380/so-what-does-24-have-to-do-with-255-in-hosts-ip-addresses – Alessandro Jacopson Sep 02 '18 at 09:30
2

For a more compact list of connected devices:

nmap -sL 192.168.0.* | grep \(1

Explanation
nmap -sL 192.168.0.* will list all IPs in subnetwork and mark those, that have name:

Nmap scan report for 192.168.0.0
Nmap scan report for Dlink-Router.Dlink (192.168.0.1)
Nmap scan report for 192.168.0.2
...
Nmap scan report for android-473e80f183648322.Dlink (192.168.0.53)
...
Nmap scan report for 192.168.0.255

As all interesting records contain parenthesis ( and digit 1, we filter for that with | grep \(1 (backslash is needed to escape parenthesis)

Quirk
Beware that if two devices have the same name, nmap will show only the one, that was connected to router last