dig¶
O que é¶
dig (Domain Information Groper) é a ferramenta mais completa para consulta DNS em Linux/Unix. Ela exibe a resposta em seções (QUESTION, ANSWER, AUTHORITY, ADDITIONAL) e mostra metadados úteis para incidentes, como status, flags, servidor consultado e tempo de resposta.
Para que serve¶
- Validar registros DNS com precisão (
A,AAAA,CNAME,MX,TXT,NS,SOA,SRV,CAA). - Diferenciar problema de zona DNS vs resolvedor local vs rede.
- Investigar propagação de alterações (TTL, resposta autoritativa, cadeia de delegação).
- Comparar resposta entre resolvers (ex.: DNS interno da empresa vs 1.1.1.1).
Quando usar¶
- Após alterar DNS e quiser confirmar se o registro já está ativo em servidores específicos.
- Quando aplicação retorna
NXDOMAIN,SERVFAILou resolve para IP antigo. - Para verificar se o DNS interno está entregando resposta diferente da pública.
- Em troubleshooting de e-mail (MX/SPF/DMARC) e validações de segurança (CAA).
Exemplos de uso¶
# Consulta padrão
dig example.com
# Saída limpa para script/automação
dig example.com A +short
# Forçar servidor DNS específico
dig @8.8.8.8 example.com A
# Seguir delegação até os autoritativos
dig example.com +trace
# Verificar reverso (PTR)
dig -x 8.8.8.8
Exemplos de saída¶
$ dig @1.1.1.1 example.com A
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;example.com. IN A
;; ANSWER SECTION:
example.com. 300 IN A 93.184.216.34
;; Query time: 18 msec
;; SERVER: 1.1.1.1#53(1.1.1.1)
Leitura rápida do que importa:
- status: NOERROR: consulta respondeu sem erro de DNS.
- ANSWER: 1: veio pelo menos um registro para a pergunta.
- 300: TTL em segundos (tempo de cache).
- SERVER: qual resolvedor realmente respondeu.
Dicas de troubleshooting¶
- Se falhar no padrão e funcionar com
@8.8.8.8, o problema tende a estar no resolvedor local/corporativo. - Compare
dig +short nomeedig +short nome @autoritativo; divergência indica cache/desatualização. - Use
+tracepara localizar em qual ponto da delegação ocorre falha. SERVFAILcostuma indicar problema no servidor DNS, DNSSEC inválido ou cadeia de resolução quebrada.NXDOMAINindica nome inexistente (erro de digitação ou registro ainda não criado).
Flags importantes¶
+short: saída mínima (ideal para scripts).@IP_DNS: define servidor DNS consultado.-t TIPOouTIPOno fim (A,AAAA,MX,TXT, etc.).+trace: percorre a resolução desde a raiz.+noall +answer: mostra somente a seção de resposta.+stats: força exibição de métricas (tempo, tamanho da resposta, etc.).
Boas práticas¶
- Sempre registrar comando completo + servidor consultado + horário no incidente.
- Em produção, consultar pelo menos dois resolvedores para eliminar falso positivo.
- Não confiar apenas em
+shortem análise complexa; revisar cabeçalho e flags. - Ao validar mudança, checar TTL antes da alteração para planejar janela de propagação.
Referências¶
man dig- BIND 9 Administrator Reference Manual (ISC)
- RFC 1034 e RFC 1035 (fundamentos DNS)