Dominando o Comando nslookup: Tutorial Passo a Passo e Dicas Avançadas

2024-12-06 · Atualizado 2026-07-06

O nslookup (abreviação de "Name Server Lookup") é uma ferramenta de linha de comando nativa para consultar servidores DNS (Sistema de Nomes de Domínio) e descobrir o endereço IP de um domínio ou o nome de domínio por trás de um endereço IP. Para usá-lo, digite nslookup seguido do domínio que você deseja resolver. O uso mais comum é uma consulta básica:

nslookup example.com

Isso retorna o(s) endereço(s) IP para o(s) qual(is) example.com aponta, junto com o servidor DNS que respondeu à consulta. O nslookup já vem pré-instalado no Windows, no macOS e no Linux, então funciona de imediato em qualquer terminal ou prompt de comando, sem precisar de configuração.

Você pode estender esse mesmo comando para cobrir as tarefas mais comuns de solução de problemas de DNS:

Tarefa Comando
Consulta básica (domínio → IP) nslookup example.com
Consulta reversa (IP → domínio) nslookup 8.8.8.8
Usar um servidor DNS específico nslookup example.com 8.8.8.8
Encontrar servidores de e-mail (MX) nslookup -type=MX example.com
Encontrar servidores de nomes (NS) nslookup -type=NS example.com
Encontrar registros TXT (SPF, DKIM, verificação) nslookup -type=TXT example.com

O restante deste guia detalha cada um deles, com sintaxe, saída real, modo interativo, scripting e alternativas como dig e host.

Introdução

No vasto e interligado mundo da internet, o Sistema de Nomes de Domínio (DNS) desempenha um papel central ao traduzir nomes de domínio legíveis por humanos (como www.example.com) em endereços IP compreensíveis pelas máquinas (como 192.0.2.1). Essa tradução é essencial para rotear o tráfego pelas redes e garantir que os usuários acessem sites, serviços e recursos sem problemas.

Quando surgem problemas na resolução de DNS, os administradores de rede e os profissionais de TI precisam de ferramentas confiáveis para diagnosticar e resolver as falhas. Uma dessas ferramentas indispensáveis é o comando nslookup. Esse utilitário permite que os usuários consultem servidores DNS para obter informações sobre nomes de domínio, endereços IP e diversos registros DNS.

O que é o nslookup?

Definição de nslookup

nslookup significa Name Server Lookup (consulta ao servidor de nomes). É uma ferramenta de linha de comando usada para consultar servidores DNS (Sistema de Nomes de Domínio) e obter informações sobre nomes de domínio, endereços IP e outros registros DNS. Ao facilitar as consultas de DNS, o nslookup ajuda usuários e administradores a diagnosticar e resolver problemas relacionados ao DNS.

O Papel do nslookup no Diagnóstico de Rede

O DNS é fundamental para o funcionamento da internet, e qualquer interrupção nos serviços de DNS pode causar problemas de acesso a sites e serviços online. O nslookup funciona como um utilitário de diagnóstico que permite:

  • verificar as configurações dos servidores DNS;
  • confirmar a existência e a configuração dos registros DNS;
  • detectar problemas de propagação de DNS;
  • auxiliar na solução de problemas de conectividade relacionados ao DNS.

Ao fornecer informações detalhadas sobre as consultas e respostas de DNS, o nslookup permite que os usuários identifiquem e resolvam problemas de DNS de forma eficaz.

Diferenças Entre o nslookup e Outras Ferramentas de DNS

Embora o nslookup seja uma ferramenta poderosa, ele não é o único utilitário de DNS disponível. Outras ferramentas de destaque são:

  • dig (Domain Information Groper): oferece opções de consulta mais detalhadas e flexíveis do que o nslookup. É a preferida de muitos administradores de rede pela saída abrangente.
  • host: um utilitário mais simples para fazer consultas de DNS, ideal para consultas rápidas, sem uma saída extensa.

