If you are on a remote host, and you have not the rights to install any other software, then this might come in handy.
Normally I would use “nmap” to scan for other devices on the network, but if that is not available and “ping” is, then this can also discover online devices on the network, assuming they are pingable (ICMP enabled).
#!/bin/bash
# Ping devices on a subnet
SUBNET=${1:-"192.168.2"}
function main()
{
for i in $SUBNET.{1..254}
do
check_alive $i &
done
# Sleep to not put shell inbetween
sleep 1
exit 0
}
function check_alive()
{
ping -c 1 $1 > /dev/null
[ $? -eq 0 ] && echo -e "$i\t UP"
}
main $@
The output will look like the following:
⇒ ./ping-it.sh 192.168.2
192.168.2.69 UP
192.168.2.62 UP
192.168.2.254 UP
192.168.2.14 UP
192.168.2.65 UP
192.168.2.182 UP
192.168.2.25 UP
192.168.2.200 UP
192.168.2.210 UP
192.168.2.190 UP