Testando o DNS

Para finalizar essa série de posts sobre DNS, vou mostrar alguns comandos para que você teste o seu e outros servidores DNS. Com isso podemos verificar erros na configuração, na propagação ou erros de segurança.

WHOIS
O comando whois exibe informações sobre um determinado domínio ou IP. Permite não somente consultar a respeito do proprietário, dns, data de um domínio/IP, como também verificar a origem de um endereço descoberto em um possível ataque. O comando whois consulta o órgão ou empresa responsável de cada país para exibir as informações.

Sintaxe do comando:
whois

Exemplo:
root:~# whois www.google.com.br

HOST
O comando host é utilizado para verificar o funcionamento de um domínio, ele mostra se a resolução de nomes e apelidos está funcionando, seja na zona direta ou inversa.

Sintaxe do comando:
host

Exemplo:
root:~# host www.uol.com.br
root:~# host -t NS uol.com.br
root:~# host -t MX uol.com.br
root:~# host 200.147.36.15

NSLOOKUP
O comando nslookup faz pesquisa sobre domínios de internet de forma interativa (em um shell próprio) e não interativa, faz consultas que podem ou não ter uma resposta de um DNS de autoridade sobre um domínio.

Sintaxe do comando:
nslookup

Consulta sobre o domínio ig.com.br através do seu servidor DNS, consulta não autoritativa.

root:~# nslookup ig.com.br

Consulta sobre o domínio ig.com.br através do próprio DNS do domínio ig.com.br, uma consulta autoritativa, pois quem respondeu foi o próprio DNS do domínio.
root:~# nslookup ig.com.br dnssec1.ig.com.br

DIG
O comando dig permite fazer resoluções diretas de nomes ou indiretas de endereços, e retorna muito mais informação do que o comando host. Mostra dados do cabeçalho dos arquivos db do DNS, mostra a query time que é o tempo de duração da consulta, etc.

Sintaxe do comando:
dig

Exemplo:
Consultando informações de um DNS.
root:~# dig empresa.net

Consultando os servidores de DNS de um domínio:
root:~# dig NS empresa.net

Consultando apenas os servidores de DNS de um domínio:
root:~# dig NS empresa.net +noall +answer

Consultando os servidores MX de um domínio:
root:~# dig MX empresa.net

Consultando apenas os servidores MX de um domínio:
root:~# dig MX empresa.net +noall +answer

Consultando um apelido de um host:
root:~# dig CNAME www.empresa.net

Consultando uma chave pública do DNSSEC:
root:~# dig +dnssec ig.com.br DNSKEY @dnssec1.ig.com.br

Consultando a versão do bind:
root:~# dig @eliot.uol.com.br version.bind txt chaos

Consultando sobre o registro SOA:
root:~# dig ig.com.br +nssearch

Consultando sobre a vulnerabilidade de um domínio, onde (POOR é vulnerável e GREAT é com melhor segurança):
root:~# dig +short @ns1.empresa.net porttest.dns-oarc.net TXT

Consultando a rota utilizada para resolver um nome:
root:~# dig www.google.com.br +trace

Atualizando a lista de Root Server
root:~# dig @a.root-servers.net. ns . > /etc/bind/db.root

Com esses comandos você pode consultar como está o registro de um domínio, quais as informações ele fornece, quais os servidores descritos no DNS e como estão as informações de segurança.

Não esqueça de assinar nosso Portal e votar no TopBlog.