《計算機網絡》實驗報告五 DNS協議分析與測量

目? 錄

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)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/89789.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/89789.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/89789.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python工廠方法模式詳解:從理論到實戰

一、工廠方法模式核心概念 工廠方法模式(Factory Method Pattern)是一種創建型設計模式,屬于經典23種設計模式之一。其核心思想是:定義一個創建對象的接口,但將具體對象的實例化過程延遲到子類中實現。這種模式通過引入…

python爬蟲獲取PDF

【前提:菜鳥學習的記錄過程,如果有不足之處,還請各位大佬大神們指教(感謝)】 1.方法一:網站找到目標數據【單篇PDF】 https://bidding.sinopec.com/tpfront/xxgg/004005/ 按F12,----檢查------…

IFN影視官網入口 - 4K影視在線看網站|網頁|打不開|下載

IFN影視是一個專注于影視內容的網站,提供電影、電視劇、綜藝等各類影視資源的在線觀看服務。該網站以用戶需求為導向,致力于為用戶提供高清、流暢的觀影體驗,并不斷更新內容以滿足不同用戶的觀看習慣和偏好。IFN影視的特色在于其內容豐富、分…

《計算機網絡》實驗報告四 TCP協議分析

目 錄 1、實驗目的 2、實驗環境 3、實驗內容 3.1 利用wget下載新疆大學主頁 3.2 使用wireshark分析TCP報文結構 3.3 使用wireshark分析建立連接的三次握手 3.4 使用wireshark分析釋放連接的四次揮手 4、實驗結果與分析 4.1 利用wget下載新疆大學主頁 4.2 使用wiresh…

知識 IP 的突圍:從 “靠感覺” 到 “系統 + AI” 的變現躍遷

越來越多的知識付費從業者陷入 “努力無成果” 的困局:做了內容、上了課程,卻沒人看、沒人買。核心問題不在于能力不足,而在于仍在用 “靠感覺” 的原始方式打造 IP。在流量內卷、節奏加快的當下,“內容情懷” 已撐不起一門生意&a…

4.Java創建對象有幾種方式?

1.使用 new 關鍵字(最常用)通過調用類的構造函數直接實例化對象Person person new Person(); // 調用無參構造 Person person new Person("Alice", 25); // 調用有參構造2.反射機制(動態創建)利用Java反射 API 在運行…

【好題】洛谷 P1600 [NOIP 2016 提高組] 天天愛跑步(倍增LCA+桶)

前言沒做出來,看了很多篇題解后AC了,感覺大部分題解講得不清楚。題目思路結果有兩種求法模擬跑步過程,統計每個節點能觀察到的人數考慮每條路徑會對哪些節點作出貢獻(當前路徑的玩家能被觀察到)嘗試第一種求法必須遍歷…

valkey之網絡管理架構深度解析

一、連接類型實現體系 valkey通過ConnectionType結構體構建了靈活的網絡連接抽象,支持多種連接類型的統一管理。每種連接類型都通過填充該結構體的函數指針來實現特定功能,形成了面向接口的設計模式。1.1 socket連接 Socket連接提供了最基礎的TCP/IP通信…

【解碼文本世界的“隱形分界線”:Windows與Linux回車換行之謎】

在計算機的文本世界里,回車(Carriage Return,CR)和換行(Line Feed,LF)是兩個看似簡單卻意義非凡的字符。它們如同文本中的“隱形分界線”,默默地劃分著段落與行,影響著文…

【Project】ELK 7.17.16 日志分析系統部署

ELK 日志分析系統集群部署 本文檔基于 Rocky Linux 9.4 系統,部署 ELK 7.17.16(長期支持版)集群 案例準備 1. 節點規劃IP主機名部署組件角色說明192.168.100.150kafka01Elasticsearch、Kibana主節點(master) 可視化192…

分布式定時任務系列13:死循環是任務觸發的銀彈?

傳送門 分布式定時任務系列1:XXL-job安裝 分布式定時任務系列2:XXL-job使用 分布式定時任務系列3:任務執行引擎設計 分布式定時任務系列4:任務執行引擎設計續 分布式定時任務系列5:XXL-job中blockingQueue的應用 …

Flutter基礎(前端教程①③-單例)

現實類比:公司打印機假設你們公司有一臺共享打印機:非單例(重復創建):每個員工都自己買一臺打印機放在工位上結果:浪費錢,占空間,難維護單例(唯一實例)&#…

力扣刷題 -- 965.單值二叉樹

題目示例: 思路分析代碼實現 bool isUnivalTree(struct TreeNode* root) {if(rootNULL){return true;}if(root->left && root->val ! root->left->val){return false;}if(root->right && root->val ! root->right->val){re…

uni-api交互反饋組件(showToast)的用法

歡迎來到我的UniApp技術專欄!🎉 在這里,我將與大家分享關于UniApp開發的實用技巧、最佳實踐和項目經驗。 專欄特色: 📱 跨平臺開發一站式解決方案 🚀 從入門到精通的完整學習路徑 💡 實戰項目經…

借助它,在Web3投資賽道搶占先機

隨著互聯網技術的飛速發展,Web3的概念逐漸成為科技圈和投資界的熱門話題。Web3代表著下一代互聯網的發展方向,它強調去中心化、用戶主權和數據隱私保護。在這一新興領域,如何借助Web3技術搶占投資先機,成為許多投資者關注的焦點。…

驗證大語言模型不會算數但可以編寫算數的程序

摘要:本文通過幾個實例測試了大語言模型在數學計算、排序、統計等方面的能力。結果顯示,對于簡單字符統計、排序等任務,大模型能正確生成實現代碼,但當數據區分度降低時容易出錯。在計算學生分數排名任務中,大模型生成…

概率論與數理統計(八)

參數估計 通過取樣本,并用樣本構造函數,達成估計分布函數參數的目的 矩估計法 本質:用樣本的各階矩代替總體的各階矩,即取: E(X)X ̄1n∑iXiE(X2)1n∑iXi2E(X)\overline{X}\dfrac{1}{n}\sum_i X_i\\ E(X^2)\dfrac{1}…

服務器后臺崩潰的原因

當我們雙十一活動零點拼命刷新卻卡在支付完頁面,游戲頁面等不進去,公司系統癱瘓全體員工干瞪眼,服務器崩潰絕對是數字時代中的酷刑!那服務器為什么會說崩就崩,用戶對于這種情況該如何進行避雷呢?服務器主要…

線程池與ThreadPoolExecutor源碼解析(上)

一、線程池線程池(ThreadPool)是一種線程復用的機制。它維護著若干個線程,任務來了就復用這些線程去執行,任務做完線程不會銷毀,而是回到池中等待下一個任務。為什么要用線程池?降低資源消耗:避…

Linux內核IP分片重組機制剖析:高效與安全的藝術

在IP網絡通信中,當數據包超過MTU限制時,路由器會將其拆分為多個分片。這些分片到達目標主機后,內核必須高效、安全地重組原始數據包。Linux內核的net/ipv4/inet_fragment.c實現了一套精妙的分片管理框架,完美平衡了性能和安全性需求。本文將深入剖析其設計哲學與關鍵技術。…