Verifica duplicação de IPs na rede
Publicado por Osama Jr. (última atualização em 10/07/2010)
[ Hits: 6.088 ]
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
Script que mostra um menu e lista opções para o usuário...
Jukebox com dialog para PCs antigos
Números impares no intervalo entre 2 números
Mostrando um exemplo de redirecinamento
Nenhum coment�rio foi encontrado.
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Como instalar o Google Cloud CLI no Ubuntu/Debian
Mantenha seu Sistema Leve e Rápido com a Limpeza do APT!
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
como instalo panfrost-dri e o driver panfrost fork , ou panfrost (16)
problema no debian que poderia ser corrigido por comando? (12)
Usar uma VM dentro do meu notebook como firewall para um dispositivo e... (0)
Eu tive esse erro aqui depois de de baixar o HyprLand Ubuntu na versão... (1)