美文网首页
跟踪域名解析过程的几条命令

跟踪域名解析过程的几条命令

作者: 是什么样的心情 | 来源:发表于2019-06-02 00:11 被阅读0次

一. 序言

在学习计算机网络的时候就知道到了DNS的解析过程,但是一直没有实践过。这次趁着配置狗爹上买的域名,通过跟踪域名的解析过程,算是DNS有了更深刻的了解。

二. nslookup

nslookup(name server lookup)是一个用于查询 Internet域名信息或诊断DNS 服务器问题的工具。在windows和Linux都可以通过nslookup输入域名得到相应的IP地址。相反的,我们也可以通过输入IP地址来获得主机名。


nslookup.jpg

获取更详细的应用,请参照nslookup 命令用法

三. dig

在Linux系统中,通过dig命令可以查询DNS的解析过程。
下面展示的是使用最简单的dig命令来查询DNS的结果,这对我们理解复杂一点的dig命令的结果很有帮助。


digDemo.jpg
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> hihuaning.com

输出了DIG和Linux的版本号以及查询的域名

;; global options: +cmd

说明可以增加参数cmd。

;; Got answer:

表示下面信息是此次查询所得的结果,包含5个部分,分别是头部HEADER,查询部分QUESTION SECTION,回复部分ANSWER SECTION,权威机构部分AUTHORITY SECTION,附加部分ADDITIONAL SECTION。

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19643
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 4, ADDITIONAL: 4

opcode 操作码,QUERY,代表是查询操作
status 状态,NOERROR,代表没有错误
id 编号,7794,16bit数字,在dns协议中,通过编号匹配返回和查询。
flags 标志,如果出现就表示有标志,如果不出现就未设置标志:
qr query,查询标志,代表是查询操作
rd recursion desired, 代表希望进行递归(recursive)查询操作
ra recursive available 在返回中设置,代表查询的服务器支持递归(recursive)查询操作。
aa Authoritative Answer 权威回复,如果查询结果由管理域名的域名服务器而不是缓存服务器提供的,则称为权威回复。
QUERY 查询数,1代表1个查询,对应下面的QUESTION SECTION中的记录数
ANSWER 结果数,3代表有3项结果,对应下面ANSWER SECTION中的记录数
AUTHORITY 权威域名服务器记录数,4代表该域名有4个权威域名服务器,可供域名解析用。对应下面AUTHORITY SECTION
ADDITIONAL 格外记录数,4代表有4项格外记录。对应下面 ADDITIONAL SECTION。

;; QUESTION SECTION:
;hihuaning.com.         IN  A

查询部分,从左到右各部分意义:
1、要查询的域名,这里是hihuaning.com.,'.'代表根域名,com顶级域名,hihuaning二级域名
2、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
3、type,要查询的记录类型,A记录(Address),代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。

;; ANSWER SECTION:
hihuaning.com.              5    IN CNAME   samkingz.github.io.
samkingz.github.io.        5    IN  CNAME   github.map.fastly.net.
github.map.fastly.net.      5    IN CNAME   prod.github.map.fastlylb.net.
prod.github.map.fastlylb.net. 5    IN   A       151.101.36.133

回应部分,回应有CNAME记录和A记录,说说CNAME记录从左到右各部分意义:
1、对应的域名,这里是hihuaning.com.,'.'代表根域名,com顶级域名,hihuaning二级域名
2、TTL,time ro live,缓存时间,单位秒。5,代表缓存域名服务器,可以在缓存中保存5秒该记录。
3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
4、type,要查询的记录类型,CNAME记录,代表hihuaning.com有个别名samkingz.github.io
5、域名对应的CNAME别名

;; AUTHORITY SECTION:
fastlylb.net.       5   IN  NS  ns3.fastlylb.net.
fastlylb.net.       5   IN  NS  ns4.fastlylb.net.
fastlylb.net.       5   IN  NS  ns1.fastlylb.net.
fastlylb.net.       5   IN  NS  ns2.fastlylb.net.