Em comparação com essas ferramentas, o nslookup costuma ser considerado mais intuitivo para consultas DNS básicas, especialmente para quem está começando com diagnósticos de rede. No entanto, para consultas avançadas e scripting, ferramentas como o dig podem ser mais adequadas.

História e Contexto

Origem do nslookup

O comando nslookup surgiu nos primórdios da internet como parte do conjunto de ferramentas BIND (Berkeley Internet Name Domain). Desenvolvido para facilitar as consultas e a solução de problemas de DNS, o nslookup tornou-se um utilitário padrão em vários sistemas operacionais, incluindo UNIX, Linux e Windows.

A Evolução da Ferramenta ao Longo do Tempo

Ao longo dos anos, o nslookup passou por várias melhorias para aprimorar a sua funcionalidade e a experiência do usuário. Embora a sua finalidade principal continue sendo a consulta de DNS, as atualizações trouxeram recursos como:

  • o modo interativo para fazer várias consultas em uma única sessão;
  • o suporte a consultas de diferentes tipos de registros DNS;
  • o tratamento de erros aprimorado e mensagens mais informativas.

Apesar do surgimento de ferramentas alternativas como o dig, o nslookup continua sendo amplamente utilizado por causa da sua simplicidade e da sua disponibilidade em várias plataformas.

Situação Atual e Suporte em Diferentes Sistemas Operacionais

Hoje, o nslookup é uma ferramenta onipresente, disponível na maioria dos sistemas operacionais, incluindo:

  • Windows: pré-instalado como parte do sistema operacional.
  • macOS: incluído entre os utilitários de rede do sistema.
  • Linux/UNIX: disponível por padrão ou por meio de gerenciadores de pacotes, como parte dos utilitários de DNS.

A sua presença constante em várias plataformas faz do nslookup uma ferramenta de referência para o diagnóstico de DNS nos mais diversos ambientes computacionais.

Sintaxe Básica

Entender a sintaxe básica do comando nslookup é essencial para aproveitar bem os seus recursos. A estrutura geral é a seguinte:

nslookup [options] [hostname] [DNS server]

Explicação dos Componentes do Comando

  • nslookup: o próprio comando.
  • [options]: flags opcionais que alteram o comportamento do comando.
  • [hostname]: o nome de domínio ou endereço IP que você quer consultar.
  • [DNS server]: (opcional) especifica o servidor DNS a ser usado na consulta. Se for omitido, o servidor DNS padrão do sistema será utilizado.

Exemplos de Comandos nslookup Simples

  1. Consulta Básica de Nome de Host:

    nslookup www.example.com
    

    Obtém o endereço IP associado a www.example.com usando o servidor DNS padrão.

  2. Consulta Reversa de IP:

    nslookup 93.184.216.34
    

    Encontra o nome do host associado ao endereço IP 93.184.216.34.

  3. Especificando um Servidor DNS:

    nslookup www.example.com 8.8.8.8
    

    Consulta o servidor DNS público do Google (8.8.8.8) para obter o endereço IP de www.example.com.

Exemplos de Uso Comuns

O comando nslookup é versátil e oferece várias funcionalidades para obter diferentes tipos de informações de DNS. Veja a seguir alguns casos de uso comuns, com comandos de exemplo e explicações.

Consultando Registros DNS

Os registros DNS armazenam informações sobre um domínio, como o seu endereço IP, os servidores de e-mail e os aliases. O nslookup pode obter vários tipos de registros DNS, incluindo:

  • Registro A (Address): mapeia um domínio para um endereço IPv4.
  • Registro AAAA (IPv6 Address): mapeia um domínio para um endereço IPv6.
  • Registro MX (Mail Exchange): especifica o servidor de e-mail responsável por receber os e-mails do domínio.
  • Registro CNAME (Canonical Name): apelido (alias) de um domínio para outro.

Comandos de Exemplo:

  1. Obter o Registro A:

    nslookup -type=A www.example.com
    

    Busca o endereço IPv4 de www.example.com.

  2. Obter o Registro MX:

    nslookup -type=MX example.com
    

    Obtém os servidores de e-mail de example.com.

  3. Obter o Registro CNAME:

    nslookup -type=CNAME blog.example.com
    

    Encontra o nome canônico (alias) de blog.example.com.

Saída Esperada:

Para a consulta do registro MX:

example.com     MX preference = 10, mail exchanger = mail.example.com

Isso indica que mail.example.com é o servidor de e-mail de example.com, com um valor de preferência igual a 10.

Consultas DNS Reversas

As consultas DNS reversas consistem em consultar um nome de domínio a partir de um endereço IP. Isso é útil para verificar o nome do host associado a um determinado IP, o que pode ajudar na solução de problemas e em avaliações de segurança.

Comando de Exemplo:

nslookup 93.184.216.34

Saída Esperada:

34.216.184.93.in-addr.arpa    name = www.example.com

Essa saída mostra que o endereço IP 93.184.216.34 é resolvido para o nome do host www.example.com.

Especificando Servidores DNS

Por padrão, o nslookup usa o servidor DNS configurado no sistema para fazer as consultas. No entanto, os usuários podem indicar um servidor DNS alternativo para a consulta, o que pode ser útil para testes ou ao solucionar problemas de servidores DNS.

Comando de Exemplo:

nslookup www.example.com 8.8.8.8

Explicação:

Esse comando consulta o servidor DNS público do Google (8.8.8.8) para obter o endereço IP de www.example.com, em vez de usar o servidor DNS padrão do sistema.

Saída de Exemplo:

Server:  google-public-dns-a.google.com
Address:  8.8.8.8

Name:    www.example.com
Address: 93.184.216.34

Recursos Avançados

Além das consultas básicas, o nslookup oferece funcionalidades avançadas que ampliam a sua utilidade para análises abrangentes de DNS e para scripting.

Modo Interativo

O modo interativo permite que os usuários executem vários comandos em uma única sessão do nslookup, facilitando investigações de DNS mais eficientes.

Entrando no Modo Interativo:

Basta digitar nslookup sem nenhum argumento:

nslookup

Interação de Exemplo:

Default Server:  resolver1.example.com
Address:  192.0.2.53

> set type=MX
> example.com
Server:  resolver1.example.com
Address:  192.0.2.53

example.com     MX preference = 10, mail exchanger = mail.example.com
> exit

Comandos Comuns no Modo Interativo:

  • set type=[record type]: especifica o tipo de registro DNS a ser consultado (por exemplo, A, MX, CNAME).
  • server [DNS server]: altera o servidor DNS usado nas consultas da sessão.
  • exit: sai do modo interativo.

Definindo Tipos de Consulta

O nslookup permite que os usuários definam o tipo de registro DNS que desejam consultar, oferecendo flexibilidade nas informações obtidas.

Sintaxe:

nslookup -type=[record type] [hostname]

Comandos de Exemplo:

  1. Consultar o Registro AAAA:

    nslookup -type=AAAA www.example.com
    

    Obtém o endereço IPv6 de www.example.com.

  2. Consultar o Registro TXT:

    nslookup -type=TXT example.com
    

    Busca os registros TXT associados a example.com, muitas vezes usados para SPF, DKIM e verificação de domínio.

  3. Consultar o Registro NS:

    nslookup -type=NS example.com
    

    Lista os servidores de nomes autoritativos responsáveis por example.com, o que é útil para confirmar a delegação e diagnosticar problemas de propagação após uma alteração de DNS.

    Saída de Exemplo:

    example.com     nameserver = a.iana-servers.net
    example.com     nameserver = b.iana-servers.net
    

Usando nslookup em Scripts

O nslookup pode ser integrado a scripts para automatizar consultas DNS, permitindo o processamento em lote e o monitoramento de registros DNS.

Exemplo: Script de Consulta DNS em Lote (Bash)

#!/bin/bash

# List of domains to query
domains=("example.com" "google.com" "nonexistentdomain.xyz")

# DNS server to use
dns_server="8.8.8.8"

# Loop through each domain and perform an A record lookup
for domain in "${domains[@]}"; do
    echo "Querying A record for $domain using DNS server $dns_server"
    nslookup -type=A "$domain" "$dns_server"
    echo "----------------------------------------"
done

Explicação:

Esse script percorre uma lista de domínios, fazendo uma consulta de registro A para cada um deles com o servidor DNS especificado (8.8.8.8). A saída fornece os endereços IP associados a cada domínio, facilitando a análise de DNS em massa.

Alternativas ao nslookup

Embora o nslookup seja um utilitário de DNS amplamente utilizado, há várias ferramentas alternativas que oferecem diferentes recursos e vantagens. Conhecer essas alternativas dá aos usuários mais opções para consultas e diagnósticos de DNS.

dig

Visão Geral do Comando dig

O dig (Domain Information Groper) é uma ferramenta de consulta DNS flexível e poderosa, muito usada em ambientes UNIX e Linux. Ele fornece informações detalhadas sobre as respostas DNS, o que o torna um dos favoritos dos administradores de rede para análises aprofundadas de DNS.

Comparação Entre dig e nslookup

  • Nível de detalhe da saída: o dig oferece uma saída mais detalhada e estruturada do que o nslookup, o que é útil para a solução de problemas mais avançada.
  • Flexibilidade: o dig permite um controle mais granular sobre os parâmetros de consulta e é compatível com opções adicionais para personalizar as consultas DNS.
  • Scripting: o dig costuma ser preferido para scripting por causa do seu formato de saída consistente e fácil de processar.

Comando de Exemplo dig:

dig www.example.com MX

Saída de Exemplo:

; <<>> DiG 9.20.4-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;www.example.com.        IN      MX

;; ANSWER SECTION:
www.example.com.  3600    IN      MX      10 mail.example.com.
www.example.com.  3600    IN      MX      20 mail2.example.com.

host

Introdução ao Comando host

O host é um utilitário simples para fazer consultas DNS. Ele foi projetado para fornecer resultados de consulta diretos e concisos, o que o torna ideal para verificações rápidas e para a obtenção básica de informações de DNS.

Casos em que o host é Preferível

  • Consultas DNS rápidas: quando o usuário precisa fazer uma consulta rápida, sem necessidade de informações detalhadas.
  • Simplicidade: para quem prefere uma saída enxuta, sem os detalhes adicionais que ferramentas como o dig fornecem.
  • Scripting: adequado para scripts em que apenas as informações essenciais são necessárias.

Comando de Exemplo host:

host -t TXT example.com

Saída de Exemplo:

example.com descriptive text "v=spf1 include:_spf.example.com ~all"

Outras Ferramentas

Além do dig e do host, há várias outras ferramentas de DNS que podem complementar ou substituir o nslookup, conforme as suas necessidades.

whois

O whois é um protocolo e um utilitário de linha de comando usado para consultar bancos de dados que armazenam os usuários registrados ou os titulares de um recurso da internet, como nomes de domínio e endereços IP. Ele fornece informações sobre a titularidade do domínio, os detalhes de registro e os dados de contato.

Caso de Uso:

  • Informações de registro de domínio: para descobrir quem é o titular de um determinado domínio e os seus dados de contato.

Comando de Exemplo:

whois example.com

tcpdump

O tcpdump é um poderoso analisador de pacotes de rede que captura e exibe o tráfego da rede. Embora não seja uma ferramenta exclusiva de DNS, ele pode ser usado para monitorar consultas e respostas de DNS em tempo real, auxiliando na solução de problemas de rede e na análise de segurança.

Caso de Uso:

  • Monitoramento do tráfego DNS: para observar padrões de consulta de DNS e detectar anomalias ou atividades maliciosas.

Comando de Exemplo:

tcpdump -i eth0 port 53

Wireshark

O Wireshark é um analisador gráfico de protocolos de rede que fornece informações detalhadas sobre o tráfego da rede, incluindo as comunicações de DNS. Ele oferece uma interface intuitiva para capturar, filtrar e analisar pacotes DNS.

Caso de Uso:

  • Análise detalhada de DNS: para examinar a fundo as interações de DNS e o comportamento do protocolo.

Perguntas Frequentes (FAQ)

Para que serve o comando nslookup?

O nslookup é uma ferramenta de administração de rede usada para consultar o Sistema de Nomes de Domínio (DNS) e obter informações de mapeamento entre nome de domínio e endereço IP, além de outros registros DNS. Ele ajuda usuários e administradores a solucionar problemas relacionados ao DNS, mostrando como os nomes de domínio são resolvidos.

Em quais sistemas operacionais o nslookup está disponível?

O nslookup está disponível na maioria dos principais sistemas operacionais, incluindo:

  • Windows: pré-instalado como parte do sistema operacional.
  • macOS: incluído entre os utilitários de rede do sistema.
  • Linux/UNIX: disponível por padrão ou por meio de gerenciadores de pacotes, como parte dos utilitários de DNS.

A sua ampla disponibilidade o torna uma ferramenta versátil para os mais diversos ambientes.

Como faço uma consulta DNS reversa usando o nslookup?

Uma consulta DNS reversa permite encontrar o nome do host associado a um determinado endereço IP. Para fazer isso com o nslookup, basta informar o endereço IP como consulta. Por exemplo:

nslookup 93.184.216.34

Saída de Exemplo:

34.216.184.93.in-addr.arpa    name = www.example.com

Essa saída indica que o endereço IP 93.184.216.34 é resolvido para o nome do host www.example.com.

Como posso especificar um servidor DNS diferente ao usar o nslookup?

Por padrão, o nslookup usa o servidor DNS configurado no sistema. Para indicar um servidor DNS alternativo na sua consulta, acrescente o endereço IP ou o nome do servidor DNS ao final do comando. Por exemplo:

nslookup www.example.com 8.8.8.8

Esse comando consulta o servidor DNS público do Google (8.8.8.8) para obter o endereço IP de www.example.com.

Que tipos de registros DNS posso consultar com o nslookup?

O nslookup é compatível com a consulta de vários tipos de registros DNS, incluindo:

  • Registro A (Address): mapeia um domínio para um endereço IPv4.
  • Registro AAAA (IPv6 Address): mapeia um domínio para um endereço IPv6.
  • Registro MX (Mail Exchange): especifica o servidor de e-mail responsável por receber os e-mails do domínio.
  • Registro CNAME (Canonical Name): apelido (alias) de um domínio para outro.
  • Registro TXT (Text): armazena dados de texto livres, muitas vezes usados para fins de verificação e segurança.
  • Registro NS (Name Server): indica os servidores DNS autoritativos do domínio.

Para consultar um tipo específico de registro, use a opção -type seguida do tipo de registro. Por exemplo:

nslookup -type=MX example.com

Como mudo o tipo de consulta no nslookup?

Mudar o tipo de consulta permite obter registros DNS específicos. Use a opção -type (ou -query) seguida do tipo de registro desejado. Por exemplo, para consultar os registros MX de example.com:

nslookup -type=MX example.com

Saída de Exemplo:

example.com     MX preference = 10, mail exchanger = mail.example.com
example.com     MX preference = 20, mail exchanger = mail2.example.com

Essa saída mostra os servidores de e-mail associados a example.com, junto com os seus valores de preferência.

Posso usar o nslookup em scripts para consultas DNS automatizadas?

Sim, o nslookup pode ser integrado a scripts para automatizar consultas DNS. Isso é útil para processamento em lote, monitoramento de registros DNS ou verificações periódicas. Veja abaixo um exemplo de um script Bash simples que usa o nslookup para obter os registros A de uma lista de domínios:

