Pesquisa de site

10 comandos Dig (Domain Information Groper) para consultar DNS


Em nosso artigo anterior, explicamos exemplos e uso do comando nslookup, que é uma ferramenta de linha de comando de rede usada para consultar e obter informações de DNS (Sistema de Nomes de Domínio).

Aqui, neste artigo, criamos outra ferramenta de linha de comando chamada dig, que é muito semelhante à ferramenta nslookup do Linux. Veremos o uso do comando dig de perto com seus exemplos e uso.

Dig significa (Domain Information Groper) é uma ferramenta de linha de comando de administração de rede para consultar o Sistema de Nomes de Domínio (DNS >) servidores de nomes.

É útil para verificar e solucionar problemas de DNS e também para realizar pesquisas de DNS e exibir as respostas que são retornadas do servidor de nomes que foi consultado.

Dig faz parte do conjunto de software de servidor de nomes de domínio BIND. O comando dig substitui ferramentas mais antigas, como nslookup e o host. A ferramenta dig está disponível nas principais distribuições Linux.

1. Consultar registro “A” do domínio

dig yahoo.com

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20076
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	A

;; ANSWER SECTION:
yahoo.com.		387	IN	A	98.137.11.163
yahoo.com.		387	IN	A	74.6.143.26
yahoo.com.		387	IN	A	74.6.143.25
yahoo.com.		387	IN	A	74.6.231.20
yahoo.com.		387	IN	A	74.6.231.21
yahoo.com.		387	IN	A	98.137.11.164

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 12:58:13 IST 2021
;; MSG SIZE  rcvd: 134

O comando acima faz com que dig procure o registro "A" do nome de domínio yahoo.com. O comando Dig lê o arquivo /etc/resolv.conf e consulta os servidores DNS listados nele. A resposta do servidorDNS é o que o dig exibe.

Vamos entender a saída dos comandos:

  • Linhas que começam com ; são comentários que não fazem parte da informação.
  • A primeira linha nos informa a versão do comando dig (9.16.1).
  • A seguir, dig mostra o cabeçalho da resposta recebida do servidor DNS.
  • Em seguida vem a seção de perguntas, que simplesmente nos informa a consulta, que neste caso é uma consulta para o registro "A" de yahoo.com. O IN significa que esta é uma pesquisa na Internet (na classe Internet).
  • A seção de respostas nos informa que yahoo.com tem o endereço IP 98.137.11.163.
  • Por último, existem algumas estatísticas sobre a consulta. Você pode desativar essas estatísticas usando a opção +nostats.

2. Consultar registro “A” do domínio com +short

Por padrão, dig é bastante detalhado. Uma maneira de reduzir a saída é usar a opção +short. o que reduzirá drasticamente a produção, conforme mostrado abaixo.

dig yahoo.com +short

98.137.11.164
74.6.231.21
74.6.231.20
74.6.143.25
74.6.143.26
98.137.11.163

Nota: Por padrão, dig procura pelo registro "A" do domínio especificado, mas você também pode especificar outros registros. O registro MX ou Mail eXchange informa aos servidores de e-mail como rotear o e-mail para o domínio. Da mesma forma, TTL, SOA, etc.

3. Consultando registro MX para domínio

Consultando apenas diferentes tipos de registros de recursos DNS.

dig yahoo.com MX

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60630
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	MX

;; ANSWER SECTION:
yahoo.com.		51	IN	MX	1 mta6.am0.yahoodns.net.
yahoo.com.		51	IN	MX	1 mta5.am0.yahoodns.net.
yahoo.com.		51	IN	MX	1 mta7.am0.yahoodns.net.

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:03:32 IST 2021
;; MSG SIZE  rcvd: 117

4. Consultando registro SOA para domínio

dig yahoo.com SOA

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com SOA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25140
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	SOA

;; ANSWER SECTION:
yahoo.com.		1800	IN	SOA	ns1.yahoo.com. hostmaster.yahoo-inc.com. 
2021121001 3600 300 1814400 600

;; Query time: 128 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:08 IST 2021
;; MSG SIZE  rcvd: 99

5. Consultando registro TTL para domínio

