目? 錄
1、實驗目的
2、實驗環境
3、實驗內容
3.1 查看和配置本機的DNS系統
3.2 DNS信息測量
3.3 DNS協議分析
4、實驗結果與分析
4.1 查看和配置本機的DNS系統
4.2 DNS信息測量
4.3 DNS協議分析
5、實驗小結
5.1 問題與解決辦法:
5.2 心得體會:
1、實驗目的
? ? ? ? 1、了解互聯網的域名結構、域名系統DNS及其域名服務器的基本概念
? ? ? ? 2、熟悉DNS協議及其報文基本組成、DNS域名解析原理
? ? ? ? 3、掌握常用DNS測量工具dig使用方法和DNS測量的基本技術
2、實驗環境
? ? ? ? 1、硬件要求:阿里云云主機ECS 一臺、筆記本電腦一臺
? ? ? ? 2、軟件要求:Linux/ Windows 操作系統
3、實驗內容
3.1 查看和配置本機的DNS系統
????????首先查看本機DNS服務器配置情況,其次增加一個DNS服務器:114.114.114.114或者8.8.8.8。
3.2 DNS信息測量
????????dig是著名的DNS軟件Bind提供的DNS分析和測量工具。Dig可以查詢DNS包括NS記錄,A記錄,MX記錄等相關信息的工具,利用它可以進行DNS測量和分析。
????????安裝dig命令并進行以下查詢和測量
dig www.xju.edu.cn
dig aaaa www.xju.edu.cn
dig cname www.sohu.com
dig www.xju.edu.cn @8.8.8.8
dig mx xju.edu.cn
dig ns xju.edu.cn @8.8.8.8
dig www.xju.edu.cn +trace 重要
dig edu.cn +dnssec @8.8.8.8 重要
dig edu.cn +dnssec @114.114.114.114 //解釋RRSIG作用
????????參考文獻:
https://www.isc.org/bind/
https://www.cnblogs.com/machangwei-8/p/10353216.html
yum install bind-utils
3.3 DNS協議分析
????????使用tcpdump抓取DNS查詢網絡通信數據包,利用wireshark分析UDP和DNS協議數據。
4、實驗結果與分析
4.1 查看和配置本機的DNS系統
????????1. 打開命令提示符后在搜索框中輸入“cmd”,右鍵選擇“以管理員身份運行”,然后輸入如下命令查看當前連接的網絡適配器的詳細信息,包括DNS服務器的配置情況。
ipconfig /all
????????2. 添加一個114.114.114.114的DNS服務器時輸入如下命令即可完成添加。
netsh interface ip add dns "本地連接" address=114.114.114.114
????????3. 添加一個8.8.8.8的DNS服務器時輸入如下命令即可完成添加。
netsh interface ip add dns "本地連接" address=8.8.8.8
????????4. 添加DNS服務器后,使用如下命令清除本地DNS緩存,以便立即使更改生效。
ipconfig /flushdns
4.2 DNS信息測量
????????1. 使用如下命令進行dig操作命令的下載,其中dig命令是在bind-utils里面的。
yum -y install bind-utils
????????2. 使用如下命令查詢www.xju.edu.cn的IP地址記錄(A記錄)以及其他相關信息。
dig www.xju.edu.cn
????????3. 使用如下命令查詢www.xju.edu.cn的IPv6地址記錄(AAAA記錄)以及相關信息。
dig aaaa www.xju.edu.cn
????????4. 使用如下命令查詢www.sohu.com的別名(CNAME記錄)以及相關信息。
dig cname www.sohu.com
????????5. 使用如下命令查詢www.xju.edu.cn的IP地址記錄(A記錄)以及其他相關信息,在此期間用GoogleDNS服務器(8.8.8.8)而不是本地DNS服務器進行查詢。
dig www.xju.edu.cn @8.8.8.8
????????6. 使用如下命令查詢xju.edu.cn域名的郵件交換器(MX記錄)以及相關信息。
dig mx xju.edu.cn
????????7. 使用如下命令查詢xju.edu.cn域名的名稱服務器(NS記錄)以及相關信息,并使用Google DNS服務器進行查詢。
dig ns xju.edu.cn @8.8.8.8
????????8. 使用如下命令顯示DNS解析www.xju.edu.cn的完整路徑。
dig www.xju.edu.cn +trace
????????9. 使用如下命令查詢edu.cn域名是否啟用DNSSEC(DNS安全擴展),以及使用Google DNS服務器進行查詢。
dig edu.cn +dnssec @8.8.8.8
????????10. 使用如下命令查詢edu.cn域名是否啟用DNSSEC(DNS安全擴展),以及使用114.114.114.114的DNS服務器進行查詢。
dig edu.cn +dnssec @114.114.114.114
4.3 DNS協議分析
????????1. 使用tcpdump命令抓取DNS查詢網絡的通信數據包,并通過如下命令將其保存到dns_query.pcap文件中。
sudo tcpdump -i eth0 port 53 -vvv -w dns_query.pcap
????????2. 使用wireshark打開保存的dns_query.pcap文件,并對數據包進行相關的操作。
????????3. 使用過濾器得到DNS數據包時在應用顯示過濾器輸入以下語句。
dns
????????4. 利用wireshark對抓取的DNS數據包的UDP協議數據進行分析,相關內容分析結果如下。
????????5. 利用wireshark對抓取的DNS數據包的DNS協議數據進行分析,相關內容分析結果如下。
5、實驗小結
5.1 問題與解決辦法:
????????1. 問題一:使用tcpdump進行數據包的抓取時出現如下提示此命令未找到:
解決方法:由于命令輸入錯誤導致,數據包的抓取命令為tcpdump,而不是tcpdnmp,將對應命令進行更改后錯誤消失。
????????2. 問題二:對指定網絡接口的數據包進行抓取時出現如下提示語法錯誤:
解決方法:由于命令鍵入不完整所導致,指定網絡接口所需要的參數是-i,在eth0前方添加-i后錯誤消失。
????????3. 問題三:使用tcpdump抓取所有的數據包時一直在抓取,不能夠自動停止抓包:
解決方法:使用Ctrl+c就可以終止運行的命令,進而就可以停止抓包。
????????4. 問題四:使用Wireshark對抓取的數據包進行過濾時出現如下提示輸入框出現紅色:
解決方法:由于過濾命令輸入錯誤,在過濾地址時使用ip.addr,將輸入內容中的id.addr改為ip.addr后紅色報錯消失。
????????5. 問題五:使用Wireshark對抓取的數據包進行多個條件同時成立過濾時出現如下提示輸入框出現紅色:
解決方法:由于多個條件同時成立時需要使用and進行連接,但是輸入命令時并沒有使用and進行連接所導致,在輸入內容中加入and后紅色報錯消失。
????????6. 問題六:使用Wireshark對抓取的數據包進行過濾時出現如下提示輸入框出現紅色:
解決方法:由于過濾命令對大小寫敏感導致輸入錯誤,在過濾DNS時使用DNS,將輸入內容中的DNS改為dns后紅色報錯消失。
????????7. 問題七:使用dig命令時出現如下提示此命令未找到:
解決方法:由于系統中沒有dig命令所導致,需要在使用此命令前通過 yum install dnf 以及 dnf install bind-utils 命令進行安裝。
5.2 心得體會:
????????1、DNS是互聯網基礎設施中非常重要的一組協議之一。
????????2、DNS的作用是將主機名映射到IP地址,是互聯網上所有網站能夠正常訪問的基礎。
????????3、在實際應用中,DNS數據過程的時間、可靠性和安全性都非常重要。
????????4、DNS緩存時間的設置可以影響到客戶端的響應時間。
????????5、DNS的可靠性問題可能會導致無法訪問某個網站。
????????6、DNS劫持則會對互聯網的安全性產生威脅。
????????7、DNS數據過程中的一些概念和術語,如域名、查詢類型、記錄類型等等,這些都需要了解并掌握。掌握好這些基礎知識,對于理解DNS數據過程的原理和實現方式會有很大的幫助。
????????8、Transaction ID:標識一個DNS請求/響應事務,通常由客戶端分配。在請求被響應時,該字段將被響應包中使用。
????????9、Flags:用于控制DNS消息的行為,包括查詢(Query)或響應(Response),以及遞歸查詢的支持狀態等。
????????10、Response:指明該消息是否是響應消息,1表示是響應消息,0表示是請求消息。
????????11、Opcode:指定DNS消息的操作類型,例如查詢,更新,通知等。
????????12、Truncated:指示響應消息是否被截斷,1表示被截斷,0表示未被截斷。
????????13、Recursion Desired:指定發出該請求的客戶端是否希望DNS服務器遞歸查詢以獲取響應,1表示希望遞歸查詢,0表示不希望。
????????14、Non-Authoritative Data:指示響應是否來自授權DNS服務器(Authoritative)還是緩存DNS服務器,1表示來自緩存DNS服務器,0表示來自授權DNS服務器。
????????15、Questions:指定DNS查詢請求中包含的問題數(即查詢的域名數量)。
????????16、Answer RRs:指定響應消息中包含的DNS資源記錄(Resource Record)的數量,這些資源記錄包含查詢結果的信息。
????????17、Authority RRs:指定響應消息中包含的DNS授權資源記錄的數量,這些記錄指示了下一個DNS服務器,以便完成查詢操作。
????????18、Additional RRs:指定響應消息中包含的額外資源記錄數,這些記錄中包含了有用的信息(如,DNS服務器的IP地址)。
????????19、Name:指Querys包含的域名(即DNS主機名或IP地址)。
????????20、Type:指DNS查詢請求中所使用的查詢類型,如,A、AAAA、MX、CNAME等。
????????21、Class:指DNS查詢請求中所使用的查詢類別,通常為Internet類別(即IN)。