dns查询详细步骤
dig +trace www.iculture.cc
从图片中可以看出,这里先是访问了本机中13个根域名服务器
; DiG 9.16.11-Debian +trace www.iculture.cc
;; global options: +cmd
. 5 IN NS b.root-servers.net.
. 5 IN NS c.root-servers.net.
. 5 IN NS l.root-servers.net.
. 5 IN NS m.root-servers.net.
. 5 IN NS g.root-servers.net.
. 5 IN NS f.root-servers.net.
. 5 IN NS k.root-servers.net.
. 5 IN NS j.root-servers.net.
. 5 IN NS e.root-servers.net.
. 5 IN NS i.root-servers.net.
. 5 IN NS h.root-servers.net.
. 5 IN NS d.root-servers.net.
. 5 IN NS a.root-servers.net.
;; Received 228 bytes from 192.168.137.2#53(192.168.137.2) in 20 ms
然后从本地根域名服务器地址中拿到了.cc的域名服务器地址,继续查.cc域名服务器
cc. 172800 IN NS ac3.nstld.com.
cc. 172800 IN NS ac4.nstld.com.
cc. 172800 IN NS ac1.nstld.com.
cc. 172800 IN NS ac2.nstld.com.
cc. 86400 IN DS 519 8 2 E1EC6495ABD34562E6F433DEE201E6C6A52CB10AF69C04D675DA692D 2D566897
cc. 86400 IN DS 519 8 1 7285EF05E1B4E679D4F072EEA9B00953E01F3AE2
cc. 86400 IN RRSIG DS 8 1 86400 20210218050000 20210205040000 42351 . qdTpPFjRGa27I9hLPzWK1CXw3anRM4meNffyr13TaJmE9P47HB2v+Pp6 otA4BDcDeJaJdI1GLIqNJ4q8MoyjRyo5Z8PaDXYpKLuOOK1BjhX4jfoy y7VCSOY8nKJnR0fiG2ak7ojO4Z1cv0SgXmN0DZUUrMHy7Go2mDL7rDiE xzU+8TTvVm8SWfbvxAGR+c+6FyXNTbw6Wpzo91CTHrZ8Lhu8YZxf8M71 B8yQMYjb8wMMwuqRsnOr0Y187CzktBUqWUZty3p6JJcI/FASNa4b2Z9d nAx/Nx3lMrHiZcPkzC1IxI/nF+sbwTNnDHgWKu0GKUbhMhuBNMmm3Tn/ SurIOg==
;; Received 672 bytes from 198.41.0.4#53(a.root-servers.net) in 356 ms
然后从.cc域名服务器中随机挑选了一个ip地址198.41.0.4,然后再去查iculture.cc的域名NS记录
iculture.cc. 172800 IN NS dns14.hichina.com.
iculture.cc. 172800 IN NS dns13.hichina.com.
RQGAP5UF6Q1NGVCKFNO8RANVDN5ILRIN.cc. 86400 IN NSEC3 1 1 0 - RQMIELD94LUROQ2ACBTAUSEKHALC67HE NS SOA RRSIG DNSKEY NSEC3PARAM
RQGAP5UF6Q1NGVCKFNO8RANVDN5ILRIN.cc. 86400 IN RRSIG NSEC3 8 2 86400 20210211140539 20210204140539 59995 cc. K/PcOxwPy8cIyxNHPA7mqmpp3cG+MpOUA+2TroE4bZigAyOTbMEEC3Gp vAJ8Z05t+tiRfAbr+X0XLcard0AKmbRNimxtF5baL8V62B/5D1DmC6Hw kT2ErKd9SrMbLLNwbg4jcedMKgqCBG+d4eU2w6dnr3UTAGaJZs4EsqVZ R7gRPfHFk/QL/yJMTK7Bd1CPuIvkPhoxSTpRDZG22lEl6A==
R1BKH0BK5AF54VF4RP01N575J6F2FT60.cc. 86400 IN NSEC3 1 1 0 - R1QTTGHSDJ7V58S01HG4SV31QFMCMB8A NS DS RRSIG
R1BKH0BK5AF54VF4RP01N575J6F2FT60.cc. 86400 IN RRSIG NSEC3 8 2 86400 20210211141138 20210204141138 59995 cc. NA0u08S24OxZiaC4AAGTeNqH76Vglo71gkBUWUsTukeEGJbXQ6P2VWUf 3p3OgwZQhkC0XJso08riLPK8S+hac+Wdgzw/IFPd+pC7QHmJaLprvhZy 2ZjeNe4cCkIOyHTaMVI95EKSgA0hCl/LNUunnXpke4zGv0lk738PqsOf Rqyii3lg3RjKL+/Y74wI6DXodz+VZpSPTZqehjGYA7JMDg==
;; Received 642 bytes from 192.42.174.30#53(ac2.nstld.com) in 236 ms
然后再从中随机选取一个ip地址192.42.174.30查看www.iculture.cc的A记录
www.iculture.cc. 600 IN A 39.106.66.45
;; Received 60 bytes from 140.205.81.15#53(dns13.hichina.com) in 36 ms
上面这么复杂的过程其实用下面这张图就可以很容易概括了
如果再细致划分一下的话,1、8步骤是递归查询,2、3、4、5、6、7是迭代查询
递归:客户端只发一次请求,要求对方给出最终结果。
迭代:客户端发出一次请求,对方如果没有授权回答,它就会返回一个能解答这个查询的其它名称服务器列表, 客户端会再向返回的列表中发出请求,直到找到最终负责所查域名的名称服务器,从它得到最终结果。
使用Wireshark进行分析
其实整体过程是一样的,只不过wireshark分析得看起来更直观一些,每一个请求都要详细的记录
第一个请求报文,是客户端192.168.137.128向本地dns服务器192.168.137.2发起根域名请求
第二个报文为响应报文,本地dns服务器192.168.137.2返回了13个根域名服务器
后面的基本上都是一样的迭代查询了
向dns server选取根域名的A记录
这里从b.到c.到…… 一直在进行query-response这种问答
直到第122行,a.root-servers.net这里选取了198.41.0.4,找到.cc上面的iculture.cc的IP地址198.41.0.4
接下来继续进行query-response这种问答,直到查到iculture.cc上面的www.iculture.cc对应的ns记录,最终找到其IP地址
暂无评论内容