任何在互联网上浏览的人都会留下痕迹 ,网站运营商使用cookie或JavaScript应用程序等技术来记录访问者的行为。此处获取的数据用于优化网站和个性化内容,而无需用户主动披露个人详细信息。

许多用户使用JavaScript阻止程序和代理,或删除历史记录和Cookie以结束数据收集并保护自己的隐私。但是,很少有用户知道操作系统还会保存有关冲浪行为的信息:例如,自动生成的DNS缓存包含有关所有访问过的网站的临时条目。

DNS缓存是什么?

DNS服务器用于将域名(例如www.simcf.cc转换为可由计算机系统处理的数字地址。默认情况下,每次访问相应项目时都会通过浏览器联系这些“ 名称服务器 ”,这会略微增加其加载时间,并且在访问者数量较多的情况下也会导致DNS服务器过载。像“ DNS服务器无响应 ” 这样的错误消息是一种常见的问题。

出于这个原因,Windows和macOS等操作系统会为调用和解析的地址(DNS缓存)附加自己的缓存。这些保存了与名称解析相关的所有信息,每个信息都有一个称为TTL(生存时间)的条目,其中数据在给定时间内保持有效。在这段时间内,直接从缓存中回答相应的查询,而不需要绕道到DNS服务器。

注意

各种应用程序,例如来自互联网服务提供商的Web浏览器或名称服务器,也有自己的DNS缓存,用于加速名称解析。

DNS缓存包含哪些信息?

DNS缓存中的信息单元或条目称为资源记录(RR),并以ASCII代码(压缩形式)显示。各种 – 部分可选 – 组件包括以下内容:

资源数据(rdata):描述记录的数据,例如地址或主机名

记录类型:创建的条目的类型,例如“A”:IPv4地址(十进制值:1)或“AAAA”:IPv6地址(十进制值:28)

记录名称(可选):为其创建DNS条目的对象的域名

生存时间(可选):资源记录的有效期(以秒为单位)

类(可选):RR所属的协议组(主要是“IN”用于Internet)

资源数据长度(可选):资源数据长度的值

DNS缓存包含各个域或主机的IP地址以及指定它的其他信息 – 例如记录的有效期或相应的协议组。例如,域名www.example.com(IPv4:172.27.171.106)的条目应该对一个错误有效,如下所示:

www.example.com.    3600  IN  A  172.27.171.106

为什么要清除DNS缓存?

隐藏搜索行为:虽然跟踪互联网上的用户行为主要由Cookie,JavaScript和其他人执行,但DNS缓存仍然为所有数据收集器提供了潜在目标。根据列出的地址,包括有效期等附加信息(如果给出),您可以大致了解您的页面历史记录。缓存地址的收集越全面,展示的就越多。

防止操纵的安全性:出于安全原因,您还应该不时清除DNS缓存。缓存中的信息对于交付Web项目非常实用 – 但在错误的人手中很快就会变得危险。如果网络犯罪分子获得对DNS缓存的访问权限,他们就可以操纵这些条目,例如,将您重定向到错误的网站。这种所谓的DNS劫持或DNS欺骗通常用于访问敏感的登录数据,例如,访问在线银行。清除DNS缓存,您可以轻松地处理此类操作记录。

解决技术问题:如果您在访问Web应用程序时遇到技术问题,则Windows,macOS和其他DNS上的DNS刷新通常是一种有效的解决方案。例如,由于过期的条目,可能会显示不正确的被调用网站版本。在这种情况下,域名可能在缓存中使用不正确或旧的IP地址归档,可以通过清除DNS缓存来解决。 

您可以随时显示当前存储在系统中的DNS缓存。例如,在Windows中,只需打开命令提示符并输入命令“ ipconfig / displaydns ”即可。

清除DNS缓存的操作方法Windows 7如何清除DNS缓存?

Windows 7用户可以通过命令提示符运行DNS刷新,单击Windows主页按钮,然后在搜索栏中键入“cmd”,然后单击或按Enter键启动命令行工具。

输入以下命令:

ipconfig /flushdns

按Enter键时,Windows将清除DNS缓存。

Windows 8如何清除DNS缓存?

命令提示符也是Windows 8上DNS刷新的工具。首先,通过主页按钮打开开始菜单,然后使用放大镜符号进行搜索。搜索“cmd”,然后单击选择命令提示符。

Windows 8立即开始搜索所需的术语,您无需使用enter手动确认输入。

要清除DNS缓存,请输入以下命令:

ipconfig /flushdns

按Enter键开始。

Windows 10如何清除DNS缓存?

命令提示符在Windows 10上以相同的方式工作,并且该过程与Windows 7和8的过程几乎没有区别:在第一步中,使用搜索功能查找命令行应用程序cmd。

您不仅可以通过搜索找到命令提示符,还可以在“附件”下的开始菜单中找到命令提示符。

使用命令“ipconfig / flushdns”清除DNS缓存:

Windows命令提示符不区分大写和小写字母,因此您的命令输入可以带或不带大小写。

Linux如何清除 DNS缓存?

默认情况下,Linux系统没有DNS缓存。不同的发行版只提供了使用诸如nscd(名称服务缓存守护进程)、pdnsd、dns-clean或dnsmasq之类的适当应用程序在本地存储DNS信息的功能。如果使用这些服务之一进行缓存,则必须从终端对其进行控制,以便清除缓存。

对于pdnsd,有一个具体明确的命令:

sudo pdnsd-ctl empty-cache

但是,要从dnsmasq,dns-clean或ncsd清除DNS缓存,您需要完全重新启动相应的服务:

sudo /etc/init.d/dnsmasq restart

sudo /etc/init.d/nscd restart

sudo /etc/init.d/dns-clean restart

要在Ubuntu等Linux发行版中使用DNS缓存服务并清除缓存,您需要管理员权限。

Mac如何清除DNS缓存?

与Windows一样,macOS具有集成的DNS缓存,可自动收集DNS信息,因此需要定期清除。但是,与Microsoft系统相反,重置缓存的命令因版本而异,具体取决于你正在使用的版本:

因为博主手上的MAC设备损坏,无法进行测试,请大家自行查找。

相关内容:DNS是什么?DNS域名系统解释