Criar um script de comparação de nomes e IPs de hosts.

1. Criar um script de comparação de nomes e IPs de hosts.

Roberto Justo
roberto_justo

(usa Outra)

Enviado em 11/09/2013 - 15:17h

Olá,

Gostaria de criar um script para comparar os nomes e hosts de DNS de um local.

Possuo um diretório onde existe um arquivo com todos os nomes dos hosts e seus respectivos ips.

Executo o comando dig [nome do host] +short

Recebo a resposta com o IP do host.


Executo o comando dig -x [IP do host] +short

Recebo a resposta com o nome do host.


Nem sempre a resposta que obtenho com o nome do host é o que está especificado nesse arquivo.




Exemplo:

Possuo um host chamado abc.123 que aponta para o IP 10.230.20.233

Executo o comando dig-x 10.230.20.233 +short e recebo a resposta com um nome de host diferente de abc.123. Isso acontece porque realmente estão descritos erradamente aqui.



Portanto gostaria de que me pudessem ajudar a criar um script que comparasse o nome do host com o seu IP e listar os que não são compatíveis, ou seja, listar o nome dos hosts que não estejam com IP correto de acordo com o arquivo.



  


2. Re: Criar um script de comparação de nomes e IPs de hosts.

Fernando
phoemur

(usa Debian)

Enviado em 11/09/2013 - 17:29h

você precisa postar o formato do seu arquivo onde estão os nomes de hosts e ip , pois não vamos conseguir te ajudar se não soubermos como pegar os dados pra comparação...

Seria mais ou menos no formato do /etc/hosts ??


3. Re: Criar um script de comparação de nomes e IPs de hosts.

Roberto Justo
roberto_justo

(usa Outra)

Enviado em 11/09/2013 - 17:58h

Me desculpe, o formato do meu arquivo é ASCII text. e esta localizado dentro de uma máquina acessada por SSH.

Obrigado.


4. Re: Criar um script de comparação de nomes e IPs de hosts.

Fernando
phoemur

(usa Debian)

Enviado em 11/09/2013 - 18:01h

O formato dos campos eu quis dizer, por exemplo


127.0.0.1 localhost
192.168.1.1 router


como está o arquivo?


5. Re: Criar um script de comparação de nomes e IPs de hosts.

Roberto Justo
roberto_justo

(usa Outra)

Enviado em 11/09/2013 - 18:16h

Formato Router : 192.168.1.1


6. Re: Criar um script de comparação de nomes e IPs de hosts.

Fernando
phoemur

(usa Debian)

Enviado em 12/09/2013 - 09:37h

Se o seu arquivo de hosts for arquivo.txt, você pode criar um arquivo novo dando dig em todos os hosts (tudo na mesma linha):


paste -d':' <(awk '{print $1}' arquivo.txt) <(awk '{print $1}' arquivo.txt | xargs -i dig {} +short) | sed 's/:/ : /g' > arquivo_novo.txt


Daí esse arquivo novo já vai estar com os ips atualizados pelo nome dos hosts, porém se quiser comparar o arquivo novo e antigo pra ver onde estavam diferentes você pode usar o comando diff:


diff -y --suppress-common-lines arquivo.txt arquivo_novo.txt


Antes de fazer isso certifique-se que o seu DNS esteja bem configurado, pois o dig vai pegar os ips por ele...

Ali eu mantive o nome dos hosts e atualizei os IPS... Se você quiser manter os ips e atualizar o nome dos hosts, o processo é bem parecido:


paste -d':' <(awk '{print $3}' arquivo.txt | xargs -i dig -x {} +short) <(awk '{print $3}' arquivo.txt) | sed 's/:/ : /g' > arquivo_novo.txt


eu usei o Dig porque você especificou, porém dá pra usar outras ferramentas como o nslookup






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts