从浏览器输入域名开始分析DNS解析过程( 三 )



hosts文件通常位于操作系统中的一个特定目录下,比如在Windows系统中,hosts文件通常位于C:\Windows\System32\drivers\etc目录下,它是一个以文本形式存储的文件,可以使用任何文本编辑器进行编辑 。在mac中,位于/etc/目录下 。
4. 如何查看本地DNS服务器缓存的域名对应的IP?windows可以用下面命令
ipconfig /displaydnsmac可以用下面命令
// 这个是刷新本地 DNS 缓存,并清除所有缓存记录sudo killall -HUP mDNSResponder// 这个是显示本地 DNS 服务器缓存的所有域名和对应的 IP 地址dscacheutil -cachedump -entries Host

从浏览器输入域名开始分析DNS解析过程


执行了这个命令却没看到我刚访问的域名对应的ip,这是没缓存吗?
如果执行了 ipconfig /displaydns 或者 dscacheutil -cachedump -entries Host 命令,但是没有看到刚访问的域名对应的 IP 地址,可能有以下几种情况:
本地 DNS 服务器没有缓存该域名的 IP 地址 。如果你第一次访问一个域名,本地 DNS 服务器很可能没有缓存该域名的 IP 地址 。在这种情况下,执行 ipconfig /displaydns 或者 dscacheutil -cachedump -entries Host 命令时,看不到该域名的缓存记录 。本地 DNS 服务器缓存的 TTL 时间已经过期 。当你访问一个域名时,本地 DNS 服务器会将该域名的 IP 地址缓存一段时间,这个时间就是 TTL(Time To Live)时间 。如果 TTL 时间已经过期,本地 DNS 服务器就会从权威 DNS 服务器重新获取该域名的 IP 地址 。在这种情况下,执行 ipconfig /displaydns 或者 dscacheutil -cachedump -entries Host 命令时,可能看不到该域名的缓存记录 。你的电脑可能使用了其他 DNS 服务器或者代理服务器 。如果你的电脑使用了其他 DNS 服务器或者代理服务器,那么执行 ipconfig /displaydns 或者 dscacheutil -cachedump -entries Host 命令时,缓存记录可能来自其他 DNS 服务器或者代理服务器,而不是本地 DNS 服务器 。5. DNS A记录/AAAA记录/CNAME记录A 记录A 记录是 DNS 中最基本的一种记录类型,用于将一个域名(例如 www.example.com)映射到一个 IPv4 地址(例如 192.168.0.1) 。具体来说,A 记录将一个域名与一个 IP 地址建立映射关系 。当用户输入一个域名时,DNS 服务器会返回与之对应的 IP 地址,从而使用户能够访问该域名对应的网站或服务 。
举个例子,假设我们有一个网站 www.example.com,它的 IP 地址是 192.168.0.1 。我们可以在 DNS 中添加一个 A 记录,将 www.example.com 指向 192.168.0.1 。这样,当用户输入 www.example.com 时,DNS 服务器会返回 IP 地址 192.168.0.1,从而使用户能够访问我们的网站 。
如下这是我买的域名配置的图:
从浏览器输入域名开始分析DNS解析过程


AAAA 记录AAAA 记录是 A 记录的扩展,用于将一个域名(例如 www.example.com)映射到一个 IPv6 地址 。具体来说,AAAA 记录将一个域名与一个 IPv6 地址建立映射关系 。当用户输入一个域名时,DNS 服务器会返回与之对应的 IPv6 地址,从而使用户能够访问该域名对应的网站或服务 。
举个例子,假设我们有一个网站 www.example.com,它的 IPv6 地址是 2001:0db8:85a3:0000:0000:8a2e:0370,我们访问 www.example.com 时,DNS 解析过程中就会查询该 AAAA 记录,返回 IPv6 地址 。
图就不放了,和上面类似 。
CNAME 记录CNAME 记录将一个域名(例如 www.example.com)指向另一个域名(例如 example.com) 。这个过程类似于重定向,方便用户快速访问该域名 。CNAME 记录通常用于将某个子域名指向其父域名,或将一个域名指向另一个域名(例如将 www.example.com 指向 example.com) 。

推荐阅读