Verifica duplicação de IPs na rede
Publicado por Osama Jr. (última atualização em 10/07/2010)
[ Hits: 6.140 ]
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 exibi informações do sistema
Script para alterar listas do Squid
Nenhum coment�rio foi encontrado.
Conciliando o uso da ZRAM e SWAP em disco na sua máquina
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
Realizar overclock no Miyoo Mini (plus ou normal)
Otimização de memória para máquinas modestas
Unbuntu não atualiza o firmware [RESOLVIDO] (2)
linux mint reconhece microfone de lapela como fone de ouvido sem micro... (0)
Dúvidas sobre a originalidade de conteúdos online (10)
Erro de interface de Rede no Virt Manager dentro Debian 13 KDE [RESOLV... (12)