dig yahoo.com TTL

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com TTL
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64017
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;yahoo.com.			IN	A

;; ANSWER SECTION:
yahoo.com.		1606	IN	A	74.6.143.25
yahoo.com.		1606	IN	A	74.6.231.21
yahoo.com.		1606	IN	A	74.6.143.26
yahoo.com.		1606	IN	A	98.137.11.164
yahoo.com.		1606	IN	A	98.137.11.163
yahoo.com.		1606	IN	A	74.6.231.20

;; Query time: 4 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:58 IST 2021
;; MSG SIZE  rcvd: 134

;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 27889
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;TTL.				IN	A

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 10 13:04:58 IST 2021
;; MSG SIZE  rcvd: 32

6. Seção de resposta apenas para consulta

dig yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats

; <<>> DiG 9.16.1-Ubuntu <<>> yahoo.com +nocomments +noquestion +noauthority +noadditional +nostats
;; global options: +cmd
yahoo.com.		1556	IN	A	74.6.231.20
yahoo.com.		1556	IN	A	98.137.11.163
yahoo.com.		1556	IN	A	98.137.11.164
yahoo.com.		1556	IN	A	74.6.143.26
yahoo.com.		1556	IN	A	74.6.231.21
yahoo.com.		1556	IN	A	74.6.143.25

7. Consultando TODOS os tipos de registros DNS

dig yahoo.com ANY +noall +answer

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com ANY +noall +answer
;; global options: +cmd
yahoo.com.              3509    IN      A       72.30.38.140
yahoo.com.              3509    IN      A       98.138.253.109
yahoo.com.              3509    IN      A       98.139.183.24
yahoo.com.              1709    IN      MX      1 mta5.am0.yahoodns.net.
yahoo.com.              1709    IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              1709    IN      MX      1 mta7.am0.yahoodns.net.
yahoo.com.              43109   IN      NS      ns2.yahoo.com.
yahoo.com.              43109   IN      NS      ns8.yahoo.com.
yahoo.com.              43109   IN      NS      ns3.yahoo.com.
yahoo.com.              43109   IN      NS      ns1.yahoo.com.
yahoo.com.              43109   IN      NS      ns4.yahoo.com.
yahoo.com.              43109   IN      NS      ns5.yahoo.com.
yahoo.com.              43109   IN      NS      ns6.yahoo.com.

8. Pesquisa reversa de DNS

Consultando pesquisa reversa de DNS. Exibir apenas a seção de resposta usando +short.

dig -x 72.30.38.140 +short

ir1.fp.vip.sp2.yahoo.com.

9. Consultando vários registros DNS

Consulte a consulta específica de DNS de vários sites, viz. Registros MX, NS, etc.

dig yahoo.com mx +noall +answer redhat.com ns +noall +answer

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> yahoo.com mx +noall +answer redhat.com ns +noall +answer
;; global options: +cmd
yahoo.com.              1740    IN      MX      1 mta6.am0.yahoodns.net.
yahoo.com.              1740    IN      MX      1 mta7.am0.yahoodns.net.
yahoo.com.              1740    IN      MX      1 mta5.am0.yahoodns.net.
redhat.com.             132     IN      NS      ns1.redhat.com.
redhat.com.             132     IN      NS      ns4.redhat.com.
redhat.com.             132     IN      NS      ns3.redhat.com.
redhat.com.             132     IN      NS      ns2.redhat.com.

10. Crie o arquivo .digrc

Crie o arquivo .digrc em $HOME/.digrc para armazenar as opções de dig padrão.

dig yahoo.com
yahoo.com.              3427    IN      A       72.30.38.140
yahoo.com.              3427    IN      A       98.138.253.109
yahoo.com.              3427    IN      A       98.139.183.24

Armazenamos as opções +noall +answer permanentemente no arquivo .digrc no diretório inicial do usuário. Agora, sempre que o comando dig for executado, ele mostrará apenas a seção de resposta da saída dig. Não há necessidade de digitar sempre opções como +noall +answer.

Neste artigo, tentamos descobrir o comando dig que pode ajudá-lo a pesquisar informações relacionadas ao serviço de nomes de domínio (DNS). Compartilhe suas idéias através da caixa de comentários.