Verifica duplicação de IPs na rede
Publicado por Osama Jr. (última atualização em 10/07/2010)
[ Hits: 6.122 ]
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
Renomear todos os arquivos com uma determinada caracteristica
Backup PostgreSql por DataBases
script bobo mas de mutia utilidade
Obter lista de cidades do IBGE
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
O que você está ouvindo agora? [2] (214)
Problema com uma linha mal formada (7)