【協(xié)議分析】【DNS 域名服務(wù)協(xié)議】
命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店第五章 應(yīng)用層協(xié)議分析實驗十三 DNS域名服務(wù)協(xié)議【實驗?zāi)康摹?、理解DNS 實現(xiàn)的原理;2、了解DNS 解析的過程;3、掌握DNS 報文格式?!?/p>
命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
第五章 應(yīng)用層協(xié)議分析
實驗十三 DNS域名服務(wù)協(xié)議
【實驗?zāi)康摹?/p>
1、理解DNS 實現(xiàn)的原理;
2、了解DNS 解析的過程;
3、掌握DNS 報文格式。
【實驗學(xué)時】
4學(xué)時
【實驗環(huán)境】
本實驗要求實驗室主機能夠連接到Internet ,并可瀏覽網(wǎng)頁。
實驗拓撲如圖5- 37所示:

圖5- 37 實驗拓撲圖
【實驗內(nèi)容】
1、學(xué)習(xí)DNS 協(xié)議的原理和實現(xiàn)方法;
2、了解DNS 的工作過程;
3、通過編輯DNS 請求數(shù)據(jù)包,了解DNS 的報文格式;
4、掌握nslookup 命令和ipconfig 命令的使用方法。
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share# 系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com141
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
計算機網(wǎng)絡(luò)協(xié)議原理實驗教程
【實驗流程】



圖5- 38 實驗流程圖
【實驗原理】
DNS 域名系統(tǒng)是服務(wù)器和客戶程序相互通信的一種協(xié)議。它提供了主機域名和IP 地址之間的轉(zhuǎn)換。域名服務(wù)器使用固定的端口號53,支持UDP 和TCP 訪問。
DNS 協(xié)議
DNS 是域名系統(tǒng)(Domain Name System)的縮寫,它是一種用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫,它提供主機名字和I P地址之間的轉(zhuǎn)換及有關(guān)電子郵件的選路信息。所謂“分布式”是指在Internet 上的單個站點不能擁有所有的信息。每個站點(如大學(xué)中的系、校園、公司或公司中的部門)保留它自己的信息數(shù)據(jù)庫,并運行一個服務(wù)器程序供Internet 上的其他系統(tǒng)(客戶程序)查詢。
在Internet 中,域名可用來對某個組織或?qū)嶓w進行尋址。例如“www.sina.com”這個域名可用來對IP 地址為71.5.7.191的Internet 網(wǎng)點“sina.com”進行尋址,而特定的主機服務(wù)器名稱為“www”。域名中的“com”部分表明該組織或?qū)嶓w的性質(zhì),“sina”定義了該組織或?qū)嶓w。
而DNS 就像是一個自動的電話號碼簿,我們可以直接撥打某人的名字來代替他的電話號碼(IP 地址)。DNS 在我們直接呼叫網(wǎng)站的名字以后,就會將像www.sina.com 一樣便于142
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
第五章 應(yīng)用層協(xié)議分析
人類使用的名字轉(zhuǎn)化成像71.5.7.191一樣便于機器識別的IP 地址。
這個轉(zhuǎn)換工作稱為域名解析,域名解析需要由專門的域名解析服務(wù)器來完成,DNS 就是進行域名解析的服務(wù)器。它是一種分布式網(wǎng)絡(luò)目錄服務(wù),主要用于域名與 IP 地址的相互轉(zhuǎn)換,以及控制因特網(wǎng)的電子郵件的發(fā)送。大多數(shù)因特網(wǎng)服務(wù)依賴于 DNS 而工作,一旦 DNS 出錯,就無法連接 Web 站點,電子郵件的發(fā)送也會中止。
在 DNS 命名方式中,采用了分散和分層的機制來實現(xiàn)域名空間的委派授權(quán),以及域名與地址相轉(zhuǎn)換的授權(quán)。通過使用 DNS 的命名方式來為遍布全球的網(wǎng)絡(luò)設(shè)備分配域名,而這則是由分散在世界各地的服務(wù)器實現(xiàn)的。
命名系統(tǒng)是分層次的,域名樹是倒置的,它的根級顯示在最上方,分為若干頂級域(.com 、.net 、.edu 、.gov 、.org 等,以及200多個國家級的頂級域),這些域又被分成二級域,依此類推。它們由各自相應(yīng)的政府或私有實體管理。
DNS 的分布式機制支持有效且可靠的名字到 IP 地址的映射。多數(shù)名字可以在本地映射,不同站點的服務(wù)器相互合作能夠解決大網(wǎng)絡(luò)的名字與 IP 地址的映射問題。單個服務(wù)器的故障不會影響 DNS 的正確操作。
DNS 工作流程
域名服務(wù)分為客戶端和服務(wù)器端,客戶端提出請求,詢問一個Domain Name的IP 地址,服務(wù)器端必須回答客戶端的請求。本地DNS 首先查詢自己的數(shù)據(jù)庫,如果自己的數(shù)據(jù)庫中沒有對應(yīng)的IP 地址,則向本地DNS 上所設(shè)的上一級DNS 詢問,得到結(jié)果之后,將收到的結(jié)果保存在高速緩沖區(qū),并回答給客戶端。其簡單過程如圖5- 39所示:

