Encontre onde uma regra de hosts é definida no macOS

1

Existe uma maneira de descobrir como meu sistema criou o endereço IP de um determinado domínio? Na minha máquina, ping ing analytics.google.com retorna 127.0.0.1 e não sei como isso aconteceu. meu arquivo /private/etc/hosts está na condição padrão.

Existe uma maneira de saber como o sistema criou esse endereço? Por exemplo. era de outro arquivo hosts, o DNS, ou alguma outra coisa?

    
por Abdul 17.12.2017 / 17:12

1 resposta

1

Não realmente, não, a menos que você dtrace o sistema veja o que está fazendo o quê. Sem dtrace você pode cavar ao redor para tentar ver qual fonte pode ser a culpada

É proveniente de um servidor DNS? (tente também @ de diferentes servidores DNS públicos para ver se há algum shenanigans de DNS local acontecendo, como um servidor de nomes de cache local que tenha uma zona para analytics.google.com , ou talvez algum firewall esteja redirecionando pacotes para um ns local ... )

$ grep nameserver /etc/resolv.conf
nameserver 192.168.96.1
$ dig +short @192.168.96.1 analytics.google.com
...
$ dig +short @8.8.8.8 analytics.google.com
...

O que o sistema mDNS pensa (isso provavelmente pesquisa o DNS; também execute tcpdump ou WireShark e procure os pacotes de porta 53 ou port 5353 DNS para ver o que isso mostra)

$ dns-sd -q analytics.google.com
...
^C

Isso mostrará o que o cache da Apple tem, que pode ser diferente do DNS se algo em Appleland for diferente

$ dscacheutil -q host -a name analytics.google.com
...

e depois há isso para limpar qualquer coisa no cache ...

$ dscacheutil -flushcache

veja se algum dos dns-sd ou dscacheutil -q host acima relatou algo diferente. Se a entrada vier de um arquivo, depois de limpar o cache, execute opensnoop , que é um script do dtrace que deve mostrar a abertura do arquivo; investigar o conteúdo destes depois de fazer uma pesquisa para ver se algum deles tem o registro em questão.

    
por 17.12.2017 / 18:27