美文网首页Java架构师专题
DNS解析时发现域名和IP不一致,访问了该域名会如何(大厂真题)

DNS解析时发现域名和IP不一致,访问了该域名会如何(大厂真题)

作者: 愚公要移山 | 来源:发表于2020-05-04 13:19 被阅读0次

    这是一道互联网大厂的面试真题,主要考察的就是DNS域名解析的过程是什么样的。以此为背景进而考察安全相关问题。综合性还是很强滴。本文将从案例出发开始一步一步深入。

    一、DNS运行原理

    1、为什么要DNS

    DNS的作用在于域名解析。每个网站通常都会有一个域名和至少一个IP地址。比如说百度的域名,112.80.248.74就是百度的IP地址。

    我们想要访问百度的时候只需要输入域名就可以,当然IP也可以,为什么不使用IP登录呢?看上面的数字就知道,一串复杂的数字难以记忆。我们每天要登录大量的网站可能都需要一个小本子去记录,访问哪个查哪个,效率低下。因此只需要记住域名即可。

    image

    但是问题来了,互联网是通过IP地址进行数据的传输的,因此就需要一种手段来把我们的域名映射为IP地址,这就是DNS的作用。

    2、DNS工作原理

    既然DNS要把域名映射为IP地址,实现步骤是什么样呢?别着急,我们先来了解一下域名服务器的概念。

    image

    从上面这张图可以看到,域名的管理是分层次的。最高级是根,也叫做根服务器。从上往下功能逐渐细化。DNS就是和这些服务器进行打交道。

    有了上面的这些概念,现在我们再来认识一下DNS的工作原理就容易多了。DNS域名解析的过程有两种,我们分别来看一下:

    (1)递归查询

    意思是每次当前服务器查不到时,都由当前的域名服务器代劳查询。

    image

    (2)迭代查询

    意思是每次当前服务器查不到时,都由自己亲自再去下属服务器查询。

    image

    上面两张图解释的比较清晰。太多的文字并不能很好地解决问题。

    OK,知道了DNS如何进行域名解析之后,回到我们今天文章的问题。

    二、DNS解析域名与IP不一致,访问了该域名会发生什么

    我们的问题是基于DNS工作失败之后出现的状况。因此我们答案就是域名解析出现了故障会发生什么。

    (1)域名和IP不一致,域名解析成了其他的的IP地址,但是这个IP地址正确。访问该域名就会访问其他的网站。

    如何去做呢?知乎上有一个阿里巴巴的回答:

    从技术上来讲是可以解析到任意IP地址的,这时候针对这个地址发起HTTP访问,HTTP头中的host字段会是你的域名(而非该IP对应站点的域名),如果对方的网站HTTP服务器没有做对应的防护就可以访问,如果方的网站HTTP服务器有防护则无法访问。

    (2)域名和IP不一致,域名解析成了其他的的IP地址,但是这个IP地址错误,访问该域名就会失败。

    还有一种情况:访问站点对应的IP地址没有问题,然而访问他的域名就会出现错误。

    OK,今天的文章先到这。如有问题还请批评指正。


    微信图片_20200105134941.jpg

    相关文章

      网友评论

        本文标题:DNS解析时发现域名和IP不一致,访问了该域名会如何(大厂真题)

        本文链接:https://www.haomeiwen.com/subject/sigeghtx.html