通過(guò)域名,最終得到該域名對(duì)應(yīng)的IP地址的過(guò)程叫做域名解析(或主機(jī)名解析)。

為什么" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 建站知識(shí) > 一篇你看了就懂的DNS詳解

一篇你看了就懂的DNS詳解

時(shí)間:2023-02-04 08:12:01 | 來(lái)源:建站知識(shí)

時(shí)間:2023-02-04 08:12:01 來(lái)源:建站知識(shí)

DNS(Domain Name System,域名系統(tǒng)),萬(wàn)維網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使用戶更方便的訪問(wèn)互聯(lián)網(wǎng),而不用去記住IP。

通過(guò)域名,最終得到該域名對(duì)應(yīng)的IP地址的過(guò)程叫做域名解析(或主機(jī)名解析)。

為什么需要DNS解析域名為IP地址?

  首先計(jì)算機(jī)在網(wǎng)絡(luò)上通訊時(shí)只能識(shí)別IP地址(網(wǎng)絡(luò)通訊大部分是基于TCP/IP協(xié)議,而TCP/IP是基于IP地址的),比如我要在瀏覽器中訪問(wèn)百度的地址,我可以在地址欄直接輸入14.215.177.39就能訪問(wèn)到百度的首頁(yè)。但是我們無(wú)法記住更多的IP地址。那么域名就出現(xiàn)了,域名是由一串用”.”分隔的唯一名字。所以現(xiàn)在我們?cè)L問(wèn)網(wǎng)站的時(shí)候,就可以在瀏覽器地址欄中輸入域名(http://www.baidu.com),那么DNS就會(huì)把域名翻譯成IP,然后訪問(wèn)IP

域名

  域名按照從右到左的順序來(lái)劃分優(yōu)先等級(jí),最右邊的是最高級(jí)的根域,根域就是所謂的”.”,其實(shí)我們的域名http://www.baidu.com在配置當(dāng)中應(yīng)該是www.baidu.com.(最后有一個(gè)點(diǎn)),一般我們?cè)跒g覽器里輸入時(shí)會(huì)省略后面的點(diǎn)。接下來(lái)就是頂級(jí)域又稱一級(jí)域,一級(jí)域之后還有二級(jí)三級(jí)域。如何區(qū)分當(dāng)前域名是幾級(jí)域,可以參考域名中有幾個(gè)點(diǎn)來(lái)判斷(除了根域外),比如http://baidu.com就是個(gè)一級(jí)域,而http://www.baidu.com就是個(gè)二級(jí)域(它是在http://baidu.com這個(gè)域里面有一個(gè)叫做www的主機(jī))

每一層域都會(huì)有一堆域名(DNS)服務(wù)器,DNS服務(wù)器是能提供域名解析的服務(wù)器,記錄類型可以是A(address)記錄,NS(name server)記錄,MX(mail),CNAME等,這些記錄類型后續(xù)會(huì)一一介紹到。

這里有個(gè)知識(shí)點(diǎn),百科中說(shuō)全世界只有13臺(tái)根DNS服務(wù)器,但其實(shí)這是錯(cuò)誤的觀點(diǎn),根DNS服務(wù)器只有具體的13個(gè)IP地址,但機(jī)器的數(shù)量不止13臺(tái)。

  DNS服務(wù)器一般分三種,根DNS服務(wù)器,頂級(jí)DNS服務(wù)器,權(quán)威DNS服務(wù)器

 接下來(lái)會(huì)講到這些DNS服務(wù)器和我們今天說(shuō)的DNS解析有什么關(guān)系,在講述DNS解析流程前先要理解什么是本地DNS

  本地DNS一般是指你電腦上網(wǎng)時(shí)IPv4或者IPv6設(shè)置中填寫(xiě)的那個(gè)DNS。這個(gè)有可能是手工指定的或者是自動(dòng)分配的。

  如果你的電腦是直連運(yùn)營(yíng)商(ISP)網(wǎng)絡(luò),一般默認(rèn)設(shè)置情況下DNS為ISP的服務(wù)器地址。

  如果你的電腦和ISP之間還加了無(wú)線或者有線路由(一般的路由器本身還會(huì)內(nèi)置DNS轉(zhuǎn)發(fā)器),它的作用是將發(fā)往它所有的DNS請(qǐng)求轉(zhuǎn)發(fā)到上層DNS,但最終會(huì)轉(zhuǎn)發(fā)到ISP的DNS。

  如果手動(dòng)修改了DNS,比如改成8.8.8.8這樣的公用DNS服務(wù)器,那么指的就是這個(gè)服務(wù)器。

  本地DNS不是權(quán)威服務(wù)器,相當(dāng)于一個(gè)代理的DNS解析服務(wù)器,他會(huì)幫你迭代權(quán)威服務(wù)器返回的回答,然后把最終查到的IP返回給你。

  如下圖所示,就是之后我們講到的本地DNS服務(wù)器。

  1. 現(xiàn)在我有一臺(tái)電腦,在瀏覽器中輸入http://www.baidu.com域名,瀏覽器會(huì)從瀏覽器的DNS緩存中檢查是否有這個(gè)網(wǎng)址的映射關(guān)系,如果有,就返回IP,完成域名解析
  2. 如果沒(méi)有,操作系統(tǒng)會(huì)先檢查自己本地的hosts文件是否有這個(gè)網(wǎng)址的映射關(guān)系,如果有,就返回IP,完成域名解析。看到這里大家應(yīng)該都猜到了,有DNS的地方,就有緩存。瀏覽器、操作系統(tǒng)、本地DNS、根域名服務(wù)器,它們都會(huì)對(duì)DNS結(jié)果做一定程度的緩存。
  3. 如果還沒(méi)有,我的電腦就要向本地DNS服務(wù)器發(fā)起請(qǐng)求查詢http://www.baidu.com這個(gè)域名。
  4. 本地DNS服務(wù)器拿到請(qǐng)求后,先檢查一下自己的緩存中有沒(méi)有這個(gè)地址,有的話直接返回。這個(gè)時(shí)候拿到的IP地址,會(huì)被標(biāo)記為非權(quán)威服務(wù)器的應(yīng)答
  5. 如果本地DNS服務(wù)器的緩存中沒(méi)有的話,本地DNS服務(wù)器會(huì)從配置文件中讀取13個(gè)根DNS服務(wù)器的地址,然后向其中一臺(tái)發(fā)起請(qǐng)求
  6. 根DNS服務(wù)器拿到請(qǐng)求后,知道他是com.這個(gè)頂級(jí)域名下的,所以會(huì)返回com域名中的NS記錄(用來(lái)表明哪臺(tái)服務(wù)器對(duì)該域名進(jìn)行解析),其實(shí)就是一個(gè)IP(com對(duì)應(yīng)的服務(wù)器IP)
  7. 本地DNS服務(wù)器根據(jù)返回的IP(com DNS服務(wù)器)發(fā)起請(qǐng)求,com DNS服務(wù)器發(fā)現(xiàn)你這請(qǐng)求的是http://baidu.com這個(gè)域,查到這個(gè)域的NS記錄,然后返回IP(http://baidu.com
  8. 本地DNS服務(wù)器在根據(jù)IP(http://baidu.com DNS服務(wù)器)訪問(wèn)這些權(quán)威服務(wù)器,http://baidu.com服務(wù)器在A記錄(正向解析記錄,域名到IP地址的映射)中查找到http://www.baidu.com的IP地址,返回IP(http://www.baidu.com
  9. 最終本地DNS服務(wù)器拿到用戶想訪問(wèn)的http://www.baidu.com的IP,返回給客戶端,并進(jìn)行緩存操作,以便下次使用。
看上面的圖,再理解一遍:

瀏覽器:@瀏覽器緩存,你知道http://www.baidu.com對(duì)應(yīng)的IP么?

瀏覽器緩存:知道,是xxxx

瀏覽器:好的,我去訪問(wèn)啦!

瀏覽器緩存:不知道

瀏覽器:@系統(tǒng)緩存,你知道http://www.baidu.com對(duì)應(yīng)的IP么?

系統(tǒng)緩存:我看下hosts哦,找到了,是xxxx

瀏覽器:好的,我去訪問(wèn)啦~

系統(tǒng)緩存:我看下hosts哦,哎呀?jīng)]有找到哎

瀏覽器:好的,我無(wú)能為力了,@客戶機(jī)想想辦法

客戶機(jī):我去問(wèn)問(wèn)@本地DNS服務(wù)器,你知道http://www.baidu.com對(duì)應(yīng)的IP么?

本地DNS服務(wù)器:我去DNS服務(wù)器緩存中找找,找到了,是xxxx

客戶機(jī):@瀏覽器,是xxxx,你去訪問(wèn)吧

   瀏覽器:好的,我去訪問(wèn)啦#

本地DNS服務(wù)器:我去DNS服務(wù)器緩存中找找,哎呀?jīng)]有找到哎

本地DNS服務(wù)器:想個(gè)辦法,先去找大哥@根DNS服務(wù)器,你知道http://www.baidu.com對(duì)應(yīng)的IP么?

根DNS服務(wù)器:我知道com DNS服務(wù)器的IP,你叫他給你查

本地DNS服務(wù)器:好的,@com DNS服務(wù)器,你知道http://www.baidu.com對(duì)應(yīng)的IP么?

com DNS服務(wù)器:我知道http://baidu.com DNS服務(wù)器的IP,你叫他給你查

本地DNS服務(wù)器:怎么開(kāi)始踢皮球了,@http://baidu.com DNS服務(wù)器,你知道http://www.baidu.com對(duì)應(yīng)的IP么?

http://baidu.com DNS服務(wù)器:我這里查到了,IP是xxxx

本地DNS服務(wù)器:太開(kāi)心了@客戶機(jī)IP是xxxx。這么麻煩,先記到DNS服務(wù)器緩存,免得下次又這么折騰。

客戶機(jī):@瀏覽器 IP是xxxx

瀏覽器:好的,我去訪問(wèn)啦

  上面就把正常的DNS解析流程講解完畢了,其中有提到的迭代查詢,在整個(gè)DNS解析過(guò)程中會(huì)存在遞歸查詢過(guò)程和迭代查詢過(guò)程。

學(xué)習(xí)地址:Dpdk/網(wǎng)絡(luò)協(xié)議棧/vpp/OvS/DDos/NFV/虛擬化/高性能專家 (更多DPDK學(xué)習(xí)資料有需要的可以自行報(bào)名學(xué)習(xí),免費(fèi)訂閱,永久學(xué)習(xí))也可以點(diǎn)擊這里加Q群免費(fèi)領(lǐng)取,關(guān)注我持續(xù)更新哦!!

相關(guān)視頻推薦
dpdk高性能數(shù)據(jù)處理框架/netmap/協(xié)議棧/硬件/零拷貝/柔性數(shù)組/vhost/virtio/虛擬化/網(wǎng)卡/內(nèi)核
tcp是如何一層一層封裝出來(lái)的(一)/udp/ether/源碼/協(xié)議棧/dpdk/spdk/vpp/柔性數(shù)組/網(wǎng)卡/內(nèi)核驅(qū)動(dòng)/ovs/虛擬化
  我的電腦向本地DNS服務(wù)器的查詢一般都是采用遞歸查詢

  本地DNS服務(wù)器向其他DNS服務(wù)器的查詢是迭代查詢

總結(jié)下就是發(fā)起查詢的機(jī)器改變了就是遞歸查詢,反之,發(fā)起查詢的機(jī)器不變就是迭代查詢。

DNS解析過(guò)程中解釋了DNS服務(wù)器記錄中的NS記錄和A記錄,那么接下來(lái)就看下DNS服務(wù)器中的這些記錄的作用

其實(shí)在上面DNS解析http://www.baidu.com域名的時(shí)候,在實(shí)際操作中就有遇到CNAME記錄。

當(dāng)我們向http://baidu.com請(qǐng)求http://www.baidu.com的時(shí)候,返回了一個(gè)別名http://www.a.shifen.com

一般解析過(guò)程中遇到CNAME,查詢會(huì)終止,重新向根DNS服務(wù)器發(fā)起查詢別名的請(qǐng)求,最終返回給電腦http://www.baidu.com 的CNAME以及別名的IP。

以上所有流程可以使用nslookup或dig(linux自帶,windows可裝)命令查詢驗(yàn)證

DNS劫持

  DNS決定的是我們的域名將解析到哪一個(gè)IP地址的記錄,是基于UDP協(xié)議的一種應(yīng)用層協(xié)議。這種攻擊的前提是攻擊者掌控了你的本地DNS服務(wù)器

攻擊者劫持了DNS服務(wù)器,通過(guò)某些手段取得某域名的解析記錄控制權(quán),進(jìn)而修改此域名的解析結(jié)果,導(dǎo)致用戶對(duì)該域名地址進(jìn)行訪問(wèn)的時(shí)候,由原來(lái)的IP地址轉(zhuǎn)入到修改后的IP地址。結(jié)果就是讓正確的網(wǎng)址不能解析或者是被解析到另一個(gè)網(wǎng)址的IP,實(shí)現(xiàn)獲取用戶資料或者破壞原有網(wǎng)址正常服務(wù)的目的。

  原理如下圖所示:

由于域名劫持往往只能在特定的被劫持的網(wǎng)絡(luò)范圍內(nèi)進(jìn)行,所以在此范圍外的DNS服務(wù)器能夠返回正常的IP地址,或者修改DNS以及直接IP訪問(wèn)。

一般而言,用戶上網(wǎng)的DNS服務(wù)器都是運(yùn)營(yíng)商分配的,所以在這個(gè)節(jié)點(diǎn)上,運(yùn)營(yíng)商可以做一些事情,比如,你去訪問(wèn)http://www.a.com,正常DNS應(yīng)該返回10.0.0.1,而運(yùn)營(yíng)商劫持后,會(huì)返回一個(gè)運(yùn)營(yíng)商的中間服務(wù)器IP,訪問(wèn)該服務(wù)器會(huì)一致性的返回302(暫時(shí)重定向),讓用戶瀏覽器跳轉(zhuǎn)到預(yù)處理好的帶廣告的網(wǎng)頁(yè),在該網(wǎng)頁(yè)中再通過(guò)iframe打開(kāi)用戶原先訪問(wèn)的地址。

DNS污染

  又稱域名服務(wù)器緩存投毒(DNS cache poisoning),它和DNS劫持的不同之處,在于污染針對(duì)的是DNS緩存,是在查詢信息到達(dá)目標(biāo)DNS服務(wù)器前,經(jīng)過(guò)的節(jié)點(diǎn)上做手腳,而劫持是DNS服務(wù)器中記錄的是錯(cuò)誤的內(nèi)容。

總結(jié)下就是DNS劫持是修改DNS服務(wù)器,DNS污染是修改DNS緩存。

  看下圖舉個(gè)例子:對(duì)于GFW來(lái)說(shuō),DNS劫持用于國(guó)內(nèi)服務(wù)器,因?yàn)榭梢孕薷姆?wù)器中的DNS記錄,而對(duì)于國(guó)外服務(wù)器GFW無(wú)法更改其內(nèi)容,故采用DNS污染的方式篡改用戶收到的信息。其中的過(guò)程是,當(dāng)你向國(guó)外DNS服務(wù)器查詢DNS記錄時(shí),這些流量走到國(guó)際出口帶寬的時(shí)候會(huì)遇到GFW的關(guān)鍵字審查,如果上了黑名單,GFW會(huì)立即向你返回一個(gè)虛假的DNS記錄。上面也說(shuō)到DNS走的是UDP協(xié)議,加上DNS查詢結(jié)果只認(rèn)最快返回的,所以一定是先收到了GFW給你返回的虛假DNS記錄,就算馬上你收到了真正的來(lái)自國(guó)外DNS的回復(fù),也會(huì)被你的系統(tǒng)無(wú)視掉。這種攻擊也被稱為中間人攻擊。

原文鏈接:https://www.cnblogs.com/anyhoo/p/10369589.html



關(guān)鍵詞:

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