#!/bin/bash

# List of domains to query
domains=("example.com" "google.com" "nonexistentdomain.xyz")

# DNS server to use
dns_server="8.8.8.8"

# Loop through each domain and perform an A record lookup
for domain in "${domains[@]}"; do
    echo "Querying A record for $domain using DNS server $dns_server"
    nslookup -type=A "$domain" "$dns_server"
    echo "----------------------------------------"
done

Explicação:

Esse script percorre uma lista de domínios, fazendo uma consulta de registro A para cada um deles com o servidor DNS especificado (8.8.8.8). A saída fornece os endereços IP associados a cada domínio, facilitando a análise de DNS em massa.

Qual é a diferença entre nslookup e dig?

Tanto o nslookup quanto o dig são ferramentas de consulta DNS, mas têm algumas diferenças:

  • Nível de detalhe da saída: o dig fornece uma saída mais detalhada e estruturada, útil para análises aprofundadas de DNS. O nslookup oferece uma saída mais concisa, adequada para consultas básicas.
  • Flexibilidade: o dig permite um controle mais granular sobre os parâmetros de consulta e é compatível com opções adicionais para personalizar as consultas DNS.
  • Scripting: o dig costuma ser preferido para scripting por causa do seu formato de saída consistente e fácil de processar.
  • Disponibilidade: o nslookup costuma vir instalado por padrão em vários sistemas operacionais, enquanto o dig pode exigir instalação separada em algumas plataformas.

Comando de Exemplo dig:

dig www.example.com MX

Saída de Exemplo dig:

; <<>> DiG 9.20.4-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;www.example.com.        IN      MX

;; ANSWER SECTION:
www.example.com.  3600    IN      MX      10 mail.example.com.
www.example.com.  3600    IN      MX      20 mail2.example.com.

Como entro no modo interativo do nslookup?

O modo interativo permite fazer várias consultas DNS em uma única sessão do nslookup. Para entrar no modo interativo, basta digitar nslookup sem nenhum argumento e pressionar Enter:

nslookup

Interação de Exemplo:

Default Server:  resolver1.example.com
Address:  192.0.2.53

> set type=MX
> example.com
Server:  resolver1.example.com
Address:  192.0.2.53

example.com     MX preference = 10, mail exchanger = mail.example.com
> exit

Comandos Comuns no Modo Interativo:

  • set type=[record type]: especifica o tipo de registro DNS a ser consultado (por exemplo, A, MX, CNAME).
  • server [DNS server]: altera o servidor DNS usado nas consultas da sessão.
  • exit: sai do modo interativo.

O que devo fazer se o nslookup retornar um erro ou nenhuma resposta?

Se o nslookup retornar um erro ou não receber uma resposta, considere as seguintes etapas de solução de problemas:

  • Verifique a conexão com a internet: certifique-se de que o seu dispositivo está conectado à internet.
  • Verifique a disponibilidade do servidor DNS: o servidor DNS que você está consultando pode estar fora do ar ou inacessível. Tente indicar um servidor DNS diferente.
  • Confirme se o nome do domínio está correto: certifique-se de que o nome do domínio que você digitou está correto e existe.
  • Revise as configurações do firewall: firewalls ou softwares de segurança podem estar bloqueando as consultas DNS.
  • Analise as mensagens de erro: preste atenção às mensagens de erro específicas retornadas pelo nslookup (por exemplo, "Server failed", "NXDOMAIN") para identificar o problema.
  • Use ferramentas alternativas: tente usar outras ferramentas de DNS, como o dig ou o host, para ver se elas produzem resultados diferentes.

Exemplo de Erro e Resolução:

nslookup nonexistentdomain.xyz

Saída Possível:

** server can't find nonexistentdomain.xyz: NXDOMAIN

Resolução:

O erro NXDOMAIN indica que o domínio não existe. Verifique se há erros de digitação no nome do domínio ou confira se ele foi registrado recentemente.