Вопрос Как очистить / очистить кеш DNS в Google Chrome?


Как вы, наверное, знаете, у Google Chrome есть свой собственный внутренний кеш DNS. Есть ли способ очистить его, не дожидаясь тайм-аута или закрыть браузер?


851
2017-10-26 21:12


происхождения


Единственная причина, по которой я хочу сбросить DNS-кеш Chrome, - потому что, если этого не произойдет, я не могу получить доступ к Google. К счастью, Google не единственный поисковик (или я бы не нашел этот вопрос), и мне нужно иметь дело с Chrome на работе. - Nolonar
Для меня это, вероятно, связано с неправильным DNS-сервером в resolv.conf. (Я пытаюсь получить доступ к внутреннему серверу в VPN). Люди в T-com неправильно сконфигурировали свой DNS для ответа на свой рекламный сайт вместо NXDOMAIN, и люди, которые писали Chrome, не хотели уважать заказ resolv.conf, но вместо этого счастливо использовали любой сервер DNS, который работает. - Ketil
Связанный: apple.stackexchange.com/questions/121425/... - Nathan Long


ответы:


Перейдите к хром: // нетто-Внутренности / # DNS и нажмите кнопку «Очистить кэш хоста».


1231
2017-10-26 22:16



Как ни странно, это работает только в одном направлении. У меня есть сопоставление в файле hosts, который сопоставляет имя домена на локальном компьютере (то есть до 127.0.0.1), когда я удаляю сопоставление и очищаю кеш DNS в Chrome, он правильно загружает сайт из Интернета, но когда я добавьте отображение снова в файл hosts, он все равно загружает сайт из Интернета. Он показывает, что кешированный список DNS пуст в Chrome после очистки кеша DNS (также очистил кэш ОС с помощью ipconfig / flushdns), тем не менее, он загружает сайт из Интернета! Похоже на ошибку. - Mee
Еще более раздражает, Chrome правильно показывает IP-адрес (127.0.0.1) для этого домена в списке кеша DNS (после повторной загрузки и попыток загрузки сайта), но он загружает сайт из Интернета. - Mee
awesome, есть ли список всех параметров chrome: // *, в любом случае кто-нибудь знает? - Ian
@Ian chrome: // о - ephemient
Мне было недостаточно. Если бы «ipconfig / flushdns» в командной строке (см. Ниже) - Adam Tal


Иногда вам нужно очистить пулы сокетов после очистки DNS:

chrome://net-internals/#sockets

141
2018-06-25 08:38



Обратите внимание, что Chrome теперь контролирует hosts файл и autoclears dnscache всякий раз, когда есть какие-либо изменения в hosts файл. -Вы можете легко проверить, работает ли это в вашей системе, добавив пустую строку после hosts файл и список в chrome://net-internals/#dns будет выполнено аутсорсирование. - Служба dnscache Windows также (по крайней мере, на выигрыше 8.1) проверит файл хостов для изменений, поэтому после того, как вы обновили свой hosts файл, просто щелкнув по кнопке «Пустые розетки», вы сможете работать, Больше ничего не нужно. - Pacerier
Да, похоже, я заметил такое же поведение с 1 года или около того. Однако, возможно, это не работает все время, потому что я все еще получаю ответы на этот ответ. - Bojan Hrnkas
Просто протестирован на сервере 2003. Всякий раз, когда есть какие-либо изменения в файле hosts, служба dnscache автоматически перезагружает кеш без каких-либо ipconfig /flushdns бред какой то. ipconfig /flushdns кажется, является красной селедкой во всей этой проблеме. - Pacerier
Работал для меня, даже после промывки dns в cmd и принятия принятого ответа - Rob Scott
Удивительно, это единственное решение, которое работает в Chrome для Linux (Ubuntu 14.04). На самом деле DNS-флеш ничего не влияет. Все, что нужно, это сделать флеш-розет. Я считаю это ошибкой. - Elijah Lynn


«Переход в chrome: // net-internals / # dns» не работает в браузере Google Chrome, по крайней мере, в моей системе. Похоже, это решение, возможно, работает на Google Chrome OS, но не в браузере Google Chrome в целом. Для меня ссылка перенаправляется сюда:
Проекты Chromium 

