Com os softwares nmap e awk, com apenas uma linha de código, eu consigo gerar um relatório sobre os computadores que estão ativos em uma rede:
nmap -sP 192.168.0.1-254 | awk '/up/ {print $2 " ativo"}'
O mais interessante da solução acima é o fato de ser em uma linha ao contrário de algo como:
for((i=1; i <= 255; i++)); do
if ! ping -c 2 192.168.0.$i ; then
echo "192.168.1.$i não respondeu $1 " >> falhou.txt
else
echo "192.168.1.$i respondeu $1 " >> respondeu.txt
fi
done
nmap -sP 192.168.0.1-254 | awk '/up/ {print $2 " ativo"}'
O mais interessante da solução acima é o fato de ser em uma linha ao contrário de algo como:
for((i=1; i <= 255; i++)); do
if ! ping -c 2 192.168.0.$i ; then
echo "192.168.1.$i não respondeu $1 " >> falhou.txt
else
echo "192.168.1.$i respondeu $1 " >> respondeu.txt
fi
done