msoliver
(usa Debian)
Enviado em 20/03/2016 - 14:06h
ede_linux escreveu:
Olá,
Tenho um router com dois pc, Linux, ligados! Existe forma de a partir de um pc ver quais pc estão ligados na rede (ver os seus Ips)?
Obrigado
---------------------------------------------------------
Boa tarde ede-linux!!!
Existe sim....
Elaborei um Script para isso, segue:
#!/bin/bash
######################################
## marcelo oliver-MARÇO/2016-Rev:00 ##
######################################
INICIO() {
GW=$(route|awk '/default/{print $2}')
printf "\n O GATEWAY É: $GW\n CONFIRMA?\n"
PERGUNTASN
if [[ $RESP = +(s|S) ]];then PEGA
else
MSG="INFORME O GATEWAY: "
PERGUNTA
GW="$REPLY"
PEGA
fi
}
PEGA() {
MSG="Informe o \"4º OCTETO\" Do IP INICIAL:"
PERGUNTA
IP_Ini="$REPLY"
MSG="Informe o \"4º OCTETO\" Do IP FINAL:"
PERGUNTA
IP_Fin="$REPLY"
PING
}
PERGUNTASN() {
read -p " [S/N]: " -e -n1 RESP
[[ $RESP != +(s|S|n|N) ]] && PERGUNTASN
}
PERGUNTA() {
echo -e "\n $MSG"
read -p " "
[ "$REPLY" ] || ALERTA
}
ALERTA() {
echo -e " \e[;31mPreenchimento Obrigatório!\e[m\n $MSG" ; sleep 0.5 ; PERGUNTA
}
PERGUNTASN() {
read -p " [S/N]: " -e -n1 RESP
[[ $RESP != +(s|S|n|N) ]] && PERGUNTASN
}
PING() {
echo ""
IP=$(cut -d"." -f1-3 <<< "$GW")
for ((i=$IP_Ini;i<=$IP_Fin;i++));do
if ping -c2 $IP.$i > /dev/null;then
echo " $IP.$i ATIVO"
else
echo " $IP.$i INATIVO"
fi
done
}
INICIO
OBS.: A FRASE:
"Informe o "4º OCTETO" Do IP INICIAL:" refere-se ao ultimo conjunto de NÚMEROS que formam o IP.
Um outro modo é:
fping -r1 -g 192.168.0.100 192.168.0.116
Onde,
192.168.0.100 é o IP INICIAL
192.168.0.116 é o IP FINAL
Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos, o que incentiva a continuar colaborando/ajudando/participando/compartilhando . . . :)
Abç.:
Marcelo Oliver