A maioria das pessoas usa o nslookup como um comando avulso: nslookup example.com e pronto. Mas, se você rodar o nslookup sem argumentos, ele vira uma sessão interativa, o que ajuda muito quando uma consulta só não basta.
O prompt
Digite nslookup sozinho e aparece um prompt >. A partir dali, você digita os nomes que quer consultar e alguns comandos que mudam o comportamento das consultas. Para sair, digite exit (ou Ctrl-D).
Os comandos que vale a pena conhecer
server 8.8.8.8troca o resolver (o servidor DNS que resolve os nomes para você) usado em todas as consultas seguintes da sessão. É o jeito mais limpo de comparar como dois resolvers respondem ao mesmo nome: aponte para um servidor, consulte o nome, aponte para o outro e consulte de novo.set type=MX(ou a forma curtaset q=MX) muda o tipo de registro. Depois disso, é só digitar os nomes, e o que volta são os registros . Mude paraNS,TXT,SOA,AAAAouANYconforme a necessidade. Isso substitui a flag-type=que você passaria na linha de comando.set debug(ouset d2, para ainda mais detalhe) liga uma saída detalhada que mostra o pacote DNS inteiro, incluindo as flags do header (cabeçalho) e a estrutura de seções que o nslookup normalmente esconde. É o mais perto que o nslookup chega do que o dig mostra por padrão.
Quando o modo interativo é a escolha certa
O modo interativo compensa quando você está explorando: verificando vários nomes em sequência, comparando o mesmo nome em resolvers diferentes ou testando um tipo de registro atrás do outro sem redigitar o comando inteiro. Para uma verificação única, ou para qualquer coisa que você queira colocar num script, a forma avulsa (nslookup -type=MX example.com 8.8.8.8) é mais simples.
Um cuidado para automação: o código de saída (exit status) do nslookup não indica de forma confiável se a consulta deu certo; por isso, em scripts, o dig ou o host são ferramentas melhores. O nslookup interativo é para uma pessoa no teclado, investigando um problema.
A armadilha: o nslookup não usa o resolver do sistema
O nslookup conversa diretamente com um servidor DNS. Ele não consulta o /etc/hosts e, na maioria dos sistemas, passa por fora da biblioteca de resolução de nomes que as aplicações comuns usam.
Por isso, um nome pode resolver sem problema no ping e falhar no nslookup, ou o contrário, e nenhum dos dois resultados está errado. Eles respondem a perguntas diferentes: o nslookup responde "o que o DNS diz", e a aplicação responde "para qual endereço este host resolve, usando todos os mecanismos disponíveis para ele".
Quando um serviço funciona e o nslookup discorda, verifique o arquivo hosts antes de verificar a zona. É o motivo mais comum para duas ferramentas dizerem coisas opostas sobre o mesmo nome.