nslookup no Mac: Comandos de Consulta DNS e Quando Usar Cada Um

Como usar nslookup, dig e host no Mac para consultas DNS. Inclui exemplos do mundo real para verificar propagação, registros MX e depurar endereços IP errados.

Você precisa verificar um registro DNS. Talvez tenha trocado de provedor de hospedagem e queira confirmar se seu domínio está apontando para o novo servidor. Talvez seu e-mail esteja sendo rejeitado e você suspeite de um problema com o registro MX. Ou um site está carregando o conteúdo errado e você está tentando descobrir se é um problema de DNS ou outra coisa completamente diferente.

O macOS tem três comandos de Terminal integrados para consultas DNS: nslookup, dig e host. Todos consultam o DNS, mas cada um apresenta os resultados de forma diferente e é mais adequado para situações específicas.

O que uma consulta DNS realmente faz

Quando você digita um nome de domínio no seu navegador, seu Mac pede a um resolvedor DNS (geralmente do seu provedor ou um público como 1.1.1.1) para traduzir esse nome em um endereço IP. O resolvedor busca a resposta e seu computador se conecta a esse IP.

Uma consulta DNS permite que você faça essa tradução por conta própria e inspecione o resultado. Você pode ver para qual IP um domínio resolve, quais servidores de e-mail lidam com seus e-mails e quais nameservers são autoritativos para ele. Isso cobre a maioria das depurações do dia a dia.

Tipos de registro comuns que vale conhecer:

  • A: endereço IPv4 (o principal que você vai consultar)
  • AAAA: endereço IPv6
  • MX: servidor de e-mail, com prioridade
  • CNAME: alias apontando para outro domínio
  • TXT: registros de texto, usados para SPF, DKIM, verificação de domínio
  • NS: nameservers autoritativos para o domínio

nslookup no Mac: o ponto de partida familiar

O nslookup é o comando que a maioria das pessoas usa primeiro. Ele existe em todos os sistemas operacionais, então se você já fez consultas DNS em outro lugar, a sintaxe parece familiar.

Consulta básica de registro A

nslookup google.com

A saída mostra o servidor DNS que respondeu e o endereço IP. A linha “Non-authoritative answer” apenas significa que o resultado veio de um cache, não dos próprios nameservers do domínio. Isso é normal.

Consultar um tipo específico de registro

nslookup -type=MX google.com

Substitua MX por qualquer tipo de registro: A, AAAA, CNAME, TXT, NS, SOA. Por exemplo, para verificar SPF e DKIM para solução de problemas de e-mail:

nslookup -type=TXT google.com

Consultar um servidor DNS específico

É aqui que o nslookup fica genuinamente útil. Em vez de perguntar ao seu resolvedor padrão (que pode ter dados em cache), você pode consultar um servidor específico diretamente:

nslookup google.com 8.8.8.8
nslookup google.com 1.1.1.1

Consultar vários servidores permite ver se as mudanças de DNS se propagaram. Se o 8.8.8.8 mostra seu novo IP mas o 1.1.1.1 ainda mostra o antigo, a propagação ainda está em andamento.

Modo interativo do nslookup

Digite nslookup sem argumentos e você obterá um prompt. A partir daí, pode executar várias consultas sem redigitar o comando:

> set type=MX
> google.com
> set type=A
> example.com
> exit

A principal desvantagem do nslookup é que sua saída mistura mensagens informativas com resultados reais. A formatação é inconsistente entre tipos de registro, o que dificulta a leitura rápida.

dig: a ferramenta poderosa para DNS no Mac

O dig (Domain Information Groper) é a ferramenta preferida de administradores de sistema e desenvolvedores que fazem solução de problemas de DNS regularmente. A saída é estruturada e consistente, e as opções de controle vão muito além do nslookup.

Consulta básica

dig google.com

A saída é detalhada por padrão: a pergunta que você fez, a seção de resposta, o tempo e o servidor que respondeu. Essa informação extra é útil ao depurar, porque você pode ver exatamente o que foi retornado e quanto tempo levou.

Obter apenas a resposta com +short

Quando você quer uma resposta rápida sem os detalhes ao redor:

dig google.com +short

Isso gera apenas o endereço IP. Bom para scripting ou quando você só quer saber o resultado:

dig google.com MX +short

Retorna os registros MX com prioridades, um por linha.

Consultar tipos específicos de registro

dig google.com MX
dig google.com TXT
dig google.com NS
dig google.com AAAA

Consultar um servidor DNS específico

dig @8.8.8.8 yourdomain.com
dig @1.1.1.1 yourdomain.com
dig @9.9.9.9 yourdomain.com

A sintaxe @ especifica o resolvedor. Essa é a forma mais limpa de verificar a propagação de DNS em vários resolvedores públicos.

Rastrear o caminho completo de resolução

dig google.com +trace

Isso percorre toda a cadeia de resolução de DNS: servidores raiz, servidores TLD e depois os nameservers autoritativos para o domínio. Se o DNS está quebrado em algum lugar da cadeia, o +trace mostrará exatamente onde falha.

Verificar a validação DNSSEC

dig google.com +dnssec

Adiciona os registros de assinatura DNSSEC à saída. Útil se você está verificando se a configuração DNSSEC de um domínio está correta após habilitá-la.

host: a opção de leitura rápida

O host fornece uma saída limpa e legível por humanos com configuração mínima. É a escolha certa quando você quer uma resposta rápida e não precisa de todos os detalhes que o dig fornece.

