Super User Asked by Christopher Gwilliams on January 30, 2021
Using Ubuntu 10.10 command line, how can I list all IPs connected to my home network?
Ideally, it needs to be a CLI command as I will be running it from C++.
This Anwswer determines the subnet by itself while in the other anwsers you need to provide it.
The script uses arp -a
or ip -o -f inet addr show
to find the subnet.
I've build the script elaborating on @anders-larsson and @mathieu-caroff 's anwsers. I avoid the use of 'nmap', but the script is easil amended to use nmap.
Basically, $baseip
is built using bash replacement macros in the second part of the script if no parameter is provided on the command line. Otherwise it will scan the provided subnet (style: 192.1.5 without the third dot last byte of the IP).
#!/bin/bash
function scan ()
{
for ip in $1.{1..254}; do
ping -c 1 -W 1 $ip &
done | sed -nE 's:^.* from ([0-9.]+).*time=(.*s)$:1 (2):p'
wait
}
if [ $1 ]; then
for baseip; do
scan $baseip
done
else
baseip=$(arp -a) && baseip=${baseip%%)*} && baseip=${baseip##*(}
if [ $baseip"" == "" ] ; then
baseip=$(ip -o -f inet addr show|grep "scope global") && baseip=${baseip##* inet} && baseip=${baseip%%/*}
fi
baseip=${baseip%.*}
scan $baseip
fi
Answered by le_top on January 30, 2021
Ellaborating on Anders Larrson's answer -
#!/bin/bash
function scan ()
{
for ip in $1.{1..254}; do
ping -c 1 -W 1 $ip &
done | sed -nE 's:^.* from ([0-9.]+).*time=(.*s)$:1 (2):p'
}
if [ $1 ]; then
for baseip; do
scan $baseip
done
else
scan 192.168.1
fi
Answered by Mathieu CAROFF on January 30, 2021
Came up with the following on a nexus using tmux
as arp-scan
isn't in the repo but nmap
came pre-installed, displays just the ip addresses:
nmap -sn 192.168.1.1-254/24 | egrep "scan report" | awk '{print $5}'
Answered by zentek on January 30, 2021
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 start with 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
Answered by Alexander Malakhov on January 30, 2021
Try installing nmap
(sudo apt-get install nmap
) and type nmap 192.168.1.0/24
substituting 192.168.1
with the first three parts of your ip address (find out using ip addr
).
You can also get a slightly less accurate (in my experience) map of a network by running ping 192.168.1.255
(again substituting 192.168.1
), which should issue a ping
to every machine on the network, but, in my experience, does not always function correctly.
Answered by vktec on January 30, 2021
If your network is 192.168.0.0/24
, make an executable file with the following code; Change the 192.168.0
to your actual network.
#!/bin/bash
for ip in 192.168.0.{1..254}; do
ping -c 1 -W 1 $ip | grep "64 bytes" &
done
Answered by Anders Larsson on January 30, 2021
Use nmap. example: nmap -sn 10.10.10.0/24
The arp cache will only tell you those that you have tried to contact recently.
Answered by Keith on January 30, 2021
Check out the arp-scan command - you will probably have to install it eg:
sudo apt-get install arp-scan
http://manpages.ubuntu.com/manpages/hardy/man1/arp-scan.1.html
And to give further detail:
sudo arp-scan --interface=eth0 --localnet
Where eth0 is your device. You can find your device with:
ifconfig
Answered by Linker3000 on January 30, 2021
In windows this would be arp -a
an equivalent of that in Linux would be arp -e
.
From the man
page for arp
:
arp with no mode specifier will print the current content of the table.
-e : Use default Linux style output format (with fixed columns).
Answered by David on January 30, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP