Explicação sobre o comando `dig`
Nesta postagem, explicamos para que serve o comando `dig`, bem como como instalá-lo e utilizá-lo. Também abordamos como contornar suas limitações.
Resumo: O que você precisa saber sobre o escavação "dig"
O `dig` é uma ferramenta de linha de comando para consultar servidores DNS.
Você insere um nome de domínio, o programa envia uma consulta DNS e exibe a resposta bruta — o endereço IP, o tipo de registro, o TTL, qual servidor respondeu e quanto tempo levou. É a ferramenta ideal para solucionar problemas de DNS, mas apresenta algumas limitações.
| Limitações | Solução alternativa |
| A saída padrão é excessiva e exige muitos parâmetros apenas para obter uma resposta clara | Mude para o comando nslookup para obter uma saída mais simples ou use o comando especializado DNS Lookup API se precisar de dados JSON estruturados para automação. |
| Não vem pré-instalado no Windows por padrão | Instale-o ou use o nslookup ou o DNS Lookup API como uma opção independente do sistema operacional |
| Os resultados podem refletir respostas armazenadas em cache de resolvedores recursivos | Use o sinalizador `+trace` para ignorar os caches locais e forçar o `dig` a seguir o caminho de delegação em tempo real, desde os servidores DNS raiz até a fonte autoritativa, ou use o sinalizador ` DNS Lookup API ` para realizar novas consultas a partir de servidores DNS públicos globais que não estejam vinculados ao seu resolvedor local. |
| A execução de muitas consultas seguidas pode acionar o limite de taxa do resolvedor de DNS | Use o ` DNS Lookup API`, que foi desenvolvido para consultas em grande volume |
Por que se chama “Dig”?
Não é porque você literalmente “cava” em servidores DNS em busca de dados: o “dig”, que historicamente era considerado uma sigla para “Domain Information Groper”, mas a documentação oficial de seu desenvolvedor abandonou essa sigla em 2017 e agora descreve o “dig” simplesmente como um utilitário de consulta de DNS.
Como o comando funciona
Quando você executa o comando `dig`, a ferramenta atua como um cliente DNS e realiza o seguinte:
- Digite o comando dig (dig example.com) no terminal. Se você não especificar um servidor de nomes, o dig usa o resolvedor padrão do sistema operacional, geralmente configurado no arquivo resolv.conf. Você também pode indicar um servidor de nomes específico usando o símbolo @ (dig @8.8.8.8 example.com).
- O comando `dig` envia uma consulta recursiva a esse resolvedor. Ele está pedindo ao resolvedor que procure a resposta em seu nome.
- O resolvedor verifica seu cache. Se já tiver uma resposta válida, ele a retorna imediatamente. Isso ocorre quando alguém consultou recentemente o domínio usando o mesmo resolvedor, e o resultado foi salvo temporariamente.
- Se a resposta não estiver armazenada em cache, o resolvedor realiza consultas DNS iterativas em seu nome. Ele começa consultando um servidor de nomes raiz. O servidor raiz o direciona para o servidor de nomes do domínio de nível superior (TLD) (por exemplo, .com), e o servidor TLD o direciona para o servidor DNS autoritativo do domínio.
- O servidor autoritário retorna o registro DNS correspondente ao nome de domínio, como um endereço IP em uma consulta de registro A ou o texto arbitrário em uma consulta de registro TXT.
- O resolvedor envia o resultado de volta ao dig, que o formata e o exibe no seu terminal.
Observe que o sinalizador +trace altera esse fluxo. Em vez de depender do seu resolvedor para realizar o trabalho recursivo, o dig envia apenas uma consulta ao resolvedor para obter a lista atual de servidores raiz e, em seguida, realiza ele mesmo as consultas iterativas — começando pelos servidores raiz. Isso é útil quando você deseja ignorar o resolvedor recursivo configurado e visualizar o caminho de delegação em tempo real.
Como instalar o dig ?
Antes de usar o dig, talvez seja necessário instalá-lo. O processo de instalação depende do seu sistema operacional. Primeiro, verifique se ele já está instalado executando este comando no terminal:
dig -v
Se o dig estiver instalado, você verá um número de versão como DiG 9.18.39. Caso contrário, siga as etapas abaixo de acordo com o seu sistema operacional.
O comando `dig` no Linux
Muitas distribuições Linux vêm com o dig pré-instalado como parte do pacote bind9-dnsutils (Debian/Ubuntu) ou bind-utils (RHEL/CentOS/Fedora). Caso ele não esteja presente, instale-o usando o gerenciador de pacotes da sua distribuição.
Para Debian/Ubuntu:
sudo apt install bind9-dnsutils
Para RHEL/CentOS/Fedora:
sudo dnf install bind-utils
Correr dig -v posteriormente, para confirmar.
O cavar Comando no Windows
cavar não vem pré-instalado no Windows. A maneira mais fácil é usar o Subsistema do Windows para Linux (WSL), que oferece um shell completo do Linux. Descrevemos todo o processo neste comando do host explicação detalhada, mas aqui estão os passos resumidos:
- Ativar o WSL no PowerShell (como administrador):
wsl --install
Isso instalará automaticamente o Ubuntu no seu computador a partir da Microsoft Store.
- Reinicie.
- Abra o Ubuntu e instale o dnsutils:
sudo apt-get install bind9-dnsutils
- Confirme com
dig -v.
dig Comando no Mac
O `dig` já vem pré-instalado no macOS. Abra o Terminal e execute `dig -v` para confirmar. Se aparecer um número de versão, está tudo pronto. Se, por algum motivo, ele não estiver instalado, instale-o pelo Homebrew:
brew install bind
Execute o comando `dig -v` novamente para confirmar.
Se o Homebrew ainda não estiver instalado, execute o script oficial de instalação do brew.sh:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
dig Sintaxe, opções e parâmetros do comando
Sintaxe básica
dig [@servidor] [tipo] [domínio] [opções]
Aqui está um exemplo do comando `dig`:
dig @8.8.8.8 MX gmail.com +short
Isso gerou o seguinte resultado:

Bandeiras
| Bandeira | Descrição | Exemplo de consulta |
@servidor | Especifica o servidor de nomes a ser consultado. | dig @8.8.8.8 example.com |
-b endereço | Define o endereço IP de origem da consulta. | dig -b 192.168.1.10 example.com |
-c classe | Define a classe de consulta. O padrão é IN (Internet), que abrange todas as consultas DNS padrão. A única outra classe que você provavelmente usará é CH (Chaosnet), que é associada a tipos específicos de registros para consultar a identidade ou a versão do software de um servidor de nomes. | dig @8.8.8.8 TXT hostname.bind CH |
-f nome_do_arquivo | É executado no modo em lote. Ele lê as consultas de um arquivo, uma por linha. | dig -f domains.txt |
-h | Exibe um resumo dos argumentos e opções. | dig -h |
-k arquivo de chave | Especifica um arquivo de chave TSIG para assinar consultas DNS. | dig -k auth.key example.com |
-m | Ativa a depuração do uso da memória. | dig -m example.com |
-p número da porta# | Consulta uma porta não padrão em vez da porta padrão 53. | dig -p 5353 example.com |
-q nome | Define o nome da consulta explicitamente. | dig -q example.com |
-t tipo | Define o tipo de consulta, como registro A, MX, NS, AXFR ou TXT. | dig -t MX example.com |
-u | Exibe os tempos de consulta em microssegundos, em vez de milissegundos. | dig -u example.com |
-v | Exibe o número da versão e encerra o programa. | dig -v |
-x endereço | Realiza uma consulta DNS reversa, mapeando um endereço IP de volta a um nome de host por meio de um registro PTR. | dig -x 8.8.4.4 |
-y [hmac:]nome:chave | Especifica uma chave TSIG diretamente na linha de comando. | dig -y hmac-sha256:user1:pass123 example.com |
-4 | Obriga a ferramenta a usar apenas IPv4. | dig -4 example.com |
-6 | Obriga a ferramenta a usar apenas IPv6. | dig -6 example.com |
Opções de consulta que alteram o formato de saída
Você pode definir parâmetros para controlar a formatação da saída da ferramenta:
| Opção | Descrição | Exemplo de consulta |
+curto | Retorna uma versão resumida da resposta, em vez da saída completa e detalhada. | dig example.com +short |
+sem comentários | Oculta algumas linhas de comentário na saída. | dig example.com +nocomments |
+sem resposta | Oculta a seção de respostas da saída. | dig example.com +noanswer |
+sem autoridade | Exibe ou oculta a seção de autoridade da saída. | dig example.com +noauthority |
+semadicionais | Oculta a seção adicional de uma resposta. | dig example.com +noadditional |
+sem dúvida | Oculta a seção de perguntas. | dig example.com +noquestion |
+sem estatísticas | Oculta as estatísticas da consulta, como o tempo de resposta e o tamanho da resposta. | dig example.com +nostats |
+noall | Usado para limpar todos os sinalizadores de exibição e, em seguida, ativar uma seção específica. | dig example.com +noall +answer |
+multilinha | Imprime registros em um formato de várias linhas legível por pessoas. | dig example.com +multiline |
+nottlid | Oculta o valor do TTL ao imprimir registros. | dig example.com +nottlid |
+unidadesttl / +não unidadesttl | Exibe ou oculta o TTL em unidades legíveis para o usuário, como dias ou horas, e implica +ttlid. | dig example.com +ttlunits |
Opções de consulta que alteram o comportamento da consulta
Existem também opções que alteram a forma como a ferramenta executa a consulta:
| Opção | Descrição | Exemplo de consulta |
+rastrear | Rastreia todo o caminho de delegação, desde os servidores de nomes raiz até a resposta. | dig example.com +trace |
+norecurse | Desativa consultas recursivas. | dig example.com +norecurse |
+tcp | Faz com que a ferramenta utilize o protocolo TCP em vez do UDP, que é o padrão para a maioria das consultas. | dig example.com +tcp |
+pesquisar | Utiliza a lista de pesquisa definida no arquivo /etc/resolv.conf. | dig host interno +search |
+nssearch | Localiza os servidores de nomes autoritativos de uma zona e exibe seus registros SOA. | dig example.com +nssearch |
+dnssec | Ativa ou desativa a solicitação de registros DNSSEC (define o bit DO) para exibir registros relacionados ao DNSSEC (RRSIG, DNSKEY). | dig example.com +dnssec |
+time=T (ou +timeout=T nas distribuições mais recentes) | Define o tempo de consulta em segundos (o padrão é 5). | dig example.com +timeout=2 |
+tentativas=T | Define o número de tentativas para a consulta (o padrão é 3). | dig example.com +tries=5 |
+retry=T | Define o número de tentativas por servidor, sem contar a consulta inicial (o valor padrão é 2). | dig example.com +retry=1 |
+falha | +fail impede que a ferramenta tente o próximo servidor ao receber um SERVFAIL. +nofail (o padrão) continua tentando. | dig example.com +fail |
O que significa o comando “dig” ? (com exemplos)
1. Descubra o endereço IP do site
Este é o caso de uso mais básico: o comando `dig` retorna o registro A (o endereço IPv4) do domínio.
dig example.com

2. Verificar o registro MX do domínio
Ao usar o comando a seguir, o dig retorna o(s) servidor(es) de e-mail responsável(is) pelo domínio.
pesquisar MX no google.com

Você pode adicionar o +curto opção para obter apenas o servidor de e-mail.
dig MX google.com+short

3. Solicitar todos os registros DNS disponíveis
Você pode usar o comando `dig` para solicitar todos os tipos de registros de um domínio usando a opção `ANY`. No entanto, de acordo com a RFC 8482, muitos servidores de nomes autoritativos agora retornam apenas uma resposta mínima, em vez do conjunto completo de registros, para coibir abusos de amplificação de DNS. Além disso, alguns resolvedores públicos — como o 1.1.1.1 da Cloudflare — recusam completamente as consultas `ANY`.
dig example.com QUALQUER

Como solução alternativa, você pode especificar um resolvedor que não bloqueie NENHUMA solicitação. No entanto, se o servidor de nomes autoritativo do domínio restringir esse tipo de consulta, você terá que consultar cada tipo de registro individualmente.
dig @8.8.8.8 example.com ANY

4. Rastrear o caminho do DNS
É possível habilitar o dig para consultar servidores raiz e seguir a cadeia de delegação até o servidor de nomes autoritativo, em vez de usar o resolvedor configurado. A opção “trace” é útil para diagnosticar problemas de propagação ou confirmar qual servidor é autoritativo.
dig example.com +trace


5. Descubra quais são os servidores de nomes responsáveis por um domínio
Para obter os servidores de nomes de um nome de domínio, use este comando:
dig NS example.com

Use o +curto opção para ocultar todos os outros detalhes da resposta.
dig NS example.com+short

6. Identificar os servidores de nomes responsáveis por um TLD
O comando `dig` também permite obter os servidores de nomes de um domínio de nível superior (TLD) específico.
dig NS com+short

Sem o +curto parâmetro, você veria outros detalhes.

7. Verifique o valor do TTL do registro A
Para visualizar apenas o valor TTL do registro A de um domínio, é necessário incluir os parâmetros +noall e +answer. Isso suprime tudo, exceto a seção de resposta. O comando fica assim:
dig example.com +noall +answer
No entanto, se você estiver executando isso no WSL, poderá se deparar com um problema comum em algumas configurações do WSL, nas quais os valores de TTL nas respostas de DNS são zerados. Para obter os valores reais de TTL, é necessário consultar diretamente um servidor DNS externo.
dig @8.8.8.8 example.com +noall +answer

8. Verificar se existe uma zona em um servidor de nomes
Se o servidor de nomes não tiver a zona, ele retorna uma mensagem de erro indicando que ela não foi encontrada .
dig SOA example.com @ns1.example.com

dig SOA example.com @elliott.ns.cloudflare.com

9. Realizar uma consulta DNS reversa
Use o comando `dig` para realizar uma consulta DNS reversa, mapeando um endereço IP para um nome de host por meio de um registro PTR.
dig-x 74.6.231.20

10. Consultar um lote de nomes de domínio
O `dig` pode ler nomes de domínio de um arquivo e executar consultas em cada um deles. Isso é útil para verificar uma lista de domínios, mas lembre-se de que a execução de um grande número de consultas a partir de uma única máquina pode acionar a limitação de taxa nos servidores DNS.
dig -f domains.txt+short

Se você quiser ver a resposta completa para cada domínio, remova o parâmetro +short.
Quando usar o comando `dig` e quando usar outras ferramentas
Use o comando `dig` quando quiser:
- Execute diagnósticos de DNS de baixo nível: o `dig` fornece a resposta completa do DNS, incluindo o tipo de registro, o TTL, qual servidor respondeu e quanto tempo levou. É a ferramenta certa quando você precisa ver exatamente o que está acontecendo no nível do DNS.
- Inspecione o caminho de resolução com a opção +trace: essa opção permite acompanhar a delegação de um domínio desde os servidores DNS raiz até o servidor de nomes autoritário, o que é útil para diagnosticar problemas de propagação ou confirmar de onde um domínio está sendo resolvido.
- Verifique se uma resposta vem de um cache ou de um servidor de referência: os valores de TTL podem indicar por quanto tempo um resolvedor manterá uma resposta em cache antes de atualizá-la. Valores de TTL mais baixos geralmente significam que o registro já está em cache há algum tempo.
É recomendável evitar o uso do `dig` e utilizar outra ferramenta quando for necessário:
- Pesquisas rápidas: Se você só precisa de uma resposta rápida — como um endereço IP ou um registro TXT —, ferramentas como o `host` ou o `nslookup` são mais simples e apresentam um resultado direto, sem a necessidade de opções adicionais.
- Automação em grande escala: como você pode ver nos exemplos acima, o dig gera texto não estruturado, o que dificulta a análise em scripts. Além disso, a execução de muitas consultas consecutivas a partir de uma única máquina pode atingir os limites de taxa dos servidores DNS. Um DNS Lookup API é mais adequado para automação, pois retorna JSON estruturado e foi desenvolvido para uso em grande volume.
- Monitoramento: o dig pode ser configurado para ser executado em horários programados, mas não possui alertas integrados, painéis de controle nem histórico de acompanhamento. Se você precisar monitorar a integridade do DNS ao longo do tempo e ser notificado quando houver alguma alteração, uma ferramenta de monitoramento dedicada é a melhor opção.
FAQs
Qual é a diferença entre o `dig` e o `nslookup`?
Ambas as ferramentas consultam o DNS, mas funcionam de maneira diferente.
O nslookup é mais simples e vem instalado por padrão no Windows, por isso é uma opção comum para consultas rápidas de DNS.
O `dig` fornece mais detalhes na saída — incluindo a resposta DNS completa, o TTL e as estatísticas da consulta. Você também pode personalizar a forma como o `dig` envia uma consulta DNS e o que ele retorna, de uma maneira que o `nslookup` não permite, especialmente usando opções como +rastrear, +noall +resposta, e +multilinha.
O dig usa TCP ou UDP?
Por padrão, o dig usa UDP na porta 53, embora mude automaticamente para TCP para consultas ANY e IXFR e sempre use TCP para consultas AXFR (transferência de zona). O UDP é mais rápido e suficiente para a maioria das consultas DNS. Mas você pode forçar a ferramenta a usar TCP com o +tcp bandeira.