DNS報文分析


所查詢的網址為 login.live.com 。

首先是對查詢報文的分析

以太網幀頭部、IP報頭頭部和UDP頭部略去,從ID字段開始。

ID字段:ID字段就是對報文的一個編號,沒有太多的含義。

標識字段:格式如下,下方數字表示bit個數,

        對於本報文來說就是0x0100,即 0 0000 0 0 1 0 000 0000 . 

       QR:0表示查詢報文,1表示響應報文
       Opcode:通常值為0(標准查詢),其他值為1(反向查詢)和2(服務器狀態請求)
       AA:表示授權回答(authoritative answer)
       TC:表示可截斷的(truncated)
       RD:表示期望遞歸
       RA:表示可用遞歸
       隨后3bit為保留字段, 必須為0
       Rcode:返回碼,通常為0(沒有差錯)和3(名字差錯)

問題數:此例中為1

回復數:此例中為0,因為是查詢報文,自然沒有回復。

權威記錄個數:域名DNS分兩種,一種是權威域名服務器,域名注冊商的服務器都為權威域名服務器;另一種就是緩存DNS服務器,比如各地ISP上網設置的DNS服務器,它的作用主要是把域名解析結果緩存到本地,方便你查詢。還是因為是查詢報文,本例中也為0.

額外記錄個數:一些額外的記錄,具體是什么,我也不太清楚。本例為0,原因同上。

QNAME 地址字段:要查詢的網址。地址是變長的字符串,格式為第一個字節為長度,后跟字符,以0結尾。

查詢類型:此外為0001,表示為A類查詢。

協議組類型:0001表示網絡類型為Internet。

 

然后是對回復報文的分析

ID字段、標識字段、問題數、回復數、權威記錄個數、額外記錄個數等同上。

回復記錄:此處共回復了9個記錄,由回復數記錄可以看出來。地址字段 0xC0 開頭表示下一個字節表示在本報文中的偏移量。這也是為了消除冗余,減小報文長度。第一個回復中類型為 0x0005 ,表示類型為CNAME,相當於用子域名來代替ip地址。這樣做的優點是如果ip地址變化,只需要改動子域名的解析,而不需要逐一改變ip地址解析。回復的域名為 login.live.com.nsatc.net ,后面8個記錄都是這個域名的IP地址(一個域名對應幾個IP地址對這樣的大網站來說很平常)。

網絡類型同查詢報文中的一樣都是Internet。

TTL:Time To Live,生存時間,域名DNS的TTL值表示各地的DNS緩存服務器多久去你的權威域名解析服務器(NS)獲取一次你域名的解析IP。單位是分鍾。

Data Length:數據長度,表示本記錄從下個字節起還有多少字節。

返回數據:這就是我們想要的。一般為IP地址,但本記錄類型為CNAME,所以返回了一個域名,下面8個都是IP地址。

權威記錄:權威記錄、查詢、回答的格式都是一樣的。4條記錄的類型都是 0x0002 (表示類型為NS,對應於查詢中的A類型)。NS表示 Name Server,權威記錄回復的應該是本區域的權威域名服務器的域名(我也不是很確定)。

額外記錄:本例中回復的是權威域名服務器的IP地址。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM