Android

Comando Dig no linux (pesquisa de DNS)

DNS - Exemplo de Tradução com o dig

DNS - Exemplo de Tradução com o dig

Índice:

Anonim

Dig (Domain Information Groper) é uma poderosa ferramenta de linha de comando para consultar servidores de nomes DNS.

Com o comando dig , você pode consultar informações sobre vários registros DNS, incluindo endereços de host, trocas de correio e servidores de nomes. É a ferramenta mais usada pelos administradores de sistema para solucionar problemas de DNS devido à sua flexibilidade e facilidade de uso.

Neste tutorial, mostraremos como usar o utilitário dig através de exemplos práticos e explicações detalhadas das opções de dig mais comuns.

Instalando dig

Para verificar se o comando dig está disponível no seu sistema, digite:

dig -v

A saída deve ser algo como isto:

DiG 9.11.3-1ubuntu1.1-Ubuntu

Se dig não estiver presente no seu sistema, o comando acima imprimirá “dig: command not found”. Você pode instalar facilmente a ferramenta dig usando o gerenciador de pacotes da sua distribuição.

Instale o dig no Ubuntu e Debian

sudo apt update && sudo apt install dnsutils

Instale o dig no CentOS e no Fedora

sudo yum install bind-utils

Instale o dig no Arch Linux

sudo pacman -S bind-tools

Compreendendo a saída de escavação

Em sua forma mais simples, quando usado para consultar um único host (domínio) sem argumentos adicionais, o comando dig é bastante detalhado.

No exemplo a seguir, faremos uma consulta para recuperar informações sobre o domínio linux.org .

dig linux.org

A saída deve ser algo como isto:

Vamos seção por seção e explicar a saída do comando dig :

  1. A primeira linha da saída imprime a versão dig instalada e a consulta que foi chamada. A segunda linha mostra as opções globais (por padrão, apenas cmd).

    ; <<>> DiG 9.13.3 <<>> linux.org;; global options: +cmd

    A primeira seção inclui detalhes técnicos sobre a resposta recebida da autoridade solicitada (servidor DNS). O cabeçalho mostra o código de operação (a ação executada por dig) e o status da ação. Neste exemplo, o status é NOERROR , o que significa que a autoridade solicitada atendeu a consulta sem nenhum problema.

    ;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37159;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 5

    Esta seção pode ser removida usando a opção +nocomments , que também desativa os cabeçalhos de outras seções.

    A pseudo-seção “OPT” é mostrada por padrão apenas nas versões mais recentes do utilitário dig. Você pode sobre os mecanismos de extensão para DNS (EDNS) aqui.

    ;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096

    Na seção "PERGUNTA", o dig mostra nossa consulta (pergunta). Por padrão, o dig solicita o registro A.

    ;; QUESTION SECTION:;linux.org. IN A

    Você pode desativar esta seção usando a opção +noquestion .

    A seção "RESPOSTA" fornece uma resposta para nossa pergunta. Como já mencionamos, por padrão, o dig solicitará o registro A. Aqui, o domínio linux.org aponta para o endereço IP 104.18.59.123 .

    ;; ANSWER SECTION: linux.org. 300 IN A 104.18.59.123 linux.org. 300 IN A 104.18.58.123

    Normalmente, você não deseja desativar a resposta, mas pode remover esta seção da saída usando a opção +noanswer .

    A seção "AUTHORITY" nos diz quais servidores são a autoridade para responder a consultas DNS sobre o domínio consultado.

    ;; AUTHORITY SECTION: linux.org. 86379 IN NS lia.ns.cloudflare.com. linux.org. 86379 IN NS mark.ns.cloudflare.com.

    Você pode desativar esta seção da saída usando a opção +noauthority .

    A seção "ADICIONAL" fornece informações sobre os endereços IP dos servidores DNS autorizados mostrados na seção de autoridade.

    ;; ADDITIONAL SECTION: lia.ns.cloudflare.com. 84354 IN A 173.245.58.185 lia.ns.cloudflare.com. 170762 IN AAAA 2400:cb00:2049:1::adf5:3ab9 mark.ns.cloudflare.com. 170734 IN A 173.245.59.130 mark.ns.cloudflare.com. 170734 IN AAAA 2400:cb00:2049:1::adf5:3b82

    A opção +noadditional desativa a seção adicional de uma resposta.

    A última seção da saída dig inclui estatísticas sobre a consulta.

    ;; Query time: 58 msec;; SERVER: 192.168.1.1#53(192.168.1.1);; WHEN: Fri Oct 12 11:46:46 CEST 2018;; MSG SIZE rcvd: 212

    Você pode desativar esta parte com a opção +nostats .

Imprimindo apenas a resposta

Na maioria dos casos, você deseja obter apenas uma resposta rápida à sua consulta de dig.

1. Obtenha uma resposta curta

Para obter uma resposta curta à sua consulta, use a opção +short :

dig linux.org +short

104.18.59.123 104.18.58.123

A saída incluirá apenas os endereços IP do registro A.

2. Obtenha uma resposta detalhada

Para obter uma resposta mais detalhada, desative todos os resultados usando as opções +noall e ative apenas a seção de resposta com a opção +answer .

dig linux.org +noall +answer

; <<>> DiG 9.13.3 <<>> linux.org +noall +answer;; global options: +cmd linux.org. 67 IN A 104.18.58.123 linux.org. 67 IN A 104.18.59.123

Servidor de Nome Específico da Consulta

Por padrão, se nenhum servidor de nomes for especificado, o dig usará os servidores listados no arquivo /etc/resolv.conf .

