Blog Agility

Como solucionar problemas de DNS com dig e nslookup

Como solucionar problemas de DNS com dig e nslookup

Dig (no GNU/Linux) e nslookup (no Microsoft Windows) são as ferramentas de linha de comando básicas para a resolução de problemas de DNS. Enquanto ferramentas baseadas na web são convenientes e fáceis de usar, muitas vezes é mais rápido usar uma ferramenta de linha de comando em seu próprio sistema. 

Usando nslookup no Windows

O Microsoft Windows não inclui o programa dig. No entanto, o programa nslookup proporciona as mesmas funcionalidades. Para executar nslookup no Microsoft Windows, siga estes passos:

Abra uma janela de comando do DOS. Para fazer isso, clique em Iniciar, clique em Executar, digite cmd e pressione Enter.

No prompt de comando, digite o seguinte comando. Substitua example.com com o domínio que você quer testar:

~ # nslookup example.com

Interpretando a saída do nslookup. Por exemplo, o seguinte resultado mostra informações para example.com:


Server:  resolver1.opendns.com
Address:  208.67.222.222
Name:    example.com
Address:  93.184.216.119

A partir disso, podemos ver que example.com está apontando para o endereço IP 93.184.216.119. Nós também podemos ver que  o servidor DNS resolver1.opendns.com foi utilizado para a consulta.

Para usar um servidor de DNS específico para a consulta, basta adicionar o nome do servidor ou endereço IP no fim do comando. Por exemplo, o seguinte comando executa uma pesquisa DNS no domínio example.com usando um servidor OpenDNS (que tem endereço IP 208.67.222.222):

~ # nslookup example.com 208.67.222.222

Por padrão, nslookup procura o registro para um domínio. Para procurar um registro DNS diferente, você deve entrar em modo interativo. Por exemplo, para ver os registros de MX (Mail Exchanger)  para o domínio example.com, digite na linha de comando:

~ # nslookup
> set type=MX
> example.com

 

Usando dig no Linux

Para executar o programa dig no GNU/Linux, siga estes passos:

Abra uma janela de terminal. O procedimento para fazer isso depende do sistema operacional e ambiente de trabalho.

No prompt de comando, digite o seguinte comando. Substitua example.com com o domínio que você quer testar:

~ # dig example.com

 Interpretando a saída do dig. Por exemplo, o seguinte resultado mostra as informações para example.com:

user@localhost:~$ dig example.com

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46803
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;example.com.   IN A

;; ANSWER SECTION:
example.com.  2424 IN A 93.184.216.119

;; Query time: 12 msec
;; SERVER: 192.168.0.1#53(192.168.0.1)
;; WHEN: Thu Jan  9 16:07:09 2014
;; MSG SIZE  rcvd: 45

 

A saida do comando dig exibe QUESTION SESSION( pedido) e ANSWER SECTION (o que o servidor DNS envia em resposta ao pedido). Neste caso, usamos as opções padrões do dig, que simplesmente procuram o registro para um domínio. A partir disso, podemos ver que example.com atualmente aponta para o endereço IP 93.184.216.119.

Para usar um servidor DNS específico para a consulta, use a opção @. Por exemplo, o seguinte comando executa uma pesquisa DNS no domínio example.com usando um servidor OpenDNS (que tem endereço 208.67.222.222 IP):

~ # dig @208.67.222.222 example.com

Por padrão, dig exibe o registro A para um domínio. Para procurar um registro DNS diferente, basta adicioná-lo ao final do comando. Por exemplo, para procurar o registro MX (Mail Exchanger) para o domínio example.com, digite o seguinte comando:

~ # dig example.com MX


Os comandos dig e nslookup podem economizar tempo e esforço ao definir registros DNS do seu domínio. Embora o objetivo seja uma abordagem rápida e simples, os métodos mostrados neste artigo devem ser suficientes para a maioria das situações e problemas.