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. OIN
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.