host google.com

Isso retorna registros A, AAAA e MX de uma vez:

google.com has address 142.250.80.46
google.com has IPv6 address 2607:f8b0:4004:c1b::65
google.com mail is handled by 10 smtp.google.com.

Para um tipo específico de registro:

host -t MX google.com
host -t TXT google.com

O host não tem as opções avançadas do dig, mas sua saída é imediatamente legível sem nenhum parâmetro.

Qual ferramenta usar em cada situação

Comando Melhor para Estilo de saída
nslookup Familiaridade multiplataforma, verificações rápidas Verboso, mensagens misturadas
dig Verificar propagação, scripts, trace completo Estruturado, +short para saída limpa
host Resposta rápida e legível, sem flags Conciso, texto simples
dig +short Scripts, verificações em lote, saída mínima Apenas resposta básica
dig +trace Encontrar onde a resolução DNS falha Cadeia completa a partir dos servidores raiz
NetUtil GUI Sem Terminal, navegação visual de registros Apontar e clicar, resultados formatados

Referência rápida: qual ferramenta DNS usar dependendo do que você precisa.

Casos de uso do mundo real

Verificando a propagação de DNS após mudar a hospedagem

Você moveu seu site para um novo servidor e atualizou o registro A. Agora você quer saber se a mudança se propagou antes de cancelar a hospedagem antiga.

dig @8.8.8.8 yourdomain.com +short
dig @1.1.1.1 yourdomain.com +short
dig @9.9.9.9 yourdomain.com +short

Se todos os três retornarem o mesmo IP, a propagação está concluída para a maioria dos usuários. Se discordarem, alguns resolvedores ainda estão servindo dados em cache.

Para ver quanto tempo esse cache persistirá, verifique o TTL:

dig @1.1.1.1 yourdomain.com

Na seção de resposta, o número entre o nome do registro e o tipo de registro é o TTL em segundos. Um TTL de 300 significa que o cache limpa em 5 minutos. Um TTL de 86400 significa que você pode esperar 24 horas.

Depurando a entregabilidade de e-mail com registros MX

E-mails não estão chegando. Antes de mergulhar nos logs SMTP, confirme se os registros MX estão corretos:

nslookup -type=MX yourdomain.com

Ou com dig para uma saída mais limpa:

dig yourdomain.com MX +short

A saída mostra os hostnames do seu servidor de e-mail e suas prioridades. Um número menor significa prioridade maior. Se os hostnames não correspondem ao que seu provedor de e-mail mandou você configurar, esse é o seu problema.

Verifique também os registros TXT para SPF e DKIM enquanto estiver nisso:

dig yourdomain.com TXT +short

Seu registro SPF terá a aparência de v=spf1 include:... ~all. Se estiver faltando ou malformado, é por isso que as mensagens estão indo para spam.

Depurando por que um site carrega com o IP errado

Seu domínio resolve para um IP de servidor antigo mesmo que você tenha atualizado o registro A uma hora atrás.

Primeiro, verifique o que seu resolvedor local vê:

dig yourdomain.com +short

Depois, verifique o que um resolvedor externo vê:

dig @8.8.8.8 yourdomain.com +short

Se discordarem, seu resolvedor local armazenou em cache a resposta antiga. Você pode esperar o TTL expirar ou limpar seu cache DNS local:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Se ambos os resolvedores mostram o mesmo IP errado, o registro A em si não foi salvo corretamente. Faça login no seu provedor de DNS e verifique o registro.

Verificando se um CNAME está configurado corretamente

dig yourdomain.com CNAME +short

Isso retorna o domínio de destino para o qual o CNAME aponta. Se não retornar nada, você não tem um CNAME nesse nome (pode ter um registro A em vez disso, o que pode ser intencional ou uma configuração incorreta).

Limpando o cache de DNS no macOS

Quando você precisa limpar o cache de DNS do seu Mac após alterar registros ou corrigir um problema de resolução:

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Esse comando funciona no macOS Monterey, Ventura, Sonoma e Sequoia. O processo mDNSResponder lida com a resolução DNS local, e enviar a ele o sinal HUP força sua recarga.

Após a limpeza, execute seu comando dig ou nslookup novamente e você deverá ver o resultado atualizado.

Se o Terminal não é sua preferência

A Apple removeu o Network Utility no macOS Monterey. Isso eliminou a única opção integrada com interface gráfica para consultas DNS.

O NetUtil é um substituto gratuito. Abra-o, digite um domínio na aba DNS Lookup, selecione um tipo de registro e obtenha resultados formatados da mesma forma que o antigo Network Utility fazia. Sem comandos para memorizar, sem parâmetros para consultar. Os resultados são os mesmos dados que você obteria do dig ou nslookup, apenas apresentados sem o ruído.

Para verificações de DNS ocasionais, uma interface gráfica remove o atrito. Para consultas repetidas ou qualquer coisa que você queira incluir em scripts, use o dig.

Escolha a ferramenta certa para cada trabalho

O nslookup é bom para verificações rápidas, especialmente se você já está familiarizado com ele. O dig é melhor para qualquer coisa envolvendo verificação de propagação, scripting ou investigação de comportamento de DNS. O host é o caminho mais rápido para uma resposta legível por humanos quando você só precisa saber para qual IP um nome resolve.

Os três consultam o mesmo sistema DNS. As diferenças estão na apresentação e no controle. Use aquele que fornece as informações de que você precisa sem atrasar você.