您可能知道Google Chrome浏览器具有自己的内部DNS缓存。有没有一种方法可以清除它而不必等待超时或关闭浏览器?
您可能知道Google Chrome浏览器具有自己的内部DNS缓存。有没有一种方法可以清除它而不必等待超时或关闭浏览器?
Answers:
导航至chrome:// net-internals /#dns,然后按“清除主机缓存”按钮。
有时您需要在刷新DNS之后刷新套接字池:
chrome://net-internals/#sockets
hosts
文件并在文件发生任何更改时自动清除dnscache hosts
。—您可以通过在hosts
文件后添加一个空行来轻松测试该方法是否在您的系统上工作,并且列表chrome://net-internals/#dns
将自动更新。— Windows的dnscache服务还将(至少在win 8.1上)监视主机文件的更改,因此更新hosts
文件后,只需单击“刷新套接字池”按钮即可。不需要什么了。
ipconfig /flushdns
废话。ipconfig /flushdns
在整个问题上似乎都是一条鲱鱼。
“导航到chrome:// net-internals /#dns”在Google Chrome浏览器中不起作用,至少在我的系统上不起作用。看起来此解决方案可能适用于Google Chrome操作系统,但更一般地说不适用于Google Chrome浏览器。对我来说,链接重定向到此处:
The Chromium Projects
看来“清空缓存”是更好的解决方案。还要注意,我的浏览器说的是“首选项”而不是“选项”
通过http://www.google.com/support/forum/p/Chrome/thread?tid=026b6a1d9151a6e3&hl=zh-CN
“转到工具->选项->后台->清除浏览数据并选中'清空缓存',然后单击清除浏览数据。是的,我知道,这不是我希望它清除的DNS缓存,但看起来似乎如此。现在它对我有用。”
单击“清除主机缓存”即可chrome://net-internals/#dns
为Google Chrome浏览器执行此操作,但是您的计算机上还需要考虑其他DNS缓存。
视窗:
ipconfig /flushdns
OS X 10.7之前的版本(在Lion之前):
sudo dscacheutil -flushcache
OS X 10.7–10.9(狮子,山狮,小牛):
sudo killall -HUP mDNSResponder
OS X 10.10+(优胜美地):
sudo discoveryutil mdnsflushcache
OS X 10.11、10.12+(塞拉利昂El Capitan):
sudo killall -HUP mDNSResponder
您的路由器可能也正在缓存DNS(重新启动DNS或阅读手册)。最终的测试是使用dig,但这默认使用网络的DNS主机,而不是权威服务器:
dig superuser.com
要直接从源查询,请尝试以下操作:
dig superuser.com @ns1.serverfault.com
在带有Chrome 32的OS X 10.9.1中,我需要清除主机缓存并刷新套接字池,以使Chrome刷新DNS缓存:
chrome://net-internals/#sockets
这对我有用:清空并清除磁盘缓存
在Chrome中,点击扳手图标,然后点击选项。转到高级选项卡。单击“ 隐私”部分下的“ 清除浏览数据”按钮。仅选择“清空缓存”复选框,然后单击“ 清除浏览数据”按钮。
这立即生效-我什至不必关闭浏览器。
chrome://net-internals/#dns
此处提到的冲洗技巧之后,这在Mac Chrome上对我有用,但没有成功。
据我所知,在最新版本的Chrome(我使用的是26.0.1410.43)中,没有(可靠的)方法可以做到这一点,至少在Mac上则没有。此页面上的任何建议都没有对我有用。
我的情况是我添加了一个hosts文件条目,但是Chrome仍将转到DNS返回的IP地址。Firefox可以正常工作。
实际上,该chrome://net-internals/#dns
页面只是为我提供有关IP地址的信息。它显示主机条目中的IP,但显然不是实际从何处获取站点。
我知道这是一个老问题,但是与其他人一样,我也为之烦恼:即使清除了缓存,仍然需要一两分钟才能使新的DNS更改生效。
有几种解决方法。通过chrome:// net-internals /#dns清除DNS缓存后(或使用达到相同结果的扩展名):
打开一个隐身窗口,该域的新DNS映射将立即生效。
清除浏览器缓存。如果您使用浏览器进行常规浏览,则会很麻烦。您可以以其他用户身份运行浏览器的单独实例,并且清除该帐户中的缓存不会干扰您的常规浏览缓存。我没有尝试过,但是应该可以。
按CTRL + F5。我必须按住CTRL + F5大约一秒钟,这会连续几次重新加载页面。这是奇怪的行为,但它有效并且同样有效。这是我的首选方法。
理想情况下,应该有一个可以清除DNS和缓存(特别是仅文档缓存而不是cookie缓存)的插件,但是我还没有找到任何类似的东西。
更新:在OSX上,防毒面具应用程序非常适合在主机文件之间进行切换,并且与第二种解决方法一起使用时,它非常有效。
解决由于Chrome使用套接字池而导致修改Chrome 主机文件后,Chrome无法使用正确主机的问题。
Chrome会在连接池中保持长连接,以加快速度。当Chrome发现请求可以重用连接池中的连接时,它不会再通过DNS,因此,我们始终认为Chrome不会立即响应主机更改。
Chrome浏览器在chrome:// net-internals /#sockets标签中提供了用于刷新连接池的界面,但我认为我不得不先转到该标签并单击带有触控板的小按钮真是令人讨厌。
我发现当单击嵌入式套接字池按钮时,Chrome执行两个关键的JavaScript方法。
g_browser.sendFlushSocketPools();
g_browser.checkForUpdatedInfo(false);
因此,我将这两种方法封装在AppleScript脚本中,该脚本可以转换为OS X应用程序或Alfred工作流,而这两种方法都可以轻松调用。
对我来说,私密浏览是绝招(新隐身窗口/私密窗口)。
尝试使用DNS Flusher for Chrome。请注意,要使用它,--enable-benchmarking
启动Chrome浏览器时,它需要一个命令行标志。
在Mac OS X上,上述方法都不适合我。采取了以下方法:
单击Chrome菜单>首选项>单击show advanced settings
页面底部的链接>单击部分中的clear browsing data
按钮privacy
>仅选择cached images and files
并且download history
(也许不需要后者,但也不会造成伤害)>单击clear browsing data
按钮。
对于iPhone用户,这些技术同样有效。我必须对网站进行一些测试,我想覆盖普通的DNS服务器,并使用自己的DNS服务器处理尚未公开的DNS条目。
我在iPhone 6 Plus的wifi设置中将DNS条目覆盖到了自定义DNS服务器。对于Safari和Perfect Browser来说已经足够了。但是Chrome似乎忽略了这一点,并拥有自己的一组DNS条目。我不知道它们来自哪里。
我做了他们上面描述的
并且我还必须使用如上所述的InCognito标签。
Chrome仅使用Then自定义DNS条目。