精华内容
下载资源
问答
  • DNS域名解析流程

    2021-03-27 11:58:45
    DNS域名解析流程 这篇博客用于日后复习,所以有不足或者错误地方请在评论区指出,谢谢各位。 所谓的DNS域名解析就是我们在浏览器地址栏中输入一个网址,通过各种解析得到这个网址ip地址,通过这个ip地址来访问对应...

    DNS域名解析流程

    这篇博客用于日后复习,所以有不足或者错误的地方请在评论区指出,谢谢各位。

    所谓的DNS域名解析就是我们在浏览器地址栏中输入一个网址,通过各种解析得到这个网址ip地址,通过这个ip地址来访问对应的网址。可以将DNS理解成一个IP地址和域名映射的数据库。下图是DNS域名解析图。以访问www.baidu.com为例。

    在这里插入图片描述
    1)在这之前,浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址,如果有,解析结束。如果浏览器缓存中没有(专业点叫还没命中),浏览器会检查操作系统缓存中有没有对应的已解析过的结果。而操作系统也有一个域名解析的过程。在windows中可通过c盘里一个叫hosts的文件来设置,如果你在这里指定了一个域名对应的ip地址,那浏览器会首先使用这个ip地址。

    在这里插入图片描述

    但是这种操作系统级别的域名解析规程也被很多黑客利用,通过修改你的hosts文件里的内容把特定的域名解析到他指定的ip地址上,造成所谓的域名劫持。所以在windows7中将hosts文件设置成了readonly,防止被恶意篡改。
    如果以上两个过程都没有解析到ip地址的话,客户端通过浏览器访问域名为 www.baidu.com (http://www.baidu.com) 的网站,发起查询该域名的 IP 地址的 DNS 请求。该请求发送到了本地 DNS 服务器上。本地 DNS 服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果。如果没有,本地 DNS 服务器还要向 DNS 根服务器进行查询。

    2)本地 DNS 服务器向根服务器发送 DNS 请求,请求域名为 www.baidu.com (http://www.baidu.com) 的 IP 地址。

    3)根服务器经过查询,没有记录该域名及 IP 地址的对应关系。但是会告诉本地 DNS 服务器,可以到域名服务器上继续查询,并给出域名服务器的地址(.com 服务器)。

    4)本地 DNS 服务器向 .com 服务器发送 DNS 请求,请求域名 www.baidu.com (http://www.baidu.com) 的 IP 地址。

    5).com 服务器收到请求后,不会直接返回域名和 IP 地址的对应关系,而是告诉本地 DNS 服务器,该域名可以在 baidu.com 域名服务器上进行解析获取 IP 地址,并告诉 baidu.com 域名服务器的地址。

    6)本地 DNS 服务器向 baidu.com 域名服务器发送 DNS 请求,请求域名 www.baidu.com (http://www.baidu.com) 的 IP 地址。

    7)baidu.com 服务器收到请求后,在自己的缓存表中发现了该域名和 IP 地址的对应关系,并将IP地址返回给本地 DNS 服务器。

    8)本地 DNS 服务器将获取到与域名对应的 IP 地址返回给客户端,并且将域名和 IP 地址的对应关系保存在缓存中,以备下次别的用户查询时使用。

    以上内容仅供复习使用,转载自https://blog.csdn.net/m0_37812513/article/details/78775629http://c.biancheng.net/view/6455.html

    展开全文
  • 传统 DNS 解析域名的最大弊端就是易被劫持,直接降低互联网用户的使用体验。比如你想访问 www.baidu.com,结果发生 DNS 劫持,得到了一个诈骗网站的 IP 或者空的地址,使你无法使用正常的服务(比如百度是搜索服务)

    DNS 即域名系统(Domain Name Server),其主要用于将域名解析为对应的 IP 地址。人们记住ip地址是很不方便的,所以需要域名来帮助记忆。

    了解DNS服务器

    在这里插入图片描述

    在这里插入图片描述

    DNS域名解析的过程

    解析的过程就是寻找哪台机器上有你需要资源的过程。当你在浏览器中输入一个地址时,例如http://www.baidu.com,其实不是百度网站真正意义上的地址。互联网上每一台计算机的唯一标识是它的IP地址,但是IP地址并不方便记忆。

    大致的DNS解析的流程

    1. 查找 浏览器缓存
      因为浏览器一般会缓存DNS记录一段时间,不同浏览器的时间可能不一样,一般2-30分钟不等,浏览器去查找这些缓存,如果有缓存,直接返回IP,否则下一步。

    2. 查找系统缓存
      浏览器缓存中找不到IP之后,浏览器会查看本地硬盘的 hosts 文件,看看其中有没有和这个域名对应的规则,如果有的话就直接使用 hosts 文件里面的 ip 地址。如果在本地的 hosts 文件没有能够找到对应的 ip 地址,浏览器会发出一个 DNS请求到本地DNS服务器

    3. 主机A先去本地服务器进行递归查询;
      本地DNS服务器会首先查询它的缓存记录,如果缓存中有此条记录,就可以直接返回结果,此过程是递归的方式进行查询。如果没有,本地DNS服务器还要向DNS根服务器进行查询

    4. 本地服务器采用迭代查询,向一个根域名服务器查查询;
      根DNS服务器没有记录具体的域名和IP地址的对应关系,而是告诉本地DNS服务器,你可以到域服务器上去继续查询,并给出域服务器的地址。这种过程是迭代的过程( 根域名服务器告诉本地服务器,我这里查不到, 然后发给他下一步应该查询的顶级域名服务器的IP地址;)

    5. 本地域名服务器再去顶级域名服务器查询
      顶级域名服务器告诉本地服务器,我这里也查不到,然后发给他下一步应该查询的权限域名服务器的IP地址;

    6. 本地域名服务器向权限域名服务器查询;
      由于求的对象是.com域服务器。.com域服务器收到请求之后,也不会直接返回域名和IP地址的对应关系,而是告诉本地DNS服务器,你的域名的解析服务器的地址。

    7. 权限域名服务器告诉本地服务器,所查询域名对应的IP

    8. 本地域名服务器最后再把查询结果告诉主机A;

    浏览器查询 DNS,获取域名对应的IP地址:具体过程包括浏览器搜索自身的DNS缓存、搜索操作系统的DNS缓存、读取本地的Host文件和向本地DNS服务器进行查询等。对于向本地DNS服务器进行查询,如果要查询的域名包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析(此解析具有权威性);如果要查询的域名不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析(此解析不具有权威性)。如果本地域名服务器并未缓存该网址映射关系,那么将根据其设置发起递归查询或者迭代查询;

    DNS查询的两种方式

    现在使用的是两种方式的结合
    在这里插入图片描述

    递归查询

    局部DNS服务器自己负责向其他DNS服务器进行查询,一般是先向该域名的根域服务器查询,再由根域名服务器一级级向下查询。最后得到的查询结果返回给局部DNS服务器,再由局部DNS服务器返回给客户端。
    简单的说,就是你交给我一个任务,然后我去帮你搞定结果,最后我返回结果给你。别关心我里面如何不断的细化这个任务,不断的递归最后返回

    如果是单纯的递归查询 负载过大,现在不使用了。
    在这里插入图片描述

    迭代查询

    局部DNS服务器不是自己向其他DNS服务器进行查询,而是把能解析该域名的其他DNS服务器的IP地址返回给客户端DNS程序,客户端DNS程序再继续向这些DNS服务器进行查询,直到得到查询结果为止。也就是说,迭代解析只是帮你找到相关的服务器而已,而不会帮你去查。

    在这里插入图片描述

    解析流程以访问 y.abc.com为例
    假定某客户机想获知域名为y.abc.com主机的IP地址,域名解析的过程(共使用8个UDP报文)如下:

    ①客户机向其本地域名服务器发出DNS请求报文。
    ②本地域名服务器收到请求后,查询本地缓存,若没有该记录,则以DNS客户的身份向根域名服务器发出解析请求。
    ③根域名服务器收到请求后,判断该域名属于.com域,将对应的顶级域名服务器dns.com的IP地址返回给本地域名服务器。
    ④本地域名服务器向顶级域名服务器dns.com发出解析请求报文。
    ⑤顶级域名服务器dns.com收到请求后,判断该域名属于abc.com域,因此将对应的授权域名服务器dns.abc.com的IP地址返回给本地域名服务器。
    ⑥本地域名服务器向授权域名服务器dns.abc.com发起解析请求报文。
    ⑦授权域名服务器dns.abc.com收到请求后,将查询结果返回给本地域名服务器。
    ⑧本地域名服务器将查询结果保存到本地缓存,同时返回给客户机。

    DNS劫持

    DNS 的域名解析基于 UDP 协议实现,极易发生 DNS 劫持。

    如何解决 DNS 劫持

    传统 DNS 解析域名的最大弊端就是易被劫持,直接降低互联网用户的使用体验。比如你想访问 www.baidu.com,结果发生 DNS 劫持,得到了一个诈骗网站的 IP 或者空的地址,使你无法使用正常的服务(比如百度是搜索服务)。
    HTTPDNS 利用 HTTP 协议与 DNS 服务器交互,代替了传统的基于 UDP 协议的 DNS 交互,绕开了运营商的 Local DNS(本地 DNS 服务器),有效防止了域名劫持,提高域名解析效率。另外,由于 DNS 服务器端获取的是真实客户端 IP 而非 Local DNS 的 IP,能够精确定位客户端地理位置、运营商信息,从而有效改进调度精确性。

    同时https也可以解决DNS劫持的问题。
    在这里插入图片描述

    由于我们在浏览器或webapp中与服务端的交互大多是通过协议+域名进行的,而对于域名映射到ip这个步骤要经过本机请求dns服务器的过程,因此除了受信任的dns根服务器,中间缓存的各种dns服务器都有可能被黑或者被运营商利用篡改。
    比如www.baidu.com正常是映射到61.135.169.125这个公网ip,黑客或者恶意份子将dns服务器对于该域名的公网ip解析改成26.135.169.123,那么我们在某个地域访问www.baidu.com得到的结果就是26.135.169.123这台服务器返回的内容,并且在http协议访问的情况下毫无感知。

    https的证书可以应对dns劫持
    如test-h5.com被运营商或其他恶意份子将dns篡改至广告服务器地址F,浏览器使用https协议在与test-h5.com进行数据交互之前,需要获取域名对应证书,此时地址F的服务器返回一个假的证书,接着向CA或者本地跟证书验证对应域名证书合法性,浏览器必然会显示证书安全有问题,此时用户如果点击信任该证书并且继续浏览,则便进入了被劫持的h5页面
    但是需要注意的是,如果,恶意份子直接伪造证书https还是无法解决DNS劫持问题。

    https可否有效应对dns劫持、http内容劫持

    展开全文
  • DNS解析的具体流程

    2019-10-14 11:08:18
    一、具体流程 网络客户端->...域名解析服务器(域名和ip地址对应关系)-> 本地DNS服务器(缓存ip,并且将结果返回给网络客户端) 二、图示 参考文章:https://www.cnblogs.com/crazylqy/p/71...

    一、具体流程

    网络客户端->

    本地DNS服务器(查询缓存)->

    DNS根服务器(给出域服务器地址)->

    域服务器(给出域名解析服务器地址)->

    域名解析服务器(域名和ip地址的对应关系)->

    本地DNS服务器(缓存ip,并且将结果返回给网络客户端)

    二、图示

     

    参考文章:https://www.cnblogs.com/crazylqy/p/7110357.html

     

    展开全文
  • 1、用户首先检查自己浏览器缓存和操作系统缓存中是否有这个这个域名对应IP,如果没有命中则请求本地域名服务器(LDNS)来解析这个域名; 2、如果命中则将IP地址返回给用户;如果仍没有命中则将这个请求发送给根...

    开始

    当我们在浏览器搜索一个www.baidu.com的时候,应该怎么找到百度服务器的IP地址进行数据通信呢?这就是域名解析服务器的功能。当然每个网址都对应着IP地址保存在DNS中。

    步骤

    如图所示:

    • 1、用户首先检查自己浏览器缓存和操作系统缓存中是否有这个这个域名对应的IP,如果没有命中则请求本地域名服务器(LDNS)来解析这个域名;
    • 2、如果命中则将IP地址返回给用户;如果仍没有命中则将这个请求发送给根服务器
    • 3、根域名服务器返回给本地DNS一个所查询域的主DNS的IP:.com.cn.edu等等;
    • 4、本地DNS再请求根服务器返回给自己的主DNS的IP;
    • 5、接受请求的主DNS查找并返回这个域名对应的Name Server的IP地址,这个Name Server就是网站注册的域名服务器;
    • 6、 Name Server根据映射关系表找到目标ip,返回给本地DNS;
    • 7、本地DNS把这个结果返回给用户,并缓存这个地址;

    在这里插入图片描述

    展开全文
  • 关于如何通过url浏览网页具体流程这一类题,在DNS部分总是看模模糊糊,所以针对这一块,便进行了详细查询与了解。 什么是DNS Domain Name System DNS域名系统简称 它是一个层次结构和分布式数据库 功能...
  • 1、第一步:检查浏览器...当浏览器从缓存中找到了该网站域名对应IP地址,那么整个DNS解析过程结束。如果没有找到,将进行下一步骤。对于IP缓存时间问题,不宜设置太长缓存时间,时间太长,如果域名对应IP发生..
  • DNS解析原理和流程

    2018-06-09 01:53:00
    DNS解析原理和流程   DNS解析其实就是将IP地址(202.96.134.133)变成域名(www.xxxxx.com)   网络通讯大部分是基于TCP/IP,而TCP/IP是基于IP地址,所以计算机在网络上进行通讯时只能识别如“202.96.134.133...
  • 主机名称 是自己购买了二级域名之后 自己自定义设置,但是一般习惯是都是使用www
  • DNS解析域名过程

    2019-01-14 23:04:52
    流程:在浏览器输入域名,通过本地host文件进行找到域名对应ip,然后去对应ip服务器上。如果本地host文件没有对应的域名,则去电信网管获取。 本地host文件地址:C:\Windows\System32\driver\etc\host...
  • DNS的域名解析

    2020-05-23 19:33:59
    解析的具体流程DNS的递归查询模式。 第一优先级: 每一台电脑都有一个缓存(电脑重启会清空),当用户电脑找一个网站IP地址,PC端会先去缓存里找,如果缓存里有该该网站映射,直接通过缓存就解析出了IP地址...
  • DNS域名系统–用于进行域名解析,通过域名获取IP地址系统。 域名:www.baidu.com—服务器名称。 域名解析服务器:采用分布式存储,域名解析服务器遍布世界各地并且进行了层级划分,增加了容灾能力,提高了性能。...
  • DNS解析流程

    2021-04-16 14:45:24
    2.当hosts文件中也没有域名对应ip,则dns客户端会请求配置文件中配置Local DNS Server(本地dns服务器),一般为运营商dns服务器或者公司自己搭建的dns服务器 3.如果本地dns服务器没有解析记录,则本地dns服务器会...
  • erlang实现DNS解析域名

    2014-06-27 16:32:00
    erlang的DNS解析,有个inet模块,可以做这个事情,对应api如下:(这里用R16B版本) inet:getaddr/2解析对应一个ip,而inet:getaddr/2解析有可能对应1个或多个映射IP. 第一个参数为host域名,第二个参数是...
  • DNS系统的解析流程

    2019-04-14 12:12:30
    了解完用户访问网站基本流程后,再来了解下DNS解析的基本流程,这是企业针对运维岗位进行招聘时经常会面试问题,因此,必须要熟练掌握。DNS,全称为 Domain Name System,它在一个网站运行中起到了至关重要作用,其...
  • https://www.processon.com/view/link/5e368ed3e4b0d27af184e626 看不清话点这里。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,027
精华内容 410
关键字:

dns解析域名的流程