精华内容
下载资源
问答
  • DNS查询过程

    千次阅读 2019-04-09 09:15:19
    整个流程 域名解析 —> 与服务器建立连接 —>... 浏览器对页面进行渲染呈现给用户 1. 域名解析 以Chrome浏览器为例: ① Chrome浏览器 会首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1...

    一个HTTP请求的大致流程整个流程:

    域名解析 —> 与服务器建立连接 —> 发起HTTP请求 —> 服务器响应HTTP请求,浏览器得到html代码 —> 浏览器解析html代码,并请求html代码中的资源(如js、css、图片) —> 浏览器对页面进行渲染呈现给用户

    域名解析

    以Chrome浏览器为例:
    Chrome浏览器 会首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的缓存中是否有对应的条目,而且没有过期,如果有且没有过期则解析到此结束。可以使用 chrome://net-internals/#dns 来进行查看

    ② 如果浏览器自身的缓存里面没有找到对应的条目,那么Chrome会搜索操作系统自身的DNS缓存,如果找到且没有过期则停止搜索解析到此结束.以Windows系统为例,可以在命令行下使用 ipconfig /displaydns 来进行查看

    ③ 如果在Windows系统的DNS缓存也没有找到,那么尝试读取hosts文件(位于C:\Windows\System32\drivers\etc), 看看这里面有没有该域名对应的IP地址,如果有则解析成功。

    ④ 如果在hosts文件中也没有找到对应的条目,浏览器就会发起一个DNS的系统调用,就会向本地配置的首选DNS服务器(一般是电信运营商提供的,也可以使用像Google提供的DNS服务器)发起域名解析请求(通过的是UDP协议向DNS的53端口发起请求,这个请求是递归的请求,也就是运营商的DNS服务器必须得提供给我们该域名的IP地址)

    运营商的DNS服务器首先查找自身的缓存,找到对应的条目,且没有过期,则解析成功。如果没有找到对应的条目,则有运营商的DNS代我们的浏览器发起迭代DNS解析请求,它首先是会找根域的DNS的IP地址(这个DNS服务器都内置13台根域的DNS的IP地址),找到根域的DNS地址,就会向其发起请求(请问www.baidu.com这个域名的IP地址是多少啊?),根域发现这是一个顶级域com域的一个域名,于是就告诉运营商的DNS我不知道这个域名的IP地址,但是我知道com域的IP地址,你去找它去,于是运营商的DNS就得到了com域的IP地址,又向com域的IP地址发起了请求(请问www.baidu.com这个域名的IP地址是多少?),com域这台服务器告诉运营商的DNS我不知道www.baidu.com这个域名的IP地址,但是我知道baidu.com这个域的DNS地址,你去找它去,于是运营商的DNS又向baidu.com这个域名的DNS地址(这个一般就是由域名注册商提供的,像万网,新网等)发起请求(请问www.baidu.com这个域名的IP地址是多少?),这个时候baidu.com域的DNS服务器一查,诶,果真在我这里,于是就把找到的结果发送给运营商的DNS服务器,这个时候运营商的DNS服务器就拿到了www.baidu.com这个域名对应的IP地址,并返回给Windows系统内核,内核又把结果返回给浏览器,终于浏览器拿到了www.baidu.com 对应的IP地址,该进行一步的动作了。

    展开全文
  • IMS中SIP的DNS查询过程

    千次阅读 2015-03-16 16:22:48
    DNS服务器的原理及功能DNS的...DNS查询过程为:本地的/etc/hosts文件--->本地的DNS缓存---->本地局域网的DNS服务器----->迭代或递归查询公共DNS服务器。 /etc/hosts /etc/hos.conf /etc/resolv.conf /etc/named.conf

    最近要做做系统测试,负载肯定比功能测试的要高,而且功能测试中的DNS查询一般都是本地查询,不需要额外的DNS服务器。

    看网上用脚本写了DNS 模拟器,不太好用,当负载稍高些,这个模拟器就会挂掉,而且经常出现各种奇怪的问题。

    所以就想能不能有一个稳定的,好用的DNS模拟器。研究发现LINUX系统里BIND架设的DNS就可以满足我的要求。

    但是我的测试环境比较特殊,是对IMS网络中SIP消息涉及的DNS过程。

    IMS URI主要有两种:TEL URI 和 SIP URI, 其中TEL URI不能再IMS里面路由,都需要转化成SIP URI. DNS的NAPTR查询会主动将TEL URI转换成SIP URI。

    TEL URI, TEL就是telephone的缩写,就跟平时看见的一串数字的电话号码类似,分为国际号码和国内号码。国际号码前加国家码,国内号码在漫游时加地区码。

    • 国际号码的格式     tel:+862512345000。 +86表示中国的国家码
    • 国内号码的格式  tel:12345000;phone-context=+021。  phone-context=+021,表示上海的地区码

    如果域名是tel格式,NAPTR查询会先将TEL URI转换成SIP URI,然后对获得的域名进行NAPTR查询,返回目标网元的新域名。

    假设TEL号码为+86-021-12340000

    TEL URI转换成SIP URI的过程如下:

    • 将TEL URI号码变成包含国家码或地区码的全码        +86-021-12340000
    • 去除首部的“+"和所有其他的非数字字符                     8602112340000
    • 在数字字符之间加上"."                                                   8.6.0.2.1.1.2.3.4.0.0.0.0
    • 将数字字符顺序翻转                                                      0.0.0.0.4.3.2.1.1.2.0.6.8 
    • 在翻转后的字符串后面加后缀"e164.arpa"                 0.0.0.0.4.3.2.1.1.2.0.6.8.e164.arpa 
    SIP URI,采用的格式:”sip:+用户名/电话号码@域名/IP地址端口[:user=phone]“, user=phone表示被叫用户是一个电话用户。

    如sip:smith@zte.com.cn

        sip:+862512345000@zte.com.cn

        sip: +86251234500@10.10.10.10:6000;user=phone


    SIP消息涉及到的DNS过程主要包括两个方面:

    • 如何发送请求消息,发送方需要通过DNS过程得到传输层协议类型(TCP, UDP, SCTP),下一跳的IP和Port
    • 如何返回相应消息,需要决定上一跳的IP和Port。

    实例:

    如果向下一跳发送请求消息是sip:example.com或者是tel:+86-021-12340000

    • 对sip号码example.com进行NAPTR查询,获得传输层协议类型和获取目标网元的地址信息。对tel号码要先转换成0.0.0.0.4.3.2.1.1.2.0.6.8.e164.arpa,在进行NAPTR查询。
    • 对目标网元进行SRV查询,获得端口和目标网元的域名
    • 对目标网元的域名进行AAAAA查询,得到目标网元的IP地址

    具体分析过程如下:

    1. 对域名example.com进行NAPTR查询,返回多条记录,查询结果为:

                                order   pref    flags   service           regexp            replacement

    IN         NAPTR    50       50       "s"    "SIPS+D2T"      ""             _sips._tcp.example.com.

    IN         NAPTR    90       50       "s"    "SIP+D2T"      ""                _sip._tcp.example.com.

    IN         NAPTR    100     50       "s"    "SIP+D2U"      ""               _sip._ucp.example.com.

    IN         NAPTR     100    10       "u"    "SIP+E2U"      "!^.*$!sip:info@tele2.se!"          .

    IN         NAPTR     102    10       "u"    "mailto+E2U"      "!^.*$!mailto:info@tele2.se!"      

    *.e164.arpa.  NAPTR   10 100  "u"    "SIP+E2U"     "!^.*$!sip:info@sipp.com!"     

    根据order和pref的数值,选择第一条记录,flags为s表示下一步进行SRV查询,service表示TCP作为传输层协议,用sips方式传输消息,replacement表示使用_sips._tcp.example.com.进行进一步的获取目标网元的地址信息。

    flags为"u"表示regexp给出了替代规则,根据该规则和原来的域名得到新域名,service中的E2U表示从e.164(tel num)转换成SIP URI服务。


    2.对NAPTR产生的新域名进行SRV查询,返回多条记录,查询结果为:

                      priority    weight    port                target

    IN     SRV    0              1         5060        server1.example.com

    IN     SRV    0             2          5060         server2.example.com

    _sip._udp.sipp.com    IN   SRV  0  0   590    sipp.com.


    根据priority和weight选择第一条记录,port表示使用5060,target表示目标网元的域名为server1.example.com

    3.对SRV产生的新域名进行A或AAAA查询,得到目标网元的IP地址

    IN      A      10.170.9.123

    sipp.com  IN  A  192.30.0.120

    到这里我们就得到了:  将请求消息sip:example.com或者tel:+86-021-12340000通过TCP方式传输,采用SIPS方式,发送的下一跳的IP:Port是  10.170.9.123:5060


    如何发送响应消息,尤其是UAC发送完请求消息后发生故障无法接收响应消息?

    主要是通过收到的上一跳的请求消息中的Top Via的IP, Port, Domain Name等来获得新的目标地址。

    • 有IP:Port,直接发送到该IP:Port
    • 有IP,无Port,使用NAPTR查询获得的传输协议的默认端口
    • 有domain name和port,对domain name进行A或AAAA查询获得的IP列表,对获得IP和port发送消息
    • 只有domain name,进行SRV查询获得Port,进行A或AAAA查询获得IP,向获得的IP和port发送响应消息



    DNS服务器的原理及功能

    • DNS的配置和管理
    • DNS的应用

    DNS查询有正向和反向查询,正向是将域名解析城IP地址。

    DNS查询过程为:本地的/etc/hosts文件--->本地的DNS缓存---->本地局域网的DNS服务器----->迭代或递归查询公共DNS服务器。


    /etc/hosts               ------- 主机名查询静态表,主要用于在局域网内使用,将主机名解析到对应的ip     

    /etc/host.conf         ------- 定义查询的先后顺序,是先host还是dns server

    /etc/resolv.conf      ------- 静态dns server

    /etc/named.conf  -------- 静态dns zone的定义


    vim /etc/named.conf

    options {
    	directory "/var/lib/named";        ### the name server's working directory
    };
    zone "." in {                              ###the root name servers
    	type hint;
    	file "root.hint";
    };
    
    zone "e164.arpa" in {
    	type master;
    	file "e164.arpa.zone";
    };
    
    zone "sipp.com" in {
    	type master;
    	file "sipp.com.zone";
    };

    vim /var/lib/named/e164.arpa.zone

    $TTL 1W
    @  IN SOA  @ root (42  2D  4H  6W  1W)
       IN NS .
    *.9.9.9.e164.arpa. NAPTR  10 100   'u'    "SIP+E2U"    "!^.*$!sip:info@sipp.com!"      .


    vim /var/lib/named/sipp.com.zone

    @TTL 1W
    @    IN    SOA   @     root (42  2D  4H  6W  1W)
         IN     NS    .
    sipp.com    IN   A      172.30.0.120
    _sip._udp.sipp.com   IN     SRV  0    0   5990     sipp.com.


    展开全文
  • DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。 本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。 一、DNS 是什么...

    DNS 是互联网核心协议之一。不管是上网浏览,还是编程开发,都需要了解一点它的知识。

    本文详细介绍DNS的原理,以及如何运用工具软件观察它的运作。我的目标是,读完此文后,你就能完全理解DNS。

    一、DNS 是什么?

    DNS (Domain Name System 的缩写)的作用非常简单,就是根据域名查出IP地址。你可以把它想象成一本巨大的电话本。

    举例来说,如果你要访问域名math.stackexchange.com,首先要通过DNS查出它的IP地址是151.101.129.69

    如果你不清楚为什么一定要查出IP地址,才能进行网络通信,建议先阅读我写的《互联网协议入门》

    二、查询过程

    虽然只需要返回一个IP地址,但是DNS的查询过程非常复杂,分成多个步骤。

    工具软件dig可以显示整个查询过程。

    
    $ dig math.stackexchange.com
    

    上面的命令会输出六段信息。

    第一段是查询参数和统计。

    第二段是查询内容。

    上面结果表示,查询域名math.stackexchange.comA记录,A是address的缩写。

    第三段是DNS服务器的答复。

    上面结果显示,math.stackexchange.com有四个A记录,即四个IP地址。600是TTL值(Time to live 的缩写),表示缓存时间,即600秒之内不用重新查询。

    第四段显示stackexchange.com的NS记录(Name Server的缩写),即哪些服务器负责管理stackexchange.com的DNS记录。

    上面结果显示stackexchange.com共有四条NS记录,即四个域名服务器,向其中任一台查询就能知道math.stackexchange.com的IP地址是什么。

    第五段是上面四个域名服务器的IP地址,这是随着前一段一起返回的。

    第六段是DNS服务器的一些传输信息。

    上面结果显示,本机的DNS服务器是192.168.1.253,查询端口是53(DNS服务器的默认端口),以及回应长度是305字节。

    如果不想看到这么多内容,可以使用+short参数。

    
    $ dig +short math.stackexchange.com
    
    151.101.129.69
    151.101.65.69
    151.101.193.69
    151.101.1.69
    

    上面命令只返回math.stackexchange.com对应的4个IP地址(即A记录)。

    三、DNS服务器

    下面我们根据前面这个例子,一步步还原,本机到底怎么得到域名math.stackexchange.com的IP地址。

    首先,本机一定要知道DNS服务器的IP地址,否则上不了网。通过DNS服务器,才能知道某个域名的IP地址到底是什么。

    DNS服务器的IP地址,有可能是动态的,每次上网时由网关分配,这叫做DHCP机制;也有可能是事先指定的固定地址。Linux系统里面,DNS服务器的IP地址保存在/etc/resolv.conf文件。

    上例的DNS服务器是192.168.1.253,这是一个内网地址。有一些公网的DNS服务器,也可以使用,其中最有名的就是Google的8.8.8.8和Level 3的4.2.2.2

    本机只向自己的DNS服务器查询,dig命令有一个@参数,显示向其他DNS服务器查询的结果。

    
    $ dig @4.2.2.2 math.stackexchange.com
    

    上面命令指定向DNS服务器4.2.2.2查询。

    四、域名的层级

    DNS服务器怎么会知道每个域名的IP地址呢?答案是分级查询。

    请仔细看前面的例子,每个域名的尾部都多了一个点。

    比如,域名math.stackexchange.com显示为math.stackexchange.com.。这不是疏忽,而是所有域名的尾部,实际上都有一个根域名。

    举例来说,www.example.com真正的域名是www.example.com.root,简写为www.example.com.。因为,根域名.root对于所有域名都是一样的,所以平时是省略的。

    根域名的下一级,叫做"顶级域名"(top-level domain,缩写为TLD),比如.com.net;再下一级叫做"次级域名"(second-level domain,缩写为SLD),比如www.example.com里面的.example,这一级域名是用户可以注册的;再下一级是主机名(host),比如www.example.com里面的www,又称为"三级域名",这是用户在自己的域里面为服务器分配的名称,是用户可以任意分配的。

    总结一下,域名的层级结构如下。

    
    主机名.次级域名.顶级域名.根域名
    
    # 即
    
    host.sld.tld.root
    

    五、根域名服务器

    DNS服务器根据域名的层级,进行分级查询。

    需要明确的是,每一级域名都有自己的NS记录,NS记录指向该级域名的域名服务器。这些服务器知道下一级域名的各种记录。

    所谓"分级查询",就是从根域名开始,依次查询每一级域名的NS记录,直到查到最终的IP地址,过程大致如下。

    1. 从"根域名服务器"查到"顶级域名服务器"的NS记录和A记录(IP地址)
    2. 从"顶级域名服务器"查到"次级域名服务器"的NS记录和A记录(IP地址)
    3. 从"次级域名服务器"查出"主机名"的IP地址

    仔细看上面的过程,你可能发现了,没有提到DNS服务器怎么知道"根域名服务器"的IP地址。回答是"根域名服务器"的NS记录和IP地址一般是不会变化的,所以内置在DNS服务器里面。

    下面是内置的根域名服务器IP地址的一个例子

    上面列表中,列出了根域名(.root)的三条NS记录A.ROOT-SERVERS.NETB.ROOT-SERVERS.NETC.ROOT-SERVERS.NET,以及它们的IP地址(即A记录)198.41.0.4192.228.79.201192.33.4.12

    另外,可以看到所有记录的TTL值是3600000秒,相当于1000小时。也就是说,每1000小时才查询一次根域名服务器的列表。

    目前,世界上一共有十三组根域名服务器,从A.ROOT-SERVERS.NET一直到M.ROOT-SERVERS.NET

    六、分级查询的实例

    dig命令的+trace参数可以显示DNS的整个分级查询过程。

    
    $ dig +trace math.stackexchange.com
    

    上面命令的第一段列出根域名.的所有NS记录,即所有根域名服务器。

    根据内置的根域名服务器IP地址,DNS服务器向所有这些IP地址发出查询请求,询问math.stackexchange.com的顶级域名服务器com.的NS记录。最先回复的根域名服务器将被缓存,以后只向这台服务器发请求。

    接着是第二段。

    上面结果显示.com域名的13条NS记录,同时返回的还有每一条记录对应的IP地址。

    然后,DNS服务器向这些顶级域名服务器发出查询请求,询问math.stackexchange.com的次级域名stackexchange.com的NS记录。

    上面结果显示stackexchange.com有四条NS记录,同时返回的还有每一条NS记录对应的IP地址。

    然后,DNS服务器向上面这四台NS服务器查询math.stackexchange.com的主机名。

    上面结果显示,math.stackexchange.com有4条A记录,即这四个IP地址都可以访问到网站。并且还显示,最先返回结果的NS服务器是ns-463.awsdns-57.com,IP地址为205.251.193.207

    七、NS 记录的查询

    dig命令可以单独查看每一级域名的NS记录。

    
    $ dig ns com
    $ dig ns stackexchange.com
    

    +short参数可以显示简化的结果。

    
    $ dig +short ns com
    $ dig +short ns stackexchange.com
    

    八、DNS的记录类型

    域名与IP之间的对应关系,称为"记录"(record)。根据使用场景,"记录"可以分成不同的类型(type),前面已经看到了有A记录和NS记录。

    常见的DNS记录类型如下。

    (1) A:地址记录(Address),返回域名指向的IP地址。

    (2) NS:域名服务器记录(Name Server),返回保存下一级域名信息的服务器地址。该记录只能设置为域名,不能设置为IP地址。

    (3)MX:邮件记录(Mail eXchange),返回接收电子邮件的服务器地址。

    (4)CNAME:规范名称记录(Canonical Name),返回另一个域名,即当前查询的域名是另一个域名的跳转,详见下文。

    (5)PTR:逆向查询记录(Pointer Record),只用于从IP地址查询域名,详见下文。

    一般来说,为了服务的安全可靠,至少应该有两条NS记录,而A记录和MX记录也可以有多条,这样就提供了服务的冗余性,防止出现单点失败。

    CNAME记录主要用于域名的内部跳转,为服务器配置提供灵活性,用户感知不到。举例来说,facebook.github.io这个域名就是一个CNAME记录。

    
    $ dig facebook.github.io
    
    ...
    
    ;; ANSWER SECTION:
    facebook.github.io. 3370    IN  CNAME   github.map.fastly.net.
    github.map.fastly.net.  600 IN  A   103.245.222.133
    

    上面结果显示,facebook.github.io的CNAME记录指向github.map.fastly.net。也就是说,用户查询facebook.github.io的时候,实际上返回的是github.map.fastly.net的IP地址。这样的好处是,变更服务器IP地址的时候,只要修改github.map.fastly.net这个域名就可以了,用户的facebook.github.io域名不用修改。

    由于CNAME记录就是一个替换,所以域名一旦设置CNAME记录以后,就不能再设置其他记录了(比如A记录和MX记录),这是为了防止产生冲突。举例来说,foo.com指向bar.com,而两个域名各有自己的MX记录,如果两者不一致,就会产生问题。由于顶级域名通常要设置MX记录,所以一般不允许用户对顶级域名设置CNAME记录。

    PTR记录用于从IP地址反查域名。dig命令的-x参数用于查询PTR记录。

    
    $ dig -x 192.30.252.153
    
    ...
    
    ;; ANSWER SECTION:
    153.252.30.192.in-addr.arpa. 3600 IN    PTR pages.github.com.
    

    上面结果显示,192.30.252.153这台服务器的域名是pages.github.com

    逆向查询的一个应用,是可以防止垃圾邮件,即验证发送邮件的IP地址,是否真的有它所声称的域名。

    dig命令可以查看指定的记录类型。

    
    $ dig a github.com
    $ dig ns github.com
    $ dig mx github.com
    

    九、其他DNS工具

    除了dig,还有一些其他小工具也可以使用。

    (1)host 命令

    host命令可以看作dig命令的简化版本,返回当前请求域名的各种记录。

    
    $ host github.com
    
    github.com has address 192.30.252.121
    github.com mail is handled by 5 ALT2.ASPMX.L.GOOGLE.COM.
    github.com mail is handled by 10 ALT4.ASPMX.L.GOOGLE.COM.
    github.com mail is handled by 10 ALT3.ASPMX.L.GOOGLE.COM.
    github.com mail is handled by 5 ALT1.ASPMX.L.GOOGLE.COM.
    github.com mail is handled by 1 ASPMX.L.GOOGLE.COM.
    
    $ host facebook.github.com
    
    facebook.github.com is an alias for github.map.fastly.net.
    github.map.fastly.net has address 103.245.222.133
    

    host命令也可以用于逆向查询,即从IP地址查询域名,等同于dig -x <ip>

    
    $ host 192.30.252.153
    
    153.252.30.192.in-addr.arpa domain name pointer pages.github.com.
    

    (2)nslookup 命令

    nslookup命令用于互动式地查询域名记录。

    
    $ nslookup
    
    > facebook.github.io
    Server:     192.168.1.253
    Address:    192.168.1.253#53
    
    Non-authoritative answer:
    facebook.github.io  canonical name = github.map.fastly.net.
    Name:   github.map.fastly.net
    Address: 103.245.222.133
    
    > 
    

    (3)whois 命令

    whois命令用来查看域名的注册情况。

    
    $ whois github.com
    展开全文
  • 域名系统 Domain Name System 根域名. ...全球13组域名根节点 查询方式 递归查询 主机向本地域名服务器的查询一般都是采用递归查询。 浏览器缓存→hosts&...dig 命令可以查看dns解析过程 dig @server

    域名系统 Domain Name System

    根域名.
    顶级域名 .com

    全球13组域名根节点

    查询方式

    递归查询

    主机向本地域名服务器的查询一般都是采用递归查询。

    浏览器缓存→hosts&系统缓存→路由器缓存→ISP DNS 缓存→递归搜索

    大多数的 linux 发行版都不使用本机 DNS 缓存。所以,一般也就不存在刷新问题。

    迭代查询

    本地域名服务器向根域名服务器的查询的迭代查询。
    按上图的分层结构去查

    命令查看dns解析过程

    dig 命令可以查看dns解析过程

    dig @server name type
    采用udp

    $ dig www.baidu.com 
    

    $ dig www.baidu.com ++trace
    


    可以看到迭代查询过程

    类似的命令还有 nslookup,会返回更简介一点

    记录类型

    type 包括

    • A(address)记录
    • NS记录(name server)
    • MX(mail)
    • CNAME

    A记录是域名到ip的映射,即为ip起别名;

    CNAME是域名别名到域名的映射,即为域名起别名。
    CNAME有一个好处就是对外稳定, 不随IP变动

    MX记录,它是与邮件相关的,MX记录记录了发送电子邮件时域名对应的服务器地址

    NS解析服务器记录。用来表明由哪台服务器对该域名进行解析。这里的NS记录只对子域名生效。
    NS 记录优先于A记录

    8.8.8.8


    8.8.8.8是一个IP地址,是Google提供的免费DNS服务器的IP地址,Google提供的另外一个免费DNS服务器的IP地址是:8.8.4.4 。用户可以使用Google提供的DNS服务器上网。

    TCP 查看解析过程

    53端口为DNS(Domain Name Server,域名服务器)服务器所开放

    $ sudo tcpdump -v port 53
    

    浏览器dns缓存

    chrome://net-internals/#dns

    清除本地dns 缓存 mac

    dscacheutil -flushcache

    展开全文
  • SIP中的DNS查询过程

    千次阅读 2015-11-25 16:04:26
    1.SIP中的DNS过程 1.1.SIP消息涉及的DNS过程 SIP消息涉及到的DNS过程主要包括两个方面:一方面是如何发送请求消息,发送方需要通过DNS过程得到传输层协议类型,下一跳的IP地址和端口等信息;另一方面是如何返回...
  • 说说 DNS 的解析过程? ** 域名系统(服务)协议(DNS)是一种分布式网络目录服务,主要用于域名与 IP 地址的相互转换,分为正向与反向域名解析,适用C/S,端口路53/udp,53/tcp,属于应用层协议; ** 作用: **人得...
  • DNS抓包分析 tcpdump -i eth0 -w /tmp/test.cap 1.test.cap 使用wireshark 打开数据包,过滤出dns包。 8247-查询报文 8248-响应报文 2.查询报文:=73bytes 以太网帧头 14 IP头 20 Udp 8 DNS 报文:12+19 ...
  • NAPTR SRV配置格式 SIP中的DNS查询过程

    千次阅读 2016-10-12 14:03:05
    DNS NAPTR & SRV Records (optional) Configuring DNS NAPTR and SRV for TLS This isn't required as TLS will function without it, but it is recommended. If you're going to set up TLS you might take
  • 可以从本机的hosts文件中得到主机名称所对应的IP地址,但如果hosts文件不能解析该主机名称时,只能通过向客户机所设定DNS服务器进行查询了。 说明:在UNIX系统中,可以设置hosts和dns的使用次序。 可以以
  • DNS查询过程

    2020-07-11 17:20:01
    1.DNS(Domain Name System)叫域名系统,由于IP地址不方便...递归查询是用在本地机查询本地 DNS 服务器的过程,迭代查询是本地 DNS 服务器在互联网上查找目标机的过程。 想象一个树状图,一个主机访问另一台主机,就.
  • 相对应的,服务器会对这些查询进行响应,我们称之为解析,至于DNS内部的工作机制,我们不得而知,但可以通过一些命令和方法间接地了解DNS查询过程。为了更好的描述这个问题,我做了一张简单的TOPO图,其中DNS1为DN
  • DNS是应用层协议,端口号为tcp/53和udp/53 DNS查询过程,比如访问www.test.com1.客户机查询www.test.com2.查询首选DNS服务器,Linux下/etc/resolv.conf, Windows下是网络设置中的3.首选DNS服务器中没有test.com域的...
  • 14.1.3 DNS查询过程

    2009-12-21 08:36:00
    14.1.3 DNS查询过程当客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址,因为IP数据报中允许放置的是目地主机的IP地址,而不是主机名称。可以从本机的hosts文件中...
  • DNS解析和查询过程

    万次阅读 2018-10-21 13:50:52
    域名通过DNS转化成ip地址的过程。 为什么要 DNS 解析? 因为 http 是基于 tcp 连接的,而 tcp 则是通过 ip 地址去识别访问的。DNS 解析就是域名转化成 ip 地址的过程。 1. 查看浏览器内部缓存 检测域名是否存在...
  • DNS的四种查询过程

    千次阅读 2019-03-28 08:35:40
    当客户端程序要通过一个主机名称来访问网络中的一台主机时,它首先要得到这个主机名称所对应的IP地址,因为IP数据报中允许...可以以不同的方式对DNS查询进行解析。 第一种是本地解析,就是客户端可以使用缓存信息...
  • DNS查询模式

    千次阅读 2018-04-10 10:43:59
    DNS查询模式 DNS客户端扮演提问者的角色,当客户机需要访问Internet上某一主机时,DNS客户端首先向本地DNS服务器查询对方IP地址,如果在本地DNS服务器无法查询出,本地DNS服务器会继续向另外一台DNS服务器查询,...
  • python实现DNS查询

    千次阅读 2014-02-16 15:16:23
    1.DNS查询过程: 以查询 www.baidu.com为例 (1) 电脑向本地域名服务器发送解析www.baidu.com的请求 (2) 本地域名服务器收到请求后,先查询本地的缓存,如果找到直接返回查询结果,如果没有该记录,本地域名...
  • DNS解析过程

    2020-06-08 11:30:57
    DNS解析过程 ...DNS解析查询的方式有两种:递归解析查询和迭代解析查询,通常来说,客户端和本地域名服务器是递归查询,而本地域名服务器和其他域名服务器之间是迭代查询。 递归解析 假如我们本地客户端是A
  • DNS解析过程详解:以www.baidu.com 为例,有图有讲解 ...DNS原理及其解析过程 http://blog.51cto.com/369369/812889 DNS基础配置:缓存、正向解析、反向解析、master/slave DNS、远程更新DNS http://blo...
  • DNS学习笔记之2 - DNS客户端的查询内容简介:DNS客户端完整的DNS查询过程如下: 1、首先检查自己的本地DNS名字缓存 当DNS客户端需要解析某个FQDN时,先检查自己的本地DNS名字缓存。本地的DNS名字缓存由两部分构成: ...
  • 反向DNS查询

    千次阅读 2018-04-01 16:56:24
    在计算机网络中,反向DNS查询或反向DNS解析(rDNS)是查询域名系统(DNS)以确定与IP地址相关联的域名 - 通常的IP向前“DNS”查找的反向来自域名的地址。反向解析IP地址的过程使用PTR记录。互联网的反向DNS数据库...
  • DNS查找过程

    千次阅读 2018-06-27 00:24:47
     如果主机所询问的本地域名服务器不知道被查询的域名的IP地址,那么本地域名服务器就以DNS客户的身份,向其根域名服务器继续发出查询请求报文(即替主机继续查询),而不是让主机自己进行下一步查询。因此,递归查询...
  • DNS解析过程详解

    千次阅读 2013-06-04 17:27:38
    DNS解析过程详解   目录(?)[+] 先说一下DNS的几个基本概念:   一. 根域 就是所谓的“.”,其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.(最后有一点),一般...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 96,650
精华内容 38,660
关键字:

dns查询过程