最近在進行資訊收集的時候,嘗試漏洞挖掘時,使用了DNSlog外帶方法,發現自己對DNS該協議的理解比較淺,故今日發一篇對DNS協議詳解,加深自己對DNS的理解
如有不足和缺陷,望指正
?
?
0x01 什么是DNS?
DNS協議默認埠:TCP和UDP協議號的埠53
DNS是域名決議協議,基于TCP和UDP協議組的應用層協議,它在網路中起著"翻譯官的角色",
0x02 DNS協議的作用及機制
DNS協議是用來將域名決議轉換為IP地址(也可以將IP地址決議成對應的域名地址),一個公網IP對應一個域名,它作為將域名和IP地址相互映射的一個分布式資料庫,能夠使人們更方便地訪問互聯網
舉個例子:
我們現在訪問百度時,輸入網址"www.baidu.com" 我們就能進入"百度一下,就知道"的網頁

但是瀏覽器是不能直接識別域名的,域名的存在是為了用戶方便記憶而誕生的,
比如說我們訪問www.baidu.com 時,本機會先向本地DNS服務查詢發起遞回查詢,本地DNS服務器會向根DNS服務器,頂級域名 DNS 服務器;域名 DNS服務器發起迭代查詢,
從不同DNS服務器查詢的結果即為"www.baidu.com" 的IP地址,第一次查詢后,該IP地址會保存在本地DNS服務器的快取中,便于下一次的訪問,
那么有了這么一串IP地址,我們的電腦才能讀懂我們要訪問的網站,要去的地方,

0x03 DNS協議查詢內容分類:
■ 正向決議:
通過已知域名,訪問本地DNS服務器快取,決議IP地址,

由上圖可見我們ping "www.baidu.com" 的網址時,回傳了一個36.152.44.96的IP地址,這就是DNS協議的功勞,
當我們訪問百度首頁時,客戶端會向本地服務器發送查詢域名的請求,本地服務器則會通過訪問快取表或迭代查詢根、域名DNS服務器,去查詢該域名的決議記錄,并一層層回傳查詢結果至客戶端,
觀察這里的IP地址,百度的IP可以是很多個,但是真實IP只有一個,我們又可以衍生出另一個知識點:"CDN(內容分發網路)",這里我提個引子,放在下一章節來描述
■ 反向決議:
由上述正向決議可知,反向決議即為通過已知IP地址,訪問本地DNS服務器快取,決議域名,

此致,敬禮!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/494473.html
標籤:其他
下一篇:SQL注入漏洞篇