圖5- 39 DNS的工作過程
在這個過程中,待查詢的域名放在查詢問題中,查詢結(jié)果放在回答的資源記錄中。
DNS 的報文格式
D NS定義了用于查詢和響應(yīng)的報文格式,圖5- 40是查詢和響應(yīng)報文的總體格式:
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com143
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
計算機網(wǎng)絡(luò)協(xié)議原理實驗教程

圖5- 40 DNS 總體報文格式
這個報文由1 2字節(jié)長的首部和4個長度可變的字段組成。
標(biāo)識字段由客戶程序設(shè)置并由服務(wù)器返回結(jié)果??蛻舫绦蛲ㄟ^它來確定響應(yīng)與查詢是否匹配。
16 bit的標(biāo)志字段被劃分為若干子字段,如圖5- 41所示:

圖5- 41 DNS 報文首部中的標(biāo)志字段
標(biāo)志中每一位的含義如下:
z QR:是1 bit字段,0表示查詢報文,1表示響應(yīng)報文。
z Opcode:報文類型,是一個4 bit字段,通常值為0(標(biāo)準(zhǔn)查詢),其他值為1(反
向查詢)和2(服務(wù)器狀態(tài)請求)。
z AA:是1 bit字段,表示“授權(quán)回答(authoritative answer)”,如果此位為1,表
示服務(wù)器對問題部分的回答是權(quán)威性的。
z TC:是1 bit字段,表示“可截斷的(truncated )”。使用UDP 時,它表示當(dāng)應(yīng)答
的總長度超過512字節(jié)時,只返回前512個字節(jié)。
z RD:是1 bit字段,表示“期望遞歸(recursion desired)”。該比特能在一個查詢
中設(shè)置,并在響應(yīng)中返回。這個標(biāo)志告訴名字服務(wù)器必須處理這個查詢,也稱為一個遞歸查詢。如果該位為0,且被請求的名字服務(wù)器沒有一個授權(quán)回答,它就返回一個能解答該查詢的其他名字服務(wù)器列表,這稱為迭代查詢。
z RA:是1 bit字段,表示“可用遞歸”。如果名字服務(wù)器支持遞歸查詢,則在響應(yīng)中
將該比特設(shè)置為1。
z Zero:隨后的3 bit字段必須為0。
。z Rcode:是一個4 bit的返回碼字段。通常的值為0(沒有差錯)和3(名字差錯)
144
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
第五章 應(yīng)用層協(xié)議分析
名字差錯只有從一個授權(quán)DNS 服務(wù)器上返回,它表示在查詢中制定的域名不存在。
隨后的4個16 bit 字段說明最后4個變長字段中包含的條目數(shù)。對于查詢報文,問題(question )數(shù)通常是1,而其他3項則均為0。類似地,對于應(yīng)答報文,回答數(shù)至少是1,剩下的兩項可以是0或非0。
圖5- 42是DNS 查詢報文中的查詢問題記錄部分的格式,通常只有一個問題:

圖5- 42 DNS查詢問題記錄格式
查詢名是要查找的名字,它是一個或多個標(biāo)識符的序列。每個標(biāo)識符以首字節(jié)的計數(shù)值來說明隨后標(biāo)識符的字節(jié)長度,每個名字以最后字節(jié)為0結(jié)束,長度為0的標(biāo)識符是根標(biāo)識符。計數(shù)字節(jié)的值必須是0 ~ 6 3的數(shù),因為標(biāo)識符的最大長度僅為6 3。
每個問題有一個查詢類型,而每個響應(yīng)(也稱一個答案或資源記錄)也有一個類型。大約有20個不同的類型值,其中的一些目前已經(jīng)過時,常見的值如下表:
表5-6 類型值列表 名 字 數(shù) 值 描 述
A 1 IP 地址
NS 2 名字服務(wù)器
CNAME 5 規(guī)范名稱
PTR 12 指針記錄
HINFO 13 主機信息
MX 15 郵件交換記錄
最常用的查詢類型是A 類型,表示期望獲得查詢名的IP 地址。一個PTR 查詢則請求獲得一個IP 地址對應(yīng)的域名。
查詢類通常是1,指互聯(lián)網(wǎng)地址(某些站點也支持其他非I P地址)。
DNS 報文中最后的三個字段,答案字段、權(quán)威答案字段和附加答案字段,均采用一種稱為資源記錄RR (Resource Record)的相同格式,圖5- 43是DNS 響應(yīng)報文中資源記錄的格式:
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com145
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
計算機網(wǎng)絡(luò)協(xié)議原理實驗教程

圖5- 43 DNS資源記錄的格式
z 域名:是記錄中資源數(shù)據(jù)對應(yīng)的名字。它的格式和前面介紹的查詢名字段格式相同。 z 類型:說明RR 的類型碼。它的值和前面介紹的查詢類型值是一樣的。
z 類:通常為1,指Internet 數(shù)據(jù)。
z 生存時間:該字段是客戶程序保留該資源記錄的秒數(shù)。資源記錄通常的生存時間值
為2天。
z 資源數(shù)據(jù)長度:說明資源數(shù)據(jù)的數(shù)量。該數(shù)據(jù)的格式依賴于類型字段的值。對于類
型1(A 記錄)資源數(shù)據(jù)是4字節(jié)的I P地址。
【實驗步驟】
步驟一:使用nslookup 工具解析域名,捕獲數(shù)據(jù)包并進行分析
1、在實驗主機上啟動網(wǎng)絡(luò)協(xié)議分析儀進行數(shù)據(jù)捕獲并設(shè)置過濾條件,在工具欄點擊“過濾器”按鈕,會彈出“設(shè)置&過濾器”對話框,在“過濾器類型”中選擇“類型過濾器”,類型值中選擇“DNS協(xié)議”,點擊“設(shè)置參數(shù)”按鈕后“確定”,開始進行數(shù)據(jù)包的捕獲:

圖5- 44 設(shè)置DNS 協(xié)議過濾器
146
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
第五章 應(yīng)用層協(xié)議分析
2、使用nslookup 工具進行域名的解析。
nslookup 命令是查詢域名對應(yīng)IP 的工具,其用法可以直接在Windows 系統(tǒng)的命令提示符下運行命令:nslookup 域名 來進行域名解析,例如:

圖5- 45 使用nslookup 工具(一)
也可以僅僅運行nslookup 命令(不需任何參數(shù)),進入nslookup 的交互界面,在“>”提示符后可以多次輸入不同的域名,以實現(xiàn)多次的查詢,例如可以在一次nslookup 的交互過程中,進行www.baidu.com 、 www.yahoo.com、 www.google.com 的查詢:

圖5- 46 使用nslookup 工具(二)
最后,可用“exit”命令退出nslookup 的交互狀態(tài)。
3、分析捕獲到的數(shù)據(jù)報文。
圖5- 47 是一個DNS 的查詢報文,從中可以看到,報文的標(biāo)識為10,問題數(shù)是1,答
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com147
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
計算機網(wǎng)絡(luò)協(xié)議原理實驗教程
案數(shù)、權(quán)威答案數(shù)、附加答案數(shù)都是0,而要查詢的域名是www.yahoo.com :

