DNS協(xié)議分析實驗
吉 林 農(nóng) 業(yè) 大 學 實 驗 報 告姓名:李洪爽 學號:12145211 專業(yè):物聯(lián)網(wǎng)工程 第六次 2016年 5月 16 日實
吉 林 農(nóng) 業(yè) 大 學 實 驗 報 告
姓名:李洪爽 學號:12145211 專業(yè):物聯(lián)網(wǎng)工程 第
六次 2016年 5月 16 日
實驗七 DNS 協(xié)議分析
一、 實驗?zāi)康?/p>
1. 學會客戶端使用nslookup 命令進行域名解析。
2. 通過協(xié)議分析軟件掌握DNS 協(xié)議的報文格式。
二、 實驗原理
DNS 是域名系統(tǒng)(Domain Name System) 的縮寫,該系統(tǒng)用于命名組織到域?qū)哟谓Y(jié)構(gòu)中的計算機和網(wǎng)絡(luò)服務(wù)。域名是由圓點分開一串單詞或縮寫組成的,每一個域名都對應(yīng)一個惟一的IP 地址,在Internet 上域名與IP 地址之間是一一對應(yīng)的,DNS 就是進行域名解析的服務(wù)器
DNS 命名用于Internet 等TCP/IP網(wǎng)絡(luò)中,通過用戶友好的名稱查找計算機和服務(wù)。DNS 是因特網(wǎng)的一項核心服務(wù),它作為可以將域名和IP 地址相互映射的一個分布式數(shù)據(jù)庫而存在。
DNS 是一個分層級的分散式名稱對應(yīng)系統(tǒng),有點像電腦的目錄樹結(jié)構(gòu):在最頂端的是一個“root ”,然后其下分為好幾個基本類別名稱,如:com ﹑org ﹑edu 等;再下面是組織名稱,如:IBM ﹑Microsoft ﹑Intel 等;繼而是主機名稱,如:www ﹑mail ﹑ftp 等。 一個具體的 DNS 運作過程如下:
1. 當被詢問到有關(guān)本域名之內(nèi)的主機名稱的時候,DNS 服務(wù)器會直接做出回答;
2. 客戶端向服務(wù)器提出查詢項目;
3. 如果所查詢的主機名稱屬于其它域名的話,會檢查緩存(Cache),看看有沒有相關(guān)資料;
4. 如果沒有發(fā)現(xiàn),則會轉(zhuǎn)向 root 服務(wù)器查詢;
5. 然后 root 服務(wù)器會將該域名之下一層授權(quán)(authoritative)服務(wù)器的位置告知(可能會超過一臺) ;
6. 本地服務(wù)器然后會向其中的一臺服務(wù)器查詢,并將這些服務(wù)器名單存到緩存中,以備將來之需(省卻再向 root 查詢的步驟) ;
7. 遠方服務(wù)器回應(yīng)查詢;
8. 若該回應(yīng)并非最后一層的答案,則繼續(xù)往下一層查詢,直到獲得客戶端所需的結(jié)果為止;
9. 將查詢結(jié)果回應(yīng)給客戶端,并同時將結(jié)果儲存一個備份在自己的緩存里面; 10. 如果在存放時間尚未過時之前再接到相同的查詢,則以存放于緩存里的資料來做回應(yīng)。
從這個過程我們可以看出,沒有任何一臺 DNS 主機會包含所有域名的 DNS 資料,資料都是分散在全部的 DNS 服務(wù)器中。
,DNS 協(xié)議報文結(jié)構(gòu)
通過研究發(fā)現(xiàn),DNS 協(xié)議分成包頭和數(shù)據(jù)兩部分。如圖1所示,該報文由12字節(jié)的首部和4個長度可變的字段組成。
以下會詳細介紹個字段:
1. 標識
標識字段由客戶程序設(shè)置并有服務(wù)器返回結(jié)果,16位,在對應(yīng)的query 和response 報文中有著相同的ID ,可以在抓到的包中配對請求和應(yīng)答報文,提取相關(guān)信息,同時也可以根據(jù)他們的時間戳大致估計DNS 的相應(yīng)時間。
2. 標志
標志字段長16bit ,結(jié)構(gòu)如圖2所示:
QR 1 Opcode AA 1 TC 1 RD 1 RA 1 Zero 3 Rcode 4
QR :1bits 字段,0表示查詢報文,1表示響應(yīng)報文
Opcode :4bits 字段,通常值為0(標準查詢),其他值為1(反向查詢)和2(服務(wù)器狀態(tài)請求)
AA :1bits 標志表示授權(quán)回答(authoritive answer), 該名字服務(wù)器是授權(quán)于該領(lǐng)域的 TC :1bits 字段,表示可截(truncated ),使用UDP 時,它表示當應(yīng)答的總長度超過512字節(jié)時,只返回前512個字節(jié)
RD :1bits 字段,表示期望遞歸,該比特能在一個查詢中設(shè)置,并在一個響應(yīng)中返回,這個標志告訴名字服務(wù)器必須處理這個查詢,也稱為一個遞歸查詢,如果該位為0,且被請求的名字服務(wù)器沒有一個授權(quán)回答,它就返回一個能解答該查詢的其他名字服務(wù)器列表,這稱為迭代查詢(期望遞歸)
RA :1bits 字段,表示可用遞歸,如果名字服務(wù)器支持遞歸查詢,則在響應(yīng)中將該bit 置為1(可用遞歸)
zero :必須為0
rcode :是一個4bit 的返回碼字段,通常值為0(沒有差錯)和3(名字差錯),名字差錯只有從一個授權(quán)名字服務(wù)器上返回,它表示在查詢中指定的域名不存在
隨后的4個bit 字段說明最后4個變長字段中包含的條目數(shù),對于查詢報文,問題數(shù)通常是1,
,其他三項為0,類似的,對于應(yīng)答報文,回答數(shù)至少是1,剩余兩項可以使0或非0
5. DNS查詢報文中每個查詢問題的格式
0 16 31查詢名
查詢類型 查詢類
查詢名:要查找的名字
查詢類:通常值為1,表示是互聯(lián)網(wǎng)的地址,也就是IP 協(xié)議族的地址
查詢類型:有很多種查詢類型,一般最常用的查詢類型是A 類型(表示查找域名對應(yīng)的IP 地址)和PTR 類型(表示查找IP 地址對應(yīng)的域名)
查詢名為要查找的名字,它由一個或者多個標示符序列組成,每個標示符已首字符字節(jié)數(shù)的計數(shù)值來說明該表示符長度,每個名字以0結(jié)束,計數(shù)字節(jié)數(shù)必須是0~63之間,該字段無需填充字節(jié),如:
gemine.tuc.noao.edu
6. DNS響應(yīng)報文中的資源記錄格式:
域名:記錄中資源數(shù)據(jù)對應(yīng)的名字,它的格式和查詢名字段格式相同
類型:類型說明RR 的類型碼,類通常為1,指Internet 數(shù)據(jù)
生存時間:客戶程序保存該資源記錄的秒數(shù)
資源數(shù)據(jù)長度:說明后面資源數(shù)據(jù)的數(shù)量,該數(shù)據(jù)的格式依賴于類型字段的值,對于類1(A 記錄)記錄數(shù)據(jù)室4字節(jié)的IP 地址
資源數(shù)據(jù):服務(wù)器端返回給客戶端的記錄數(shù)據(jù)
Nslookup 是一個監(jiān)測網(wǎng)絡(luò)中DNS 服務(wù)器是否能夠正確實現(xiàn)域名解析的命令行工具。它在Windows NT/2000/XP中均可使用。本實驗通過nslookup 檢測服務(wù)器的配置,并利用協(xié)議分析Wireshark 捕獲分析nslookup 命令產(chǎn)生的DNS 數(shù)據(jù)包。
Nslookup 查詢命令格式為nslookup 域名,主要做兩個操作,一個是根據(jù)本地DNS 服務(wù)器的IP 地址獲得本地DNS 服務(wù)器的名字,二是根據(jù)輸入查詢的域名查找該域名的IP 地址。
三、實驗步驟
1. 打開Wireshark ,選擇工具欄上的“Capture”->“interfaces選擇網(wǎng)關(guān)”,截圖替換:
,2、然后在Wireshark ,選擇工具欄上的“Capture”->“optoins”選擇過濾器,并在capture filter 中輸入 udp port 53(表示
要抓dns 的包) ,截圖替換
3. 打開命令提示符,鍵入CMD 后,輸入nslookup . 截圖替換
,分析:
1)由此可知,本地域名服務(wù)器是:Cc-cache1-ibm
2)Ip 地址是:219.149.194.56
3)別名:www.google.com.DHCP
4) 分析抓到的DNS 的包,截圖:
第一幀
是 192.168.1.108 發(fā)送給本地DNS 服務(wù)器 219.149.194.56 的反向查詢?nèi)〉脠笪模糜讷@得本地DNS 服務(wù)器的名字。截圖并分析
:
,分析:
問題的個數(shù): 1 回答RR 個數(shù):0 權(quán)威域名RR 數(shù):0 附加RR 數(shù): 0 Type 為 :A
第二幀,截圖
,存活時間是:58
告訴查詢結(jié)果是:pub.idqqimg.com.tc.qq.com 第三幀 截圖
分析
是 192.168.1.108 (客戶端)發(fā)給 本地DNS 的請求報文:問域名為 地址219.149.194.56
第四幀截圖
告訴客戶端 36.49.31.15 (IP 地址) 沒 無權(quán)威域名服務(wù)器 對應(yīng)的ipv4地址有 一 個
四、實驗總結(jié)
加強對計算機網(wǎng)絡(luò)的認知
加強對實驗軟件的熟練程度
加強對相應(yīng)知識的了解