dig vs nslookup

40

Por que os comandos dig e nslookup às vezes imprimem resultados diferentes?

~$ dig facebook.com

; <<>> DiG 9.9.2-P1 <<>> facebook.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6625
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;facebook.com.            IN    A

;; ANSWER SECTION:
facebook.com.        205    IN    A    173.252.110.27

;; Query time: 291 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sun Oct  6 17:55:52 2013
;; MSG SIZE  rcvd: 57

~$ nslookup facebook.com
Server:        8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:    facebook.com
Address: 10.10.34.34
pylover
fonte

Respostas:

41

dig usa as bibliotecas do resolvedor do SO. O nslookup usa os próprios internos.

É por isso que o Internet Systems Consortium (ISC) tenta fazer com que as pessoas parem de usar o nslookup há algum tempo. Isso causa confusão.

Kurtm
fonte
22
Na verdade, a decisão de obsoleta busca foi revertida, pelo menos na busca fornecida pelo ISC. Fonte: kb.isc.org/article/AA-00496/0/BIND-9.9.0a3-Release-Notes.htm (Entrada nº 1700)
ata
2
@ata Link que você forneceu não existe mais.
QMaster 21/04
Teve uma situação estranha hoje em nslookupque não retornaria nenhum resultado (iria expirar), mas usar systemd-resolvefuncionou muito bem. Este foi um novo para mim e provavelmente usarei systemd-resolveno futuro, em vez de nslookup.
Jeff H.
21

Por um tempo nslookupestava sendo relatado como um aplicativo obsoleto e não deveria mais ser usado.

A saída até avisou você disso:

Nota: o nslookup foi descontinuado e pode ser removido de versões futuras. Considere usar os programas 'dig' ou 'host'. Execute o nslookup com a opção '-sil [ent]' para impedir que esta mensagem apareça.

trecho de http://cr.yp.to/djbdns/nslookup.html

Não use o programa nslookup antigo. Tudo o que você está tentando fazer, há uma maneira melhor de fazê-lo. Até a empresa BIND, que mantém e distribui o nslookup, diz que `` o nslookup está obsoleto e pode ser removido de versões futuras ''.

No entanto, nas notas de versão do Bind 9.9.0a3, há uma entrada (# 1700) que afirma o seguinte:

1700.   [func]      nslookup is no longer to be treated as deprecated.
                    Remove "deprecated" warning message.  Add man page.

A página da Wikipedia também afirma isso:

A partir do BIND 9.9.0a3, o nslookup aparentemente foi ressuscitado ("o nslookup não deve mais ser tratado como reprovado"). (O Internet Systems Consortium havia descontinuado o nslookup em favor do host e escavação por algum tempo.)

Portanto, parece que nslookupé perfeitamente adequado usar junto dig. Além das 2 ferramentas que usam resolvedores diferentes, há coisas que são mais fáceis de fazer em digcomparação com nslookup, embora nslookupgeralmente seja a mais fácil das 2 ferramentas para usar no dia a dia.

Também digde saída é normalmente mais fácil de analisar em scripts ou em uso de linha de comando.

slm
fonte