Como limpar / liberar o cache DNS no Google Chrome?


902

Como você provavelmente sabe, o Google Chrome possui seu próprio cache DNS interno. Existe uma maneira de limpá-lo sem ter que esperar o tempo limite ou fechar o navegador?


O único motivo para eu liberar o cache DNS do Chrome é porque, se não, não consigo acessar o Google. Felizmente, o Google não é o único mecanismo de pesquisa por aí (ou eu não teria encontrado essa pergunta) e só tenho que lidar com o Chrome no trabalho.
Nolonar 11/04

Para mim, isso provavelmente é causado por um servidor DNS incorreto no resolv.conf. (Estou tentando acessar um servidor interno em uma VPN). As pessoas da T-com configuraram incorretamente o DNS para responder com o site de propaganda em vez do NXDOMAIN, e as pessoas que escreveram o Chrome não se preocuparam em respeitar a ordem resolv.conf, mas, em vez disso, usam felizmente qualquer servidor DNS que pareça funcionar.
Ketil

Respostas:


1315

Navegue para chrome: // net-internals / # dns e pressione o botão "Limpar cache do host".


41
Estranhamente, isso só funciona em uma direção. Eu tenho um mapeamento no arquivo hosts que mapeia um nome de domínio para a máquina local (por exemplo, para 127.0.0.1). Quando removo o mapeamento e libero o cache DNS no Chrome, ele carrega corretamente o site da Internet, mas quando eu adicione o mapeamento novamente ao arquivo hosts, ele ainda carrega o site da Internet. Ele mostra a lista DNS em cache vazia no Chrome depois de limpar o cache DNS (também limpou o cache do SO usando ipconfig / flushdns), mas carrega o site da Internet! Parece um bug.
Mee

10
Ainda mais irritante, o Chrome mostra o endereço IP corretamente (127.0.0.1) para esse domínio na lista de cache DNS (depois de liberar e tentar carregar o site novamente), mas ainda carrega o site da Internet.
Mee

4
impressionante, existe uma lista de todas as opções chrome: // * de qualquer maneira alguém sabe?
31511 Ian

29
@Ian chrome: // about
ephemient

10
Não foi o suficiente para mim. Tinha a "ipconfig / flushdns" no prompt de comando (encontrado em resposta abaixo)
Adam Tal

175

Às vezes, você precisa liberar os pools de soquetes após liberar o DNS:

chrome://net-internals/#sockets

4
Observe que o Chrome agora monitora o hostsarquivo e limpa automaticamente o dnscache sempre que houver alguma alteração no hostsarquivo. - Você pode testar facilmente se isso funciona no seu sistema adicionando uma linha em branco após o hostsarquivo e a lista em chrome://net-internals/#dnsserá atualizada automaticamente. - O serviço dnscache do Windows também (pelo menos no win 8.1) monitora o arquivo de hosts quanto a alterações. Depois de atualizar seu hostsarquivo, basta clicar no botão "Flush socket pools" para que funcione . Nada mais é necessário.
Pacerier

Sim, parece que notei o mesmo comportamento desde 1 ano ou mais. No entanto, talvez não funcione o tempo todo, pois ainda recebo os votos positivos desta resposta.
Bojan Hrnkas

Apenas testado no Server 2003 também. Sempre que houver alterações no arquivo hosts, o serviço dnscache recarregará automaticamente o cache sem a necessidade de ipconfig /flushdnsbobagens. ipconfig /flushdnsparece ser um arenque vermelho em toda esta edição.
Pacerier 6/07

Trabalhou para mim, mesmo após a lavagem dns em cmd e fazer a resposta aceita
Rob Scott

1
Não funciona mais.
precisa saber é o seguinte

53

"Navegue até o chrome: // net-internals / # dns" não funciona no navegador Google Chrome, pelo menos no meu sistema. Parece que esta solução talvez funcione para o Google Chrome OS, mas não para o navegador Google Chrome de maneira mais geral. Para mim, o link redireciona aqui:
The Chromium Projects

Parece que "Esvaziar o cache" é a melhor solução. Observe também que meu navegador diz "Preferências" em vez de "Opções"

Via http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=en

"Vá para Ferramentas -> Opções -> Sob o capô -> Limpar dados de navegação e marque 'esvaziar o cache' e clique em limpar dados de navegação. Sim, sim, eu sei, não é o cache do DNS que eu esperaria que fosse limpo, mas ei, parece que sim. E agora funciona para mim. "


4
Confirmei que isso funcionou para mim, Limpar dados de navegação -> Esvaziar o cache. Nenhum outro método funcionou. Obrigado PJ.
Air

Isso funcionou para mim tanto no cromo quanto no cromo quando o /etc/resolver/foo.com estava sendo ignorado.
chovy 17/09/2013

Parece que o Google está gradualmente fazendo alterações de nome em alguns URLs internos em versões diferentes. A partir da versão 27.0.1421.0 (184274) ...
DocSalvager 16/01

Pelo menos, limpar imagens e arquivos em cache não funcionou para mim (Chromium 33 no Ubuntu) depois de ativar o OpenVPN e, assim, alternar meu servidor DNS ativo. ( Limpar o cache do host, como na resposta popular, também não funcionou.) Até agora, não encontrei nada que funcionasse, exceto reiniciar o navegador ou inserir o endereço IP no URL.
Jesse Glick

3
Limpar imagens e arquivos em cache funcionou para mim! Nenhuma pista do porquê, mas aconteceu. Windows 8.1, Chrome 41.0.2272.89 m
Bing

43

Clicar em "limpar cache do host" chrome://net-internals/#dnsdeve fazê-lo no Google Chrome, mas há outros caches DNS a serem considerados na sua máquina.

Janelas:

ipconfig /flushdns

OS X pré-10.7 (antes do Lion):

sudo dscacheutil -flushcache

OS X 10.7-10.9 (Leão, Leão da montanha, Mavericks):

sudo killall -HUP mDNSResponder

OS X 10.10+ (Yosemite):

sudo discoveryutil mdnsflushcache

OS X 10.11, 10.12+ (El Capitan, Serra):

sudo killall -HUP mDNSResponder

Seu roteador também pode estar armazenando em cache o DNS (reinicie-o ou leia o manual). O teste final é usar dig , mas isso usa o host DNS da sua rede, não o servidor autoritário por padrão:

dig superuser.com

Para consultar diretamente da fonte, tente algo como:

dig superuser.com @ns1.serverfault.com

1
"sudo discoveryutil mdnsflushcache" não funcionou no El Capitan (10.11) para mim, mas "sudo killall -HUP mDNSResponder" funcionou, ele disse que o discoveryutil não existia, talvez seja Sierra e superior?
Ezra

20

No OS X 10.9.1 com Chrome 32, eu precisava limpar o cache do host e liberar os pools de soquetes para fazer o Chrome atualizar o cache do DNS:

  1. Navegue até chrome: // net-internals / # dns e clique "Cache Anfitrião Clear"
  2. Navegue até o chrome: // net-internals / # sockets e clique em "Flush Socket Pools"

Eu precisava no Windows 8.1, bem como, portanto, não é apenas OS X.
benrick

O Chrome para Linux também precisa delechrome://net-internals/#sockets
pengemizt

O Chrome para Linux precisa apenas de um soquete. Sem descarga de DNS. superuser.com/a/611712/30982
Elijah Lynn

18

Isso funcionou para mim: esvazie e limpe o cache do disco

No Chrome, clique no ícone de chave inglesa e, em seguida, em Opções . Vá para a guia Sob o capô . Clique no botão Limpar dados de navegação na seção Privacidade . Marque apenas a caixa de seleção "Esvaziar o cache" e clique no botão Limpar dados de navegação .

Isso funcionou imediatamente - nem precisei fechar o navegador.


1
Isso parece funcionar para forçar o Chrome a reconhecer alterações no arquivo de hosts.
minamhere

Isso funcionou para mim no Mac Chrome, depois de ter tentado o chrome://net-internals/#dnstruque de liberação mencionado aqui, sem sucesso.
Markus Amalthea Magnuson

12

Tanto quanto eu posso encontrar, nas versões recentes do Chrome (eu estou no 26.0.1410.43), não há uma maneira (confiável) de fazer isso, pelo menos não em um Mac. Nenhuma das sugestões nesta página funcionou para mim.

Minha situação é que adicionei uma entrada de arquivo de hosts , mas o Chrome ainda está acessando o endereço IP retornado pelo DNS. Firefox funciona corretamente.

De fato, a chrome://net-internals/#dnspágina está simplesmente mentindo sobre o endereço IP para mim. Ele mostra o IP da entrada de hosts, mas claramente não é de onde ele está realmente obtendo o site.


2
Mesmo problema aqui. Tentei limpar o cache, limpar o cache DNS interno, ipconfig flush dns e ele ainda está carregando um site local a partir do domínio ativo. Se eu abri-lo no "Incognito" ele funciona, ou no Firefox ele funciona, mas Chrome normal de recusa para redefinir a sua DNS
andrewtweber

9

Sei que essa é uma pergunta antiga, mas fiquei irritada com as mesmas queixas de outras: mesmo depois de limpar o cache, ainda pode levar um ou dois minutos para que as novas alterações no DNS entrem em ação.

Existem algumas maneiras de contornar isso. Após limpar o cache do DNS através do chrome: // net-internals / # dns (ou usando uma extensão que obtém o mesmo resultado):

  1. Abra uma janela anônima e os novos mapeamentos DNS para o domínio entrarão em vigor imediatamente.

  2. Limpe o cache do navegador. Isso é complicado se você usar o navegador para navegar regularmente. Você pode executar uma instância separada do navegador como outro usuário e a limpeza do cache nessa conta não interferirá no cache de navegação normal. Eu não tentei isso, mas deve funcionar.

  3. Pressione CTRL + F5. Eu tive que manter CTRL + F5 pressionado por cerca de um segundo, que recarrega consecutivamente a página algumas vezes. Esse é um comportamento estranho, mas funciona e também é igualmente eficaz. Esta é a minha abordagem preferida.

Idealmente, deve haver um plug-in que possa limpar o DNS e o cache (especificamente apenas o cache do documento e não o cache do cookie), mas ainda não encontrei nada desse tipo.

ATUALIZAÇÃO: No OSX, o aplicativo Gas Mask é excelente para alternar entre arquivos de hosts e, junto com a solução alternativa nº 2, é bastante eficaz.


1
Atualizar não ajudará nem um pouco. Os soquetes TCP ativos ainda estarão ativos. Você pode esperar (1 a 2 minutos) ou liberá- los manualmente .
Pacerier

6

Chrome_Hosts_Flush_Util :

É para resolver o problema que o Chrome não pode usar os hosts corretos após modificar o arquivo de hosts devido ao Chrome usar pools de soquetes.

O Chrome mantém conexões longas no pool de conexões para acelerar. Quando o Chrome descobre que uma solicitação pode reutilizar uma conexão no pool de conexões, ela não passa pelo DNS novamente; portanto, sempre percebemos que o Chrome não responderá imediatamente a uma alteração de host.

O Chrome forneceu uma interface para liberar o pool de conexões na guia chrome: // net-internals / # sockets, mas acho irritante ter que ir primeiro à guia e clicar em um pequeno botão com um trackpad.

Descobri que, ao clicar no botão do conjunto de soquetes nivelados, o Chrome executa dois métodos principais de JavaScript.

g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);

Então, eu encapsulo esses dois métodos em um script AppleScript que pode ser convertido em um aplicativo OS X ou no fluxo de trabalho Alfred, que pode ser chamado facilmente.


Olá, Boreas320, você pode fornecer um resumo do que o seu link fornece na sua resposta, caso fique desatualizado? As respostas que são apenas / principalmente um link são desencorajadas, pois podem ficar obsoletas.
bertieb

Acima! Ideia maravilhosa! Obrigado! No entanto, não funcionou para mim até eu substituir o javascript por document.getElementById ('sockets-view-flush-button'). Click ();
i_a

5

Tentei liberar o cache do DNS de várias maneiras, mas nada funcionou para mim. Por fim, planejei alterar minha entrada de DNS . Esse truque funcionará para todas as pessoas que acessam a Internet através de uma conexão LAN de alta velocidade.

Em uma conexão LAN, geralmente é fornecido ao usuário dois endereços DNS. Um é primário e outro é o endereço DNS secundário ou alternativo. O que fiz foi mudar o endereço secundário para o endereço principal e vice-versa. Funcionou para mim instantaneamente.

Eu mantive o endereço DNS alternativo como endereço principal por dois dias. O problema resolveu-se e, mais tarde, restabeleci a entrada DNS antiga.


5

Processo completo:

Site criado no IIS (windows 8), defina o cabeçalho do host.

Tentei acessar o host sem nenhum arquivo host, garantindo o uso de http: // para que ele não faça apenas uma pesquisa no google. Falha correta no chrome "Versão 32.0.1700.76 m"

Adicionar host ao arquivo host como 127.0.0.1, agora pode atingi-lo no chrome.

Remova do arquivo host e execute ipconfig / flushdns, o chrome ainda mostra o site!

Não faça nada além de CTRL + F5 e agora o site correto falha no Chrome.

Com o número de respostas diferentes aqui, pergunto-me se todos temos casos de uso ligeiramente diferentes.


4

Para mim, a navegação privada fez o truque (Nova janela anônima / janela privada).


Olá Bart, bem-vindo ao Superusuário! Infelizmente, esta pergunta é sobre a versão de computador do Chrome, não a versão móvel. Sugiro editar sua resposta para refletir a versão para desktop. Obrigado
canadense Luke

2

Experimente o DNS Flusher para Chrome. Observe que para usá-lo, ele requer um sinalizador de linha de comando --enable-benchmarkingquando você inicia o navegador Chrome.


extensão não existe mais
jmgarnier

2

Navegue para chrome: // net-internals / # dns e pressione o botão "Limpar cache do host". como já respondido Também pode ser necessário o comando dscacheutil -flushcache no OS X para liberar o cache DNS em todo o sistema. ipconfig / flushdns no prompt de comando do Windows


2

No Mac OS X, nenhuma das abordagens mencionadas acima funcionou para mim. A seguinte abordagem fez:

Clique no menu Chrome> preferências> clique no link show advanced settingsna parte inferior da página> clique clear browsing datano botão na privacyseção> selecione apenas cached images and filese download history(talvez o posterior não seja necessário, mas também não prejudique)> clique no clear browsing databotão.


1

Para usuários do iPhone, essas técnicas funcionam com a mesma eficácia. Eu tive que fazer alguns testes em um site e queria substituir o servidor DNS normal e usar meu próprio servidor DNS com entradas DNS que ainda não são públicas.

Substituo a entrada DNS na minha configuração wifi no meu iPhone 6 Plus para o meu servidor DNS personalizado. Isso foi bom o suficiente para o Safari e o Perfect Browser. Mas o Chrome parecia ignorar isso e tinha seu próprio conjunto de entradas DNS. Eu não conseguia descobrir de onde eles vieram.

Eu fiz o que eles descreveram acima

  1. Navegue para chrome: // net-internals / # dns e clique em "Limpar cache do host"
  2. Navegue até o chrome: // net-internals / # sockets e clique em "Flush Socket Pools"

E eu também tive que usar uma guia InCognito, como mencionado acima.

Só então o Chrome usou minha entrada DNS personalizada.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.