圖5- 47 DNS的查詢報文
圖5- 48 則是相應(yīng)的響應(yīng)報文,報文標(biāo)識同樣為10,指明這個響應(yīng)是針對哪一個查詢報文的,問題數(shù)是1,答案數(shù)是2,權(quán)威答案數(shù)和附加答案數(shù)都是0,并且對域名www.yahoo.com 的查詢結(jié)果是209.131.36.158:

圖5- 48 DNS的響應(yīng)報文
步驟二:使用ipconfig 命令查看DNS 緩存
1、繼續(xù)使用協(xié)議分析儀進行數(shù)據(jù)的捕獲,同時打開IE 瀏覽器,訪問www.baidu.com 、www.yahoo.com 、 www.google.com,觀察此時是否還有DNS 請求?
148
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
第五章 應(yīng)用層協(xié)議分析
2、關(guān)閉IE 瀏覽器后再重新打開,訪問一個尚未訪問過的網(wǎng)站,例如www.sohu.com ,觀察此時是否有DNS 請求?為什么?
3、在Windows 系統(tǒng)的命令提示符下運行:ipconfig /displaydns顯示本機緩沖區(qū)中的DNS 解析內(nèi)容,如圖5- 49所示:

圖5- 49 顯示本機的DNS 緩存
4、在Windows 系統(tǒng)的命令提示符下運行:ipconfig /flushdns,則可以清除本機的DNS 緩存記錄,如圖5- 50所示:

圖5- 50 清除本機的DNS 緩存
5、此時關(guān)閉IE 瀏覽器再打開,訪問剛才打開過的網(wǎng)站,觀察是否有DNS 請求?為什
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com149
,命運的改變從技術(shù)開始,學(xué)網(wǎng)絡(luò)技術(shù),就來網(wǎng)絡(luò)之路教程店
計算機網(wǎng)絡(luò)協(xié)議原理實驗教程
么?
步驟三:利用網(wǎng)絡(luò)協(xié)議編輯軟件編輯DNS 請求包
1、在主機上打開協(xié)議數(shù)據(jù)發(fā)生器,在工具欄上選擇“添加”,會彈出“網(wǎng)絡(luò)包模版”對話框,選擇“DNS協(xié)議模版”,建立一個DNS 數(shù)據(jù)報文:

圖5- 51 建立DNS 協(xié)議的查詢報文
2、填寫其中以太網(wǎng)幀頭、IP 首部、UDP 首部和DNS 報文的內(nèi)容:
z 填寫以太網(wǎng)協(xié)議首部信息:
? 目的物理地址:在地址本中查詢網(wǎng)關(guān)的IP 地址,確定后填入網(wǎng)關(guān)的MAC 地
址:00-D0-F8-B5-14-8C ;
? 源物理地址:填入實驗主機的MAC 地址:00-15-58-2F-7E-7E ;
? 類型或長度:該字段應(yīng)為0800(即IP 協(xié)議的類型值)。
z 填寫IP 協(xié)議頭信息:
? 總長度字段:包括UDP 段內(nèi)容的總長度,20 IP 8 UDP 30 DNS = 58; ? 標(biāo)識:可以任意填入,例如:0x2938;
? 高層協(xié)議字段:即上層協(xié)議類型為17(UDP 協(xié)議的類型為17);
? 發(fā)送IP 地址:在地址本中選擇本機的IP 地址:172.16.1.98;
? 目標(biāo)IP 地址:手工填入DNS 服務(wù)器的IP 地址:172.16.2.25;
? 點擊工具欄中的“校驗和”按鈕計算IP 頭校驗和。
z 填寫UDP 協(xié)議的各個字段信息:
? 16位源端口號:可按照捕獲DNS 數(shù)據(jù)報文的源端口號填入:1644;
? 16位目的端口號:53;
? UDP總長度:包括UDP 頭部和攜帶數(shù)據(jù)的總長度,8 UDP 30 DNS= 38; ? 校驗和:點擊工具欄中的“校驗和”按鈕計算UDP 校驗和。
150
更多資料分享:http://pan.baidu.com/share/home?uk=2084365290&view=share#
系統(tǒng)學(xué)習(xí): http://ccieh3c.taobao.com