Para especificar um servidor de nomes no qual a consulta será executada, use o símbolo @ (at) seguido pelo endereço IP ou nome do host do servidor de nomes.

Por exemplo, para consultar o servidor de nomes do Google (8.8.8.8) para obter informações sobre o domínio linux.org você usaria:

dig linux.org @8.8.8.8

; <<>> DiG 9.13.3 <<>> linux.org @8.8.8.8;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39110;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 512;; QUESTION SECTION:;linux.org. IN A;; ANSWER SECTION: linux.org. 299 IN A 104.18.58.123 linux.org. 299 IN A 104.18.59.123;; Query time: 54 msec;; SERVER: 8.8.8.8#53(8.8.8.8);; WHEN: Fri Oct 12 14:28:01 CEST 2018;; MSG SIZE rcvd: 70

Consultar um tipo de registro

Dig permite executar qualquer consulta DNS válida, acrescentando o tipo de registro ao final da consulta. Na seção a seguir, mostraremos exemplos de como procurar os registros mais comuns, como A (o endereço IP), CNAME (nome canônico), TXT (registro de texto), MX (trocador de correio) e NS (servidores de nomes).

1. Consultando registros A

Para obter uma lista de todos os endereços de um nome de domínio, use a opção a:

dig +nocmd google.com a +noall +answer

google.com. 128 IN A 216.58.206.206

Como você já sabe, se nenhum tipo de registro DNS for especificado, o dig solicitará o registro A. Você também pode consultar o registro A sem especificar a opção a.

2. Consultando registros CNAME

Para encontrar o nome de domínio alternativo, use a opção cname :

dig +nocmd mail.google.com cname +noall +answer

mail.google.com. 553482 IN CNAME googlemail.l.google.com.

3. Consultando registros TXT

Use a opção txt para recuperar todos os registros TXT para um domínio específico:

dig +nocmd google.com txt +noall +answer

google.com. 300 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 300 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 300 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e"

4. Consultando registros MX

Para obter uma lista de todos os servidores de correio para um domínio específico, use a opção mx :

dig +nocmd google.com mx +noall +answer

google.com. 494 IN MX 30 alt2.aspmx.l.google.com. google.com. 494 IN MX 10 aspmx.l.google.com. google.com. 494 IN MX 40 alt3.aspmx.l.google.com. google.com. 494 IN MX 50 alt4.aspmx.l.google.com. google.com. 494 IN MX 20 alt1.aspmx.l.google.com.

5. Consultando registros NS

Para encontrar os servidores de nomes com autoridade para nosso domínio específico, use a opção ns :

dig +nocmd google.com ns +noall +answer

google.com. 84527 IN NS ns1.google.com. google.com. 84527 IN NS ns2.google.com. google.com. 84527 IN NS ns4.google.com. google.com. 84527 IN NS ns3.google.com.

6. Consultando todos os registros

Use a opção any para obter uma lista de todos os registros DNS para um domínio específico:

dig +nocmd google.com any +noall +answer

google.com. 299 IN A 216.58.212.14 google.com. 299 IN AAAA 2a00:1450:4017:804::200e google.com. 21599 IN NS ns2.google.com. google.com. 21599 IN NS ns1.google.com. google.com. 599 IN MX 30 alt2.aspmx.l.google.com. google.com. 21599 IN NS ns4.google.com. google.com. 599 IN MX 50 alt4.aspmx.l.google.com. google.com. 599 IN MX 20 alt1.aspmx.l.google.com. google.com. 299 IN TXT "docusign=05958488-4752-4ef2-95eb-aa7ba8a3bd0e" google.com. 21599 IN CAA 0 issue "pki.goog" google.com. 599 IN MX 40 alt3.aspmx.l.google.com. google.com. 3599 IN TXT "facebook-domain-verification=22rm551cu4k0ab0bxsw536tlds4h95" google.com. 21599 IN NS ns3.google.com. google.com. 599 IN MX 10 aspmx.l.google.com. google.com. 3599 IN TXT "v=spf1 include:_spf.google.com ~all" google.com. 59 IN SOA ns1.google.com. dns-admin.google.com. 216967258 900 900 1800 60

Pesquisa reversa de DNS

Para consultar o nome do host associado a um endereço IP específico, use a opção -x .

Por exemplo, para executar uma pesquisa inversa em 208.118.235.148 você usaria:

dig -x 208.118.235.148 +noall +answer

Como você pode ver na saída abaixo, o endereço IP 208.118.235.148 está associado ao nome do host wildebeest.gnu.org .

; <<>> DiG 9.13.3 <<>> -x 208.118.235.148 +noall +answer;; global options: +cmd 148.235.118.208.in-addr.arpa. 245 IN PTR wildebeest.gnu.org.

Consultas em massa

No exemplo a seguir, estamos consultando os domínios listados no arquivo domains.txt .

domains.txt

lxer.com linuxtoday.com tuxmachines.org

dig -f domains.txt +short

108.166.170.171 70.42.23.121 204.68.122.43

O arquivo.digrc

O comportamento do comando dig pode ser controlado através da configuração de opções por usuário no arquivo ${HOME}/.digrc .

Se o arquivo .digrc estiver presente no diretório inicial do usuário, as opções especificadas nele serão aplicadas antes dos argumentos da linha de comando.

Por exemplo, se você deseja exibir apenas a seção de resposta, abra seu editor de texto e crie o seguinte arquivo ~/.digrc :

~ /.digrc

+nocmd +noall +answer

Conclusão

dig é uma ferramenta de linha de comando para consultar informações de DNS e solucionar problemas relacionados ao DNS.

terminal de escavação