Comando dig no Linux (consulta DNS) [Guia Básico]

O comando dig no Linux (domain information groper) é uma poderosa e flexível ferramenta para busca de informações em servidores de resolução de nomes DNS. Ela é usualmente utilizada para diagnosticar problemas de configuração de servidores. 

Para instalar o dig

No Debian e Ubuntu:

$ apt-get install dnsutils

No CentOS 7:

$ yum install bind-utils

Ao instalar, verifique a versão para garantir que a configuração foi concluída com sucesso:

$ dig -v

Sintaxe do DIG

De uma forma simples, a sintaxe do dig será:

dig [server] [name] [type]

[server] – o endereço do IP ou hostname do servidor DNS a ser consultado. Se o argumento de servidor não for fornecido, o dig usará o endereço listado em /etc/resolv.conf.

[name] – o nome do registro de recurso que deve ser pesquisado. Pode ser um host ou um domínio.

[type] – o tipo de pesquisa solicitada pelo dig. Por exemplo: registro A, MX ou SOA (consulte a lista de record DNS), etc. Por padrão, o dig pesquisa um registro A.

Exemplos de uso do dig

Neste exemplo, o dig retorna o endereço IP correspondente ao site certificacaolinux.com.br, bem como qual servidor de DNS foi responsável (autoridade) para responder à consulta:

$  dig certificacaolinux.com.br
;; QUESTION SECTION:
;certificacaolinux.com.br.      IN      A
;; ANSWER SECTION:
certificacaolinux.com.br. 86400 IN      A       192.168.1.5
;; AUTHORITY SECTION:
certificacaolinux.com.br. 86400 IN      NS      ns2.host.br.
certificacaolinux.com.br. 86400 IN      NS      ns.host.br.

Obter record MX de um domínio

O comando dig também pode ser utilizado para fazer perguntas por registros específicos no servidor de nomes. No exemplo abaixo ele irá retornar apenas os registros do tipo MX do domínio certificacaolinux.com.br:

$ dig MX certificacaolinux.com.br
;; QUESTION SECTION:
;certificacaolinux.com.br.    IN MX
;; ANSWER SECTION:
certificacaolinux.com.br. 35  IN MX 3 alt2.aspmx.l.google.com.
certificacaolinux.com.br. 35  IN MX 10 web.certificacaolinux.com.br.
certificacaolinux.com.br. 35 IN MX 1 aspmx.l.google.com.
certificacaolinux.com.br. 35 IN MX 2 alt1.aspmx.l.google.com.

Obter máximo de informações de um domínio com o dig

A opção “any” faz com que o dig tente obter todas as informações de um determinado domínio:

$ dig example.com any
; <<>> DiG 9.6.1 <<>> example.com any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4016
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

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

;; ANSWER SECTION:
example.com.            172719  IN      NS      a.iana-servers.net.
example.com.            172719  IN      NS      b.iana-servers.net.
example.com.            172719  IN      A       208.77.188.166
example.com.            172719  IN      SOA     dns1.icann.org. hostmaster.icann.org. 2007051703 7200 3600 1209600 86400

;; Query time: 1 msec
;; SERVER: ::1#53(::1)
;; WHEN: Wed Aug 12 11:40:43 2009
;; MSG SIZE  rcvd: 154

Especificar o servidor de consulta no dig

Para especificar o servidor de consulta, você também pode usar a opção “@” seguido do endereço de um servidor de DNS:

$ dig wikimedia.org MX @ns0.wikimedia.org
; <<>> DiG 9.11.3 <<>> wikimedia.org MX @ns0.wikimedia.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39041
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1024
; COOKIE: c9735311d2d2fa6e3b334ab01b67960d (good)
;; QUESTION SECTION:
;wikimedia.org.                 IN      MX

;; ANSWER SECTION:
wikimedia.org.          3600    IN      MX      10 mx1001.wikimedia.org.
wikimedia.org.          3600    IN      MX      50 mx2001.wikimedia.org.

;; Query time: 1 msec
;; SERVER: 208.80.154.238#53(208.80.154.238)
;; WHEN: Sat Sep 18 21:33:24 PDT 2021
;; MSG SIZE  rcvd: 108

Para obter uma informação resumida

A opção “+noall +answer +multiline” pode ser usada para obter uma versão resumida utilizável em para um arquivo de configuração de zona de DNS:

$ dig +noall +answer +multiline wikimedia.org MX
wikimedia.org.          3600 IN MX 10 mx1001.wikimedia.org.
wikimedia.org.          3600 IN MX 50 mx2001.wikimedia.org.

Para obter somente o endereço de um registro:

A opção “+short” resume bem a saída do comando dig:

$ dig godaddy.com +short
208.109.192.70

Pode-se especificar o tipo de record junto com a opção +short:

$ dig godaddy.com +short MX
0 godaddy-com.mail.protection.outlook.com.

Aprenda muito mais sobre Linux em nosso curso online. Você pode efetuar a matrícula aqui. Se você já tem uma conta, ou quer criar uma, basta entrar ou criar seu usuário aqui.

Gostou? Compartilhe