Похоже, что «Empty the Cache» - лучшее решение. Также обратите внимание, что мой браузер говорит «Настройки», а не «Параметры»,

С помощью http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=en 

«Перейти к инструментам -> параметры -> Под капотом -> Очистить данные просмотра и проверить« очистить кеш »и щелкнуть данные прозрачного просмотра. Да, я знаю, это не кеш DNS, я бы ожидал, что он очистится, но, похоже, это похоже. И теперь это работает для меня ».


46
2017-10-20 01:46



Подтверждено, что это сработало для меня, Clear Browsing Data -> Очистить кеш. Никакой другой метод не работал. Спасибо PJ. - Air
Это работало для меня как на хроме, так и на хроме, когда игнорировался /etc/resolver/foo.com. - chovy
Похоже, Google постепенно вносит изменения имени в некоторые внутренние URL-адреса в разные версии. Начиная с версии 27.0.1421.0 (184274) ... - DocSalvager
По крайней мере, очистка Кэшированные изображения и файлы не работал для меня (Chromium 33 на Ubuntu) после включения OpenVPN и, таким образом, переключил мой активный DNS-сервер. (Очистить кеш хоста как в популярном ответе тоже не работало.) До сих пор я не нашел ничего, что работает, кроме перезапуска браузера или ввода IP-адреса в URL-адресе. - Jesse Glick
клиринг Кэшированные изображения и файлы работал на меня! Не знаю, почему, но так и было. Windows 8.1, Chrome 41.0.2272.89 m - Bing


Нажатие «очистить кеш хоста» в chrome://net-internals/#dns должен сделать это для Google Chrome, но на вашем компьютере есть другие кэши DNS.

Окна:

ipconfig /flushdns

OS X до 10.7 (до Льва):

sudo dscacheutil -flushcache

OS X 10.7-10.9 (Лев, Горный Лев, Маверикс):

sudo killall -HUP mDNSResponder

OS X 10.10+ (Yosemite):

sudo discoveryutil mdnsflushcache

OS X 10.11, 10.12+ (Эль-Капитан, Сьерра):

sudo killall -HUP mDNSResponder

Ваш маршрутизатор также может кэшировать DNS (перезапустите его или прочитайте руководство). Конечным тестом является использование копать, но по умолчанию использует DNS-сервер вашей сети, а не авторитетный сервер:

dig superuser.com

Чтобы запросить прямо из источника, попробуйте что-то вроде:

dig superuser.com @ns1.serverfault.com

40
2018-02-06 04:18



«sudo discoveryutil mdnsflushcache» не работал на El Capitan (10.11) для меня, но «sudo killall -HUP mDNSResponder» сделал, он сказал, что discoveryutil не существует, может быть, это Сьерра и что? - Ezra


В OS X 10.9.1 с Chrome 32 Мне нужно было очистить кеш-хост и очистить пулы сокетов, чтобы Chrome обновил кеш DNS:

  1. Перейдите к хром: // нетто-Внутренности / # DNS и нажмите «Очистить кеш-сервер»
  2. Перейдите к хром: // нетто-Внутрикорпусные / # сокеты abd click «Скрытые сокеты»

19
2018-02-20 01:59



Мне тоже это нужно было в Windows 8.1, так что это не просто OS X. - benrick
Chrome для Linux также нуждается в этом chrome://net-internals/#sockets - pengemizt
Для Chrome для Linux нужен только флеш-ролл. Нет DNS-флеш. superuser.com/a/611712/30982 - Elijah Lynn


Это сработало для меня: очистить и очистить кэш диска

В Chrome нажмите на значок гаечного ключа, а затем Опции, Идти к Под капотом Вкладка. Нажать на Очистить данные просмотра под Конфиденциальность раздел. Установите флажок «Очистить кеш», а затем нажмите кнопку «Очистить кеш». Очистить данные просмотра кнопка.

Это сработало сразу - мне даже не пришлось закрывать браузер.


16
2018-05-10 22:18



Кажется, это заставляет Chrome распознавать изменения в файле hosts. - minamhere
Это работало для меня на Mac Chrome, попробовав chrome://net-internals/#dns приведенный здесь, без успеха. - Markus Amalthea Magnuson


Насколько мне известно, в последних версиях Chrome (я на 26.0.1410.43) нет (надежного) способа сделать это, по крайней мере, не на Mac. Ни одно из предложений на этой странице не работало для меня.

Моя ситуация в том, что я добавил хостов запись в файл, но Chrome по-прежнему переходит к IP-адресу, возвращаемому DNS. Firefox работает правильно.

Фактически, chrome://net-internals/#dns страница просто лжет об IP-адресе для меня. Он показывает IP-адрес от хоста, но это явно не то место, где он фактически получает сайт.


10
2018-04-10 13:40



Та же проблема здесь. Я попытался очистить кеш, очистить внутренний DNS-кеш, ipconfig flush dns и по-прежнему загружать локальный веб-сайт из живого домена. Если я открою его в «Incognito», он работает, или в Firefox он работает, но обычный Chrome отказывается для сброса своего DNS - andrewtweber


Я знаю, что это старый вопрос, но меня раздражают те же жалобы, что и другие: даже после очистки кеша все еще может потребоваться минута или две для новых изменений DNS, которые нужно выполнить.

Есть несколько способов обойти это. После очистки кэша DNS через chrome: // net-internals / # dns (или с помощью расширения, которое достигает одного и того же результата):

  1. Откройте окно инкогнито, и новые DNS-сопоставления для домена будут эффективны немедленно.

  2. Очистите кеш браузера. Это громоздко, если вы используете свой браузер для регулярного просмотра. Вы можете запустить отдельный экземпляр браузера как другой пользователь и очистка кеша в этой учетной записи не будет мешать вашему регулярному кешу просмотра. Я не пробовал это, но он должен работать.

  3. Нажмите CTRL + F5. Мне пришлось удерживать CTRL + F5 нажатой примерно одну секунду, которая последовательно перезагружает страницу пару раз. Это странное поведение, но оно работает и также столь же эффективно. Это мой предпочтительный подход.

В идеале должен быть плагин, который может очистить DNS и кеш (в частности, только кеш документа, а не кеш-файл cookie), но я пока не нашел ничего подобного.

ОБНОВЛЕНИЕ: В OSX приложение «Газовая маска» отлично подходит для переключения между файлами хостов и наряду с обходным решением № 2, оно довольно эффективно.


9
2017-12-12 20:12



Обновление не поможет. Активные сокеты TCP по-прежнему будут активны. Вы либо дожидаетесь (1-2 минуты), либо ручная очистка их. - Pacerier


Chrome_Hosts_Flush_Util:

Чтобы решить проблему, Chrome не может использовать правильные хосты после изменения файл hosts из-за того, что Chrome использует пулы сокетов.

Chrome поддерживает длительные соединения в пуле соединений для ускорения. Когда Chrome обнаружит, что запрос может повторно использовать соединение в пуле подключений, он снова не будет проходить через DNS, поэтому мы всегда считаем, что Chrome не будет немедленно реагировать на изменения хостов.

Chrome предоставил интерфейс для промывки пула соединений на вкладке chrome: // net-internals / # sockets, но я думаю, что это раздражает, что я должен сначала зайти на вкладку и щелкнуть по этой маленькой кнопке с помощью трекпада.

Я обнаружил, что при нажатии кнопки пула флеш-сокетов Chrome выполняет два ключевых метода JavaScript.

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

Поэтому я инкапсулирую эти два метода в сценарии AppleScript, которые могут быть преобразованы в приложение OS X или рабочий процесс Alfred, которые могут быть легко вызваны.


6
2017-08-03 12:27



Привет, Boreas320, можете ли вы представить краткую информацию о том, что ваша ссылка дает в вашем ответе, если она устареет? Ответы, которые являются только / в основном ссылкой, обескуражены, поскольку они могут устареть. - bertieb
Up! Замечательная идея! Благодаря! Однако это не сработало для меня, пока я не заменил javascript на document.getElementById ('sockets-view-flush-button'). Click (); - i_a