权威域名部分,回应都是NS记录(Name Server),NS记录从左到右各部分意义:
1、对应的域名,这里是fastlylb.net.,'.'代表根域名,com顶级域名,fastlylb二级域名
2、TTL,time ro live,缓存时间,单位秒。5,代表缓存域名服务器,可以在缓存中保存5秒该记录。
3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
4、type,要查询的记录类型,NS,Name Server,NS记录,代表该记录描述了域名对应的权威域名解析服务器
5、域名对应域名对应的权威域名解析服务器。由于ns3.fastlylb.net.是fastlylb.net.的子域名,而解析子域名,又需要主域名的信息,为了打破这个死循环,需要在下面的额外记录中提供该服务器的ip地址。

;; ADDITIONAL SECTION:
ns1.fastlylb.net.   5   IN  A   23.235.32.32
ns2.fastlylb.net.   5   IN  A   104.156.80.32
ns3.fastlylb.net.   5   IN  A   23.235.36.32
ns4.fastlylb.net.   5   IN  A   104.156.84.32

额外记录部分,这里都是A记录,A记录从左到右各部分意义:
1、对应的域名,这里是ns1.fastlylb.net.,'.'代表根域名,net顶级域名,fastlylb二级域名,ns1是三级域名。
2、TTL,time ro live,缓存时间,单位秒。5,代表缓存域名服务器可以在缓存中保存5秒该记录。
3、class,要查询信息的类别,IN代表类别为IP协议,即Internet。还有其它类别,比如chaos等,由于现在都是互联网,所以其它基本不用。
4、type,要查询的记录类型,A记录,代表要查询ipv4地址。AAAA记录,代表要查询ipv6地址。
5、域名对应的ip地址。

;; Query time: 4 msec

查询耗时

;; SERVER: 192.168.106.2#53(192.168.106.2)

查询使用的服务器地址和端口

;; WHEN: Wed Aug 17 09:39:23 2016

查询的时间

;; MSG SIZE  rcvd: 289

回应的大小。收到(rcve, recieved)256字节。

使用 dig hihuaning.com +trace 命令,我们可以看到整个域名是如何发起和解析的,从根域名(.)到gTLD Server(.com),再到Name Server(hihuaning.com.)的整个过程都显示出来了。

dig+traceDemo.jpg

获取更详细的应用,请参照 dig 命令用法

参考资料

从dig查询结果看DNS的A记录和NS记录
深入分析java web技术内幕

相关文章

  • 跟踪域名解析过程的几条命令

    一. 序言 在学习计算机网络的时候就知道到了DNS的解析过程,但是一直没有实践过。这次趁着配置狗爹上买的域名,通过...

  • 2019-06-19 CentOS 7中安装域名解析命令

    最近需在CentOS 7中安装域名解析命令以进行域名解析,发现以前用的dig、nslookup没有直接的安装命令,...

  • 网络编程

    命令: nslookup 域名:NDS域名解析netstat -ano | findstr 端口: ...

  • 使用pstack查看进程栈跟踪信息

    pstack说明 在程序运行过程中,如果发生阻塞或者work状态,可以使用该命令显示进程的栈跟踪。 该命令必须由进...

  • ls等io操作卡死处理办法

    strace 命令跟踪,定位问题。首先使用命令跟踪, 查看执行到哪一步卡死: 可以看到,命令执行到 /mnt这个目...

  • 域名解析过程。

    从输入百度到展现发生了什么 1.用户终端键入百度域名 用户通过浏览器键入 baidu.com 2.域名解析 以下1...

  • 域名解析过程

    例如,要查询www.baidu.com的IP地址(DNS解析url): 1.浏览器搜索自己的DNS缓存(维护一张域...

  • 域名解析过程

    http://test.yuming.com/url协议 二级域名 url 域名解析过程第一步...

  • 域名解析过程

    一. 域名解析概念 域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址...

  • DNS域名解析

    本文解决如果几个问题:1、什么是DNS域名解析2、域名解析过程3、如何搭建本地DNS服务器 什么是DNS域名解析 ...

网友评论

      本文标题:跟踪域名解析过程的几条命令

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