Caso esteja desconfiado de que haja ips duplicados em sua rede Linux, utilize o script abaixo para ajuda-lo na resolução do problema.
O script verifica as conexões de Ips e soa um beep caso haja dois computadores ou dispositivos com o mesmo IP.
É necessário criar um arquivo com o código a seguir e fornecer permissão de execução a ele.
Rodar esse script no Gateway da rede.
#!/bin/bash
BEEP_FILE=/var/cache/duplicate-ips/alerta
BEEP_FREQ=3100
verificar_ips() {
IPS=$(arp-scan -l | grep ^[0-9] | awk '{print $1" "$2}' | sort -t . -n -k 1 -k 2 -k 3 -k 4 | uniq)
DUPLICADOS=$(awk '{print $1}' <<< "$IPS" | uniq -c | awk '{if ($1 != 1) print $2}')
[ "$DUPLICADOS" = "" ] && return 0
for i in $DUPLICADOS;do
awk '{if ($1 == "'$i'") print $1"="$2}' <<< "$IPS"
done
return 1
}
emitir_beep() {
mkdir -p ${BEEP_FILE%/*}
while [ "$(cat $BEEP_FILE 2> /dev/null)" = "yes" ];do
beep -f $BEEP_FREQ
sleep 0.5
done
}
case "$1" in
verificar)
if verificar_ips;then
$0 parar-beep
else
echo
$0 iniciar-beep
fi
;;
parar-beep)
echo no > $BEEP_FILE
;;
iniciar-beep)
echo yes > $BEEP_FILE
emitir_beep
;;
*)
echo "ERRO: Comando desconhecido"
echo -e "\nUtilize:\n\t$0 [verificar|iniciar-beep|parar-beep]"
exit 1
;;
esac
O script verifica as conexões de Ips e soa um beep caso haja dois computadores ou dispositivos com o mesmo IP.
É necessário criar um arquivo com o código a seguir e fornecer permissão de execução a ele.
Rodar esse script no Gateway da rede.
#!/bin/bash
BEEP_FILE=/var/cache/duplicate-ips/alerta
BEEP_FREQ=3100
verificar_ips() {
IPS=$(arp-scan -l | grep ^[0-9] | awk '{print $1" "$2}' | sort -t . -n -k 1 -k 2 -k 3 -k 4 | uniq)
DUPLICADOS=$(awk '{print $1}' <<< "$IPS" | uniq -c | awk '{if ($1 != 1) print $2}')
[ "$DUPLICADOS" = "" ] && return 0
for i in $DUPLICADOS;do
awk '{if ($1 == "'$i'") print $1"="$2}' <<< "$IPS"
done
return 1
}
emitir_beep() {
mkdir -p ${BEEP_FILE%/*}
while [ "$(cat $BEEP_FILE 2> /dev/null)" = "yes" ];do
beep -f $BEEP_FREQ
sleep 0.5
done
}
case "$1" in
verificar)
if verificar_ips;then
$0 parar-beep
else
echo
$0 iniciar-beep
fi
;;
parar-beep)
echo no > $BEEP_FILE
;;
iniciar-beep)
echo yes > $BEEP_FILE
emitir_beep
;;
*)
echo "ERRO: Comando desconhecido"
echo -e "\nUtilize:\n\t$0 [verificar|iniciar-beep|parar-beep]"
exit 1
;;
esac
Comentários
Postar um comentário