主题:描述一下DNS域名解析的过程?
正如我们在上一篇文章中已经提到的,网站一般采用B/S架构,统一使用应用层协议HTTP进行数据交互,HTTP是一种无状态的短寿命连接。每个请求后端都有与之对应的业务逻辑。接下来,我们来看看B/S网络架构的设计,如图所示:
从图中我们可以看出,首先,DNS将域名解析为对应的IP地址,然后根据IP地址找到对应的服务器并发送GET请求,最后,服务器将相应的资源返回给客服。接下来,让我们分析一下DNS是如何解析的(标记为红色)。
域名解析的方法有哪些?
一条记录:用于指定域名对应的IP地址,一条记录可以将多个域名解析为一个IP地址,但不能将一个域名解析为多个IP地址。
MX 记录:邮件,可以将域名下的邮箱服务器指向自己的邮件。
CNAME记录:名称(别名解析),可以为一个域名设置一个或多个别名。
NS记录:指定域名的DNS解析服务器,即域名使用指定的DNS服务器解析IP地址。
TXT记录:设置域名描述。
如何使用该工具检查域名解析过程?
在 Linux 和 Linux 环境中,您可以使用工具查看解析结果,如图所示
在Linux系统上,也可以使用dig命令查询DNS解析过程,如下图所示:
从上面,我们可以清楚地看到整个域名是如何发起和解析的。从根域名(.)到gTLD(.com)再到名称(.),我们可以发现百度有好几个DNS备份服务器。
如何清除缓存域?
在环境中,我们可以使用工具来处理这个问题,命令如下:
ipconfig /flushdns
结果如图
在 Linux 环境中,我们可以使用 nscd 工具来处理这个问题,命令如下:
sudo apt-get install nscd
sudo /etc/init.d/nscd restart
结果如图
JVM 中的 DNS 高速缓存设置
一般来说,高级语言等虚拟机会缓存DNS解析结果,因为这样可以节省DNS解析时间,JVM也不例外。JVM 的 DNS 缓存一般是在一个类中完成的,它有两种类型的缓存结果,一种是正确解析结果的缓存,另一种是失败解析结果的缓存。它由两个 CI 控制,这两个 CI 在 %%\lib\\java 中配置。文件。两个 CI 项是 .cache.ttl 和 .cache.。TTL,分别默认为 -1(永不过期)和 10(保留 10 秒)。
如何更改它?
直接修改 java. 文件的默认值。
添加启动参数 -Dsun.NET: TTL=XXX 修改默认值。
DNS域名解析详细流程
主请求流程示例图如下图所示:
下面,我们结合图详细谈谈它的请求流程:
首先,浏览器会检查缓存中是否有此域名的 IP 地址。如果有,则整个解析过程结束;如果没有,系统会检查域名的DNS解析结果是否在操作系统缓存中。操作系统还可以通过更改主机文件来更改 DNS 解析过程。
操作系统会将域名发送到您的系统设置的 LDNS(本地区域服务器)进行解析。如果没有命中,则直接将请求发送到根域名服务器,根域名服务器直接将本地域名服务器返回给查询域的主域名服务器(gTLD),如.com/.cn/.org等;
然后,本地域名服务器向上一步中返回的 gTLD 服务器发送请求,gTLD 服务器将查找并返回域名的名称,通常是您注册的名称服务器。Name 会查找域名和 IP 的映射表,并返回对应的 IP 地址和 TTL。
本地DNS会缓存域名和IP之间的映射,缓存时间由TTL决定,解析结果返回给用户,用户本地域名的缓存时间也由TTL决定。
DNS域名传输漏洞的原因是什么?
DNS 区域传输:备用服务器使用来自主服务器的数据刷新自己的域数据库。
通常只有在真正需要备用域名DNS服务器的安全网络环境中才需要使用DNS区域传输,但是许多DNS服务器配置不正确,以便在发出请求时向对方提供区域数据库,并且造成此漏洞的主要原因是允许不受信任的网络环境用户执行DNS区域传输操作。
如果你想知道如何利用这个漏洞,请查看我朋友的公众号,该号主要是基于网络攻击。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。