Onde o cache DNS está localizado no Windows 8.1?

1

Estou lendo sobre o cache DNS e particularmente sobre o comando ipconfig /flushdns . Existem muitos recursos lá fora - QA, blogs, sites - que explicam o que é cache DNS, mas nenhum deles diz onde o cache DNS está localizado na minha máquina Windows 8.1. Se eu acertar, deve ser um arquivo com mapeamentos, algo como o seguinte:

example.com 123.123.123.123
foo.net 123.123.0.0

Antes de executar ipconfig /flushdns , quero ver esse arquivo de cache do DNS. Onde posso encontrá-lo na minha máquina?

    
por Green 21.01.2016 / 06:49

3 respostas

2

Se você quiser ver o cache DNS, as versões recentes do Microsoft Windows suportam IPConfig /displaydns

(Eu não acho que o Windows 98 suportou; nem o Win98 suportou ipconfig /flushdns . Eu acho que ambas as opções foram adicionadas à mesma versão do Microsoft Windows.)

Esta é a maneira típica / fácil de visualizar essas informações.

Não tenho certeza de qual arquivo esta informação está armazenada. Tenho certeza de que ela não usa o formato semelhante a HOSTS que você mostra, porque tenho certeza de que também controla o tempo de expiração. Usar o Process Explorer pode ajudar a descobrir qual arquivo é acessado ao usar IPConfig/displaydns .

    
por 21.01.2016 / 07:01
1

Apenas para fazer o backup do que os outros disseram, usando Process Hacker para procurar por strings dentro de svchost.exe , você pode ver as entradas armazenadas na memória. Por exemplo.

Uma saída muito menos útil do que simplesmente usar ipconfig /displaydns (que você sempre pode enviar para um arquivo usando ipconfig /displaydns>output.txt , se desejar.

    
por 21.01.2016 / 07:17
0

O cache pode ser mantido na memória, e o serviço de DNS local pode não manter um arquivo de cache, mas há um pouco mais do que isso.

Meu ipconfig / displaydns estava preservando as entradas entre as reinicializações para mim. Deve ser mantido no disco em algum lugar.

Eu tive um problema de DNS hoje e, ao verificar com uma VM antiga, descobri algumas entradas realmente antigas em meu dnscache local. Estas foram as entradas da minha antiga empresa e no começo eu pensei que talvez eles estavam invadindo ou eu ainda estava conectado de alguma forma a sua rede. Mas eles também continham algumas das minhas próprias entradas das VMs há um bom tempo.

ipconfig / flushdns não apagaria as entradas. Eu tentei parar e reiniciar o serviço de DNS. Não ajudou. Desconectei meu roteador da Internet e as entradas ainda permaneciam. Então eu lembrei que aquela VM costumava ser um controlador de domínio e um servidor dns de muito tempo atrás, então eu suspeitei que algo não foi desinstalado corretamente.

Eu usei o procman.exe e isolei a instância do svchost.exe que respondeu às solicitações de ping. Em um ping, ele abriu o arquivo hosts e nada mais. Estupendo-me, eu deveria ter verificado o arquivo de hosts antes de iniciar tudo isso. Todas as entradas antigas estavam no arquivo hosts. Uma vez que eles foram apagados lá, eles não apareceram em ipconfig / displaydns.

Quando o serviço de DNS local é interrompido e reiniciado, as entradas existentes são limpas, de modo que tende a confirmar que elas são mantidas apenas na memória cache. Mas sim, as entradas persistentes do ipconfig dns usadas pelo ping através do dns local estão localizadas em c: \ windows \ system32 \ drivers \ etc \ hosts.

Espero que isso ajude alguém tentando resolver isso.

    
por 25.05.2018 / 21:49