Verifica duplicação de IPs na rede
Publicado por Osama Jr. (última atualização em 10/07/2010)
[ Hits: 6.001 ]
Homepage: Não tenho
Simples script que verifica duplicação de IPs na rede. Este script depende de:
- arping
- zenity
#!/bin/bash # # Informa duplicação de ip's na rede # Autor: /bin/laden - 06/07/2010. # # Mais detalhes: <man arping> ou <www.google.com> =P # # Dependências: 'arping' e 'zenity'. PATH="/bin:/usr/bin:/sbin:/usr/sbin" INTERFACE="eth0" which zenity > /dev/null 2>&1 [ $? -ne 0 ] && { echo "zenity: comando não encontrado."; exit 1 ; } which arping > /dev/null 2>&1 [ $? -ne 0 ] && { echo "arping: comando não encontrado."; exit 1; } while true do ip=$(zenity --title="Checa IP" --entry --text "Endereço IP:") [ $? -ne 0 ] && exit $? # Obrigado a SMarcell <sandro_marcell@yahoo.com.br> pelo exemplo desta função. validaIP() { local numero_ip=$1 # Suporte 'built-in' a ER's! legal... =) [[ $numero_ip =~ ^[0-9]{2,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] || return 1 local primeiro_octeto segundo_octeto terceiro_octeto quarto_octeto OLD_IFS=$IFS IFS="." set - $numero_ip primeiro_octeto=$1 segundo_octeto=$2 terceiro_octeto=$3 quarto_octeto=$4 IFS=$OLD_IFS # Checa o 2o octeto especifico de cada faixa case $primeiro_octeto in 10) [[ $segundo_octeto =~ ^0[0-9][0-9]? ]] && return 1 # Invalida tipos '0x' ou '0xx' (( segundo_octeto >= 0 && segundo_octeto <= 255 )) || return 1 ;; 172) (( segundo_octeto >= 16 && segundo_octeto <= 31 )) || return 1 ;; 192) (( segundo_octeto == 168 )) || return 1 ;; *) return 1 esac # Ja que o 3o e 4o octetos sao comuns as tres faixas [[ $terceiro_octeto =~ ^0[0-9][0-9]? ]] || [[ $quarto_octeto =~ ^0[0-9][0-9]? ]] && return 1 (( terceiro_octeto >= 0 && terceiro_octeto <= 255 )) || return 1 (( quarto_octeto >= 0 && quarto_octeto <= 255 )) || return 1 } validaIP $ip [ $? -eq 1 ] && { zenity --error --text "Endereço IP inválido!" ; continue ; } break done ping -c 3 $ip > /dev/null 2>&1 retval=$? if [ $retval -eq 1 ] then zenity --error --text "$ip\nHost de destino inalcansável!" exit 1 fi arping -D -I $INTERFACE -c 3 $ip > /dev/null 2>&1 retval=$? if [ $retval -eq 0 ] then zenity --warning --text "$ip\nConflito de IP detectado." exit 1 else zenity --info --text "$ip\nNenhum problema encontrado." exit 0 fi
Montando Pen Drive no Slackware
Nenhum comentário foi encontrado.
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Título: Descobrindo o IP externo da VPN no Linux
Armazenando a senha de sua carteira Bitcoin de forma segura no Linux
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Máquinas Virtuais com IP estático acessando Internet no Virtualbox
Instalar o Microsoft Edge no Slackware 15
Instalando Brave Browser no Linux Mint 22
vídeo pra quem quer saber como funciona Proteção de Memória:
Atualizar para Ubuntu 22.04 nao consigo (0)
Problema com nome composto e organização na tela do yad (1)
Problemas na Atualização do Ubuntu 20.04 para 22.04 (2)
Primeira vez utilizando Linux Ubuntu 22.04 e já tenho problemas… (7)