Script que busca IP Livres em uma rede

Publicado por Pedro Augusto Malanga (última atualização em 30/06/2011)

[ Hits: 9.151 ]

Download script.02




Pessoal, um script bem simples que traz somente os IPs que não estão sendo utilizados na rede.


  



Esconder código-fonte

#!/bin/bash
#
# Uso: ./script.01  192.168.1.0/24
#
# Autor: Pedro Augusto Malanga
#
# Scrip para buscar ips livres em uma faixa de rede.
#
# v1.1


declare -a faixa
declare -a busca

faixaip=$1
i=0
z=0
w=0

corta=`echo $faixaip | cut -d "." -f1-3`

for N in `nmap -sL -n $faixaip | grep $corta | awk  -F. '{print $3 "." $4}' | cut -d " " -f1`
do
faixa[i]=$N
i=$((i+1))
done

for Y in `nmap -sP -n $faixaip | grep $corta | awk  -F. '{print $3 "." $4}' | cut -d " " -f1`
do
busca[z]=$Y
z=$((z+1))
done

for p in ${faixa[@]}
do
h=0
        for a in ${busca[@]}
        do
                if [ "$p" == "$a" ]
                then
                        h=1
                        break
                else
                        h=2
                fi
        done
        if [ "$h" == 2 ]
        then
                echo "LIVRE -->" $p
        fi
done

Scripts recomendados

Calculador de numeros primos

Calculo de médias da UNIP

Limpar bibliotecas não utilizadas

Gravar CD de dados

soma e multiplicação de parametros


  

Comentários
[1] Comentário enviado por diegowalisson em 30/06/2011 - 11:28h

Pinguei um dos IP's que o script listou e ele estava em uso.
Usei o comando assim:

~$ ./script 172.18.4.0/24

[2] Comentário enviado por malanga em 21/07/2011 - 17:17h

Observei aqui e com usuario normal apresenta esse problema.

com root ou com sudo funciona blz.

[3] Comentário enviado por Minions em 02/03/2024 - 13:35h



Pode ter falso positivo

Maquina da rede usando o IP pode esta desligada e o IP aparece como não sendo utilizados na rede no script.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts