Qual é a diferença entre 'dig' e 'host' ao consultar um servidor de nomes específico?

9

Eu estava usando este comando para verificar se eu configurava as coisas corretamente com um provedor de DNS:

host hostname.example.com ns1.example-nameserver.com

Tanto quanto eu posso dizer, isso pede que ns1.example-nameserver.com procure hostname.example.com e informe a resposta. Eu estava recebendo uma resposta não encontrada, então achei que tinha errado. No entanto, sem especificar o seu servidor de nomes (permitindo assim que o servidor de nomes do meu ISP o procure), obtive a resposta correta ( hostname é CNAME se for importante). Eu não consegui entender isso, então procurei em volta e encontrei o comando dig :

dig @ns1.example-nameserver.com hostname.example.com

Tanto quanto eu posso dizer isso faz a mesma coisa que o comando host - pede a um servidor de nomes específico para procurar um host. Concluo, portanto, que eles devem fazer isso de uma forma diferente, e que os servidores de nome em cache devem usar o mesmo método que dig .

Minha conclusão é certa ou errada, se estiver correta:

Qual é a diferença entre esses dois métodos de pesquisa?

Se estiver errado:

Quais são os meus mal-entendidos sobre o DNS e os comandos host e dig que me levaram a essa conclusão?

Exemplo de saída:

$ host cardiff.tzmchapters.org ns1.livedns.co.uk
Using domain server:
Name: ns1.livedns.co.uk
Address: 213.171.192.250#53
Aliases: 

Host cardiff.tzmchapters.org not found: 3(NXDOMAIN)

$ dig @ns1.livedns.co.uk cardiff.tzmchapters.org

; <<>> DiG 9.8.3-P1 <<>> @ns1.livedns.co.uk cardiff.tzmchapters.org
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 23620
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;cardiff.tzmchapters.org.   IN  A

;; ANSWER SECTION:
cardiff.tzmchapters.org. 3600   IN  CNAME   ghs.google.com.

;; AUTHORITY SECTION:
google.com.     3600    IN  SOA ns1.livedns.co.uk. admin.google.com. 1354213742 10800 3600 604800 3600

;; Query time: 27 msec
;; SERVER: 213.171.192.250#53(213.171.192.250)
;; WHEN: Mon Apr 22 23:47:05 2013
;; MSG SIZE  rcvd: 128
    
por jhabbott 20.04.2013 / 13:20

1 resposta

12

host , dig e nslookup compartilham a mesma funcionalidade. No caso de você estar perguntando sobre (perguntando uma questão de DNS específica para um servidor de nomes específico), dig e host (e, na verdade, nslookup ) se comportam exatamente da mesma forma.

Para a solução de problemas de DNS, dig é preferível porque seu formato de saída é mais "bruto": em sua saída mostra diretamente o conteúdo de todos os 4 campos na resposta DNS: pergunta, resposta, autoridade e seções adicionais as bandeiras no cabeçalho), e também tem mais opções. host , por outro lado, tem um formato de saída mais fácil de usar.

Se você não precisa de uma opção que um dos comandos tem e os outros não precisam, ou uma informação que um deles produz e os outros não, então tudo se resume a um assunto de preferência.

    
por 21.04.2013 / 07:59