O que é nslookup

O Nslookup.exe é uma ferramenta administrativa de linha de comando para testar e solucionar problemas de servidores DNS. Essa ferramenta é instalada junto ao protocolo TCP/IP por meio do Painel de controle. Este artigo contém diversas dicas para usar o comando Nslookup.exe.

 

Para usar o comando Nslookup.exe, observe o seguinte:

  • O protocolo TCP/IP deve estar instalado no computador que estiver executando o comando Nslookup.exe
  • Pelo menos um servidor DNS deve ser especificado ao executar o comando IPCONFIG /ALL de um prompt de comando.
  • O Nslookup sempre devolverá o nome do contexto atual. Se você não conseguir qualificar completamente uma consulta de nome (ou seja, usar o ponto à direita), a consulta será acrescentada ao contexto atual. Por exemplo, as configurações atuais de DNS são att.com (site em inglês) e uma consulta é feita em http://www.microsoft.com (site em inglês); a primeira consulta sairá como http://www.microsoft.com.att.com, já que a consulta é qualificada. Esse comportamento pode ser inconsistente com as versões do Nslookup de outros fornecedores, e esse artigo é apresentado para esclarecer o comportamento do Nslookup.exe do Microsoft Windows NT.
  • Se você implementou o uso da lista de pesquisa na ordem de pesquisa do sufixo do domínio definida na guia DNS da página Propriedades TCP/IP da Microsoft, a devolução não ocorrerá. A consulta será acrescentada aos sufixos do domínio especificados na lista. Para evitar o uso da lista de pesquisa, use sempre um nome de domínio totalmente qualificado (ou seja, adicione o ponto à direita do nome).

O Nslookup.exe pode ser executado em dois modos: interativo e não interativo. O modo não interativo é útil quando apenas um único dado precisa ser retornado. A sintaxe para o modo não interativo é:

   nslookup [-opção] [nome_do_host] [servidor]

Para iniciar o Nslookup.exe no modo interativo, digite “nslookup” no prompt de comando:

   C:\> nslookup
   Servidor padrão:  nome_do_servidor1.domínio.com
   Endereço:  10.0.0.1
   >

Digitar “help” ou “?” no prompt de comando gera uma lista de comandos disponíveis. Qualquer coisa digitada no prompt de comando que não for reconhecida como um comando válido é entendida como um nome de host e é feita uma tentativa de resolvê-lo usando o servidor padrão. Para interromper comandos interativos, pressione CTRL+C. Para sair do modo interativo e voltar ao prompt de comando, digite exit no prompt de comando.

A seguir está a ilustração da ajuda, que contém a lista completa de opções:

Comandos:   (os identificadores são ilustrados em maiúsculas e [] significa opcional)

 NOME            - exibe informações sobre o nome do host/domínio que estiver usando o servidor
                   servidor
 NAME1 NAME2     - conforme acima, mas NOME2 como servidor
 ajuda ou ?       - exibe informações sobre comandos comuns
 set OPÇÃO      - define uma opção

    all                 - exibe opções, o host e o servidor atual
    [no]debug           - exibe informações de depuração
    [no]d2              - exibe informações completas de depuração
    [no]defname         - anexa o nome do domínio a cada consulta
    [no]recurse         - solicita resposta recursiva para a consulta
    [no]search          - usa a lista de pesquisa de domínios
    [no]vc              - usa sempre um circuito virtual
    domain=NOME         - define o nome do domínio padrão como NOME
    srchlist=N1[/N2/.../N6] - define o domínio como N1 e a lista de pesquisa como N1, N2,
                          e assim por diante
    root=NOME           - define o servidor raiz como NOME
    retry=X             - define o número de tentativas como X
    timeout=X           - define o intervalo de tempo limite inicial como X segundos
    type=X              - define o tipo de consulta (por exemplo, A, ANY, CNAME, MX,
                          NS, PTR, SOA, SRV)
    querytype=X         - o mesmo que type
                - define a classe da consulta (por exemplo, IN (Internet), ANY)
    [no]msxfr           - usa a transferência rápida de zona da MS
    ixfrver=X           - versão atual a ser usada na solicitação de transferência IXFR

 server NOME     - define o servidor padrão como NOME, usando o servidor padrão atual
 lserver NAME    - define o servidor padrão como NOME, usando o servidor inicial
 finger [USUÁRIO]   - indica o NOME opcional no host padrão atual
 root            - define o servidor padrão atual como raiz
 ls [opt] DOMÍNIO [> ARQUIVO] - lista endereços de DOMÍNIO (opcional: mostra os dados em
                  ARQUIVO)

    -a          -  lista nomes canônicos e aliases
    -d          -  lista todos os registros
    -t TIPO     -  lista os registros do tipo fornecido (ex. A, CNAME,
                   MX, NS, PTR e assim por diante)

 view FILE       - classifica um arquivo de saída 'ls' e o exibe com pg
 exit            - sai do programa

Diversas opções podem ser definidas no Nslookup.exe ao executar o comando set no prompt de comando. Uma listagem completa dessas opções é obtida ao digitar set all. Consulte acima, no comando set para obter uma impressão das opções disponíveis.

Consultando tipos diferentes de dados

Para consultar tipos diferentes de dados no espaço do nome do domínio, use o comando definir tipo ou definir [querytype]no prompt de comando. Por exemplo, para consultar os dados do servidor de mensagens, digite o seguinte:

   C:\> nslookup
   Servidor padrão:  ns1.domain.com
   Endereço:  10.0.0.1

   > set q=mx
   > mailhost
   Servidor:  ns1.domain.com
   Endereço:  10.0.0.1

   mailhost.domain.com     MX preference = 0, servidor de mensagens =
                           mailhost.domain.com
   mailhost.domain.com     internet address = 10.0.0.5
   >

Na primeira vez que for efetuada uma pesquisa de nome remoto, a resposta será autoritativa, mas as consultas posteriores não serão. Na primeira vez que um host remoto é consultado, o servidor DNS entra em contato com outro que é autoritativo para o domínio. O servidor DNS então armazena essas informações em cache para que consultas posteriores sejam respondidas de maneira não autoritativa fora do cache do servidor local.

Pesquisando diretamente de outro servidor de nomes

Para pesquisar outro servidor de nomes diretamente, use os comandos server ou lserver para alternar para esse servidor de nomes. O comando lserver usa o servidor local para conseguir o endereço do servidor para o qual deve alternar, enquanto o comando server usa o servidor padrão atual para conseguir o endereço.

Exemplo:

   C:\> nslookup

   Servidor padrão:  nome_do_servidor1.domínio.com
   Endereço:  10.0.0.1

   > server 10.0.0.2

   Servidor padrão:  nameserver2.domain.com
   Endereço:  10.0.0.2
   >

Usando o Nslookup.exe para transferir uma zona completa

Pode-se se usar o Nslookup para transferir uma zona completa usando o ls comando. Isso é útil para ver todos os hosts em um domínio remoto. A sintaxe para o comando ls é:

   ls [- a | d | t type] domínio [> filename]

Usar ls sem argumentos retornará uma lista de todos os endereços e dados do servidor de nomes. A opção -a retornará alias e nomes canônicos, -d retornará todos os dados e -t filtrará por tipo.

Exemplo:

   >ls domain.com
   [nameserver1.domain.com]
    nameserver1.domain.com.    NS     server = ns1.domain.com
    nameserver2.domain.com                 NS     server = ns2.domain.com
    nameserver1                            A      10.0.0.1
    nameserver2                            A      10.0.0.2

   >

Transferências de zona podem ser bloqueadas no servidor DNS para que apenas endereços ou redes autorizados executem essa função. O seguinte erro será retornado se a segurança de zona tiver sido definida:

*** Não é possível listar o domínio examplo.com.: Pesquisa recusada

Para obter informações adicionais, leia os seguintes artigos na Base de Dados de Conhecimento da Microsoft:

193837 Configurações padrão de segurança de zona do servidor DNS para o Windows NT 4.0

Solucionando problemas do Nslookup.exe

O tempo limite do servidor padrão expirou

Ao iniciar o utilitário Nslookup.exe, os seguintes erros podem ocorrer:

*** Não é possível encontrar o nome de servidor para o endereço w.x.y.z: Tempo limite expirado

OBSERVAÇÃOw.x.y.z é o primeiro servidor DNS listado na lista da ordem de pesquisa do serviço DNS.

*** Não é possível encontrar o nome de servidor para o endereço 127.0.0.1: Tempo limite expirado

O primeiro erro indica que o servidor DNS não pode ser acessado ou não está sendo executado no computador. Para corrigir esse problema, inicie o serviço DNS no servidor ou verifique se há problemas de conectividade.

O segundo erro indica que nenhum servidor foi definido na lista da ordem de pesquisa do serviço DNS. Para corrigir esse problema, adicione o endereço IP de um servidor DNS válido a essa lista.

Para obter informações adicionais, leia os seguintes artigos na Base de Dados de Conhecimento da Microsoft:

172060 NSLOOKUP: Não é possível encontrar o nome de servidor para o endereço 127.0.0.1

Não é possível encontrar o nome de servidor ao iniciar o Nslookup.exe

Ao iniciar o utilitário Nslookup.exe, o seguinte erro pode ocorrer:

*** Não é possível encontrar o nome de servidor para o endereço w.x.y.z: Domínio inexistente

Esse erro ocorre quando não há um registro PTR para o endereço IP do servidor de nomes. Ao iniciar o Nslookup.exe, ele faz uma pesquisa inversa para conseguir o nome do servidor padrão. Se não existirem dados PTR, essa mensagem de erro é retornada. Para corrigir, verifique se existe uma zona de pesquisa inversa e se contém registros PTR para os servidores de nomes.

Para obter informações adicionais, leia os seguintes artigos na Base de Dados de Conhecimento da Microsoft:

172953 Como instalar e configurar o servidor DNS da Microsoft

O Nslookup falha em um domínio filho

Ao fazer uma consulta ou uma transferência de zona em um domínio filho, o Nslookup pode retornar os seguintes erros:

*** ns.domínio.com não pode encontrar domínio.filho.com.: Domínio inexistente
*** Não é possível listar o domínio filho.com.: Domínio inexistente

No Gerenciador DNS, um novo domínio pode ser adicionado na zona primária, o que cria um domínio filho. Criar um domínio filho dessa maneira não cria um arquivo db separado para o domínio, portanto consultar o domínio ou executar uma transferência de zonas produzirá os erros descritos anteriormente. Executar uma transferência de zonas no domínio pai listará os dados tanto para o domínio pai como para o filho. Como solução alternativa para esse problema, crie uma nova zona primária no servidor DNS para o domínio filho.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: