Como descubro o que está respondendo a uma chamada de resolução de DNS?

1

Digamos que eu tenha dentro do arquivo hosts uma entrada para foobar , como descubro se esse arquivo é usado ou se um DNS remoto está respondendo à resolução para foobar ?

Algum dos utilitários básicos retorna essa informação?

dig +trace não está me mostrando o que eu quero saber

dig +trace localhost

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace localhost
;; global options: +cmd
;; Received 28 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

dig +trace google.com

; <<>> DiG 9.10.3-P4-Ubuntu <<>> +trace google.com
;; global options: +cmd
;; Received 28 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

Espero que ele me diga que a pesquisa está resolvendo para hosts para localhost e meu servidor dns (o que for) para google.com . Se eu fizer uma chamada internamente usando getaddrinfo(3) , ele estará atingindo o arquivo hosts ou o servidor dns upstream ao resolver localhost .

    
por Evan Carroll 16.05.2017 / 20:27

1 resposta

1

dig é uma ferramenta de solução de problemas de DNS: você especifica explicitamente o servidor DNS que deseja consultar ou, se não o fizer, usará o que é especificado em resolv.conf . Conforme escrito em sua documentação:

Unless it is told to query a specific name server, dig will try each of the servers listed in /etc/resolv.conf. If no usable server addresses are found, dig will send the query to the local host.

Para qualquer outro aplicativo no sistema, precisando fazer uma resolução de DNS, isso estará sob o controle de /etc/nsswitch.conf que lista a fonte de informações a serem consultadas para resolver o nome do host, como:

hosts: files myhostname mdns4_minimal [NOTFOUND=return] dns mdns4

que, por exemplo, mostra que glibc terá primeiro uma exibição em /etc/hosts (o files token) e somente mais tarde fará uma consulta DNS (o dns token), novamente usando o conteúdo de resolv.conf

Se você deseja ter 100% de certeza para um determinado aplicativo, será necessário executá-lo dentro de uma chamada strace .

    
por 25.05.2017 / 00:11