導航:首頁 > IDC知識 > 域名解析過程和dns數據包分析

域名解析過程和dns數據包分析

發布時間:2021-02-12 04:14:04

1、簡述DNS進行域名解析的過程?

首先,客戶端發出DNS 請求翻譯IP 地址或主機名。DNS 伺服器在收到客戶機的請求後:
(1)檢查DNS 伺服器的緩存,若查到請求的地址或名字,即向客戶機發出應答信息;
(2)若沒有查到,則在資料庫中查找,若查到請求的地址或名字,即向客戶機發出應答信息;
(3)若沒有查到,則將請求發給根域DNS 伺服器,並依序從根域查找頂級域,由頂級查找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機所在網路的DNS伺服器發出應答信息,DNS 伺服器收到應答後現在緩存中存儲,然後,將解析結果發給客戶機。
(4)若沒有找到,則返回錯誤信息。
關於這個問題,你看懂了嗎?看不懂也沒事,可以去黑馬程序員學習,慢慢的就懂了哦!

2、舉例說明DNS三種解析方法的工作過程

● 指定的 DNS 域名,表示為完全合格的域名 (FQDN) 。

● 指定的查詢類型,它可根據類型指定資源記錄,或作為查詢操作的專門類型。

● DNS域名的指定類別。

對於DNS 伺服器,它始終應指定為 Internet 類別。例如,指定的名稱可以是計算機的完全合格的域名,如hosta.hello.company.com,並且指定的查詢類型用於通過該名稱搜索地址資 源記錄。系統將把DNS 查詢當作客戶機向伺服器提出的兩部分問題,如「對於名為 hostname.hello.company.com 的計算機,你有沒有地址資源記錄?」當客戶機從伺服器接收應答時,它讀取並解釋應答的地址資源記錄,以了解它通過名稱提問的計算機的 IP 地址。

DNS 查詢以各種不同的方式進行解析。客戶機有時也可通過使用從以前查詢獲得的緩存信息就地應答查詢。DNS 伺服器可使用其自身的資源記錄信息緩存來應答查詢,也可代表請求客戶機來查詢或聯系其他 DNS 伺服器,以完全解析該名稱,並隨後將應答返回至客戶機。這個過程稱為遞歸。

另外,客戶機自己也可嘗試聯系其他的 DNS 伺服器來解析名稱。如果客戶機這么做,它會使用基於伺服器應答的獨立和附加的查詢,該過程稱作迭代。

總之,DNS 的查詢過程按兩部分進行:首選,名稱查詢從客戶機開始並傳送至解析程序(DNS客戶服務)進行解析;其次,不能就地解析查詢時,可根據需要查詢DNS伺服器來解析名稱。DNS 查詢的過程如下圖所示。

如查詢過程的初始步驟所示,DNS 域名由本機的程序使用。該請求隨後傳送至 DNS 客戶服務,以通過使用就地緩存的信息進行解析。如果可以解析查詢的名稱,則查詢將被應答,並且此過程完成。其中,本地

解析程序的緩存可從以下2個可能的來源獲取名稱信息:

● 如果主機文件就地配置,則來自該文件的任何主機名稱到地址的映射都將在DNS 客戶服務啟動時預先載入到緩存中。

● 從以前DNS查詢應答的響應中獲取的資源記錄將被添加至緩存並保留一段時間。

如果此查詢不匹配緩存中的項目,則解析過程繼續進行,客戶機查詢 DNS 伺服器來解析名稱。

接下來查詢 DNS 伺服器,當本地的DNS不能就地解析查詢時,可根據需要查詢 DNS 伺服器來解析名稱。如圖4-1所示,客戶機將查詢首選 DNS 伺服器。在此過程中使用的實際伺服器是從全局列表中選擇的。當 DNS 伺服器接收到查詢時,首先檢查它能否根據在伺服器的就地配置區域中獲取的資源記錄信息作出權威性的應答。如果查詢的名稱與本地區域信息中的相應資源記錄匹 配,則伺服器作出權威性的應答,並且使用該信息來解析查詢的名稱。

如果查詢的名稱沒有區域信息,則伺服器檢查它能否通過本地緩存的先前查詢信息來解析名稱。如果從中發現匹配的信息,則伺服器使用它應答查詢。接著,如果首選伺服器可使用來自其緩存的肯定匹配響應來應答發出請求的客戶機,則此次查詢完成。

如果查詢名稱在首選伺服器中未發現來自緩存或區域信息的匹配應答,則查詢過程可繼續進行,使用遞歸來完全解析名稱,包括來自其他 DNS 伺服器的支持,以幫助解析名稱。在默認情況下,DNS 客戶服務要求伺服器在返回應答前使用遞歸過程來代表客戶機完全解析名稱。在大多數情況下,DNS 伺服器的默認配置支持遞歸過程,如下圖所示。

為了使 DNS 伺服器正確執行,首先需要在DNS 域名空間內存放其他DNS伺服器的一些有用的聯系信息。該信息以根線索的形式提供,它是記錄初步資源的一個列表,可用來定位一些 DNS 伺服器,這些伺服器對 DNS 域名空間樹的根具有絕對控制權。根伺服器對 DNS 域名空間樹中的根域和頂級域具有絕對控制權。DNS 伺服器可通過使用根線索搜索根伺服器來完成遞歸過程。

例如,當客戶機查詢單個DNS伺服器時,考慮使用遞歸過程來定位名稱 host.example.microsoft.com。此過程在 DNS 伺服器和客戶機首次啟動,並且沒有可幫助解析名稱查詢的當地緩存信息時進行。

首先,首選伺服器分析全名並確定對於頂級域com具有絕對控制權的伺服器的位置。隨後,對com DNS 伺服器使用迭代查詢,以獲取microsoft.com伺服器的參考信息。然後參考性應答從microsoft.com伺服器傳送到 example.microsoft.com的 DNS 伺服器。最後,與伺服器 example.microsoft.com 聯繫上。因為該伺服器包括作為其配置區域一部分的查詢名稱,所以,它向啟動遞歸的源伺服器作出權威性的應答。當源伺服器接收到表明已獲得對請求查詢的權威 性應答的響應時,它將此應答轉發給發出請求的客戶機,這樣,遞歸查詢過程就完成了。

在實際應用過程中可能會遇到DNS解析錯誤的問題,就是說當我們訪問一個域名時無法完成將其解析到IP地址的工作,而直接輸入網站IP卻可以正常訪問,這就是因為DNS解析出現故障造成的。這個現象發生的機率比較大,所以本文將從零起步教給各位讀者一些基本的排除DNS解析故障的方法。

一、什麼是DNS解析故障?

一般來說像我們訪問的www.163.com這些地址都叫做域名,而眾所周知網路中的任何一個主機都是IP地址來標識的,也就是說只有知道了這個站點的IP地址才能夠成功實現訪問操作。

不過由於IP地址信息不太好記憶,所以網路中出現了域名這個名字,在訪問時我們這需要輸入這個好記憶的域名即可,網路中會存在著自動將相應的域名解析成IP地址的伺服器,這就是DNS伺服器。能夠實現DNS解析功能的機器可以是自己的計算機也可以是網路中的一台計算機,不過當DNS解析出現錯誤,例如把一個域名解析成一個錯誤的IP地址,或者根本不知道某個域名對應的IP地址是什麼時,我們就無法通過域名訪問相應的站點了,這就是DNS解析故障。

出現DNS解析故障最大的症狀就是訪問站點對應的IP地址沒有問題,然而訪問他的域名就會出現錯誤。

二、如何解決DNS解析故障:

當我們的計算機出現了DNS解析故障後不要著急,解決的方法也很簡單。

(1)用nslookup來判斷是否真的是DNS解析故障:

要想百分之百判斷是否為DNS解析故障就需要通過系統自帶的NSLOOKUP來解決了。

第一步:確認自己的系統是windows 2000和windows xp以上操作系統,然後通過「開始->運行->輸入CMD」後回車進入命令行模式。

第二步:輸入nslookup命令後回車,將進入DNS解析查詢界面。

第三步:命令行窗口中會顯示出當前系統所使用的DNS伺服器地址,例如筆者的DNS伺服器IP為202.106.0.20。

第四步:接下來輸入你無法訪問的站點對應的域名。例如筆者輸入www.softer.com,假如不能訪問的話,那麼DNS解析應該是不能夠正常進行的。我們會收到DNS request timed out,timeout was 2 seconds的提示信息。這說明我們的計算機確實出現了DNS解析故障。

小提示:如果DNS解析正常的話,會反饋回正確的IP地址,例如筆者用www.sohu.com這個地址進行查詢解析,會得到name:sohu.com,addresses:61.135.133.103,61.135.133.104的信息。

2)查詢DNS伺服器工作是否正常:

這時候我們就要看看自己計算機使用的DNS地址是多少了,並且查詢他的運行情況。

第一步:確認自己的系統是windows 2000和windows xp以上操作系統,然後通過「開始->運行->輸入CMD」後回車進入命令行模式。

第二步:輸入ipconfig /all命令來查詢網路參數。

第三步:在ipconfig /all顯示信息中我們能夠看到一個地方寫著DNS SERVERS,這個就是我們的DNS伺服器地址。例如筆者的是202.106.0.20和202.106.46.151。從這個地址可以看出是個外網地址,如果使用外網DNS出現解析錯誤時,我們可以更換一個其他的DNS伺服器地址即可解決問題。

第四步:如果在DNS伺服器處顯示的是自己公司的內部網路地址,那麼說明你們公司的DNS解析工作是交給公司內部的DNS伺服器來完成的,這時我們需要檢查這個DNS伺服器,在DNS伺服器上進行nslookup操作看是否可以正常解析。解決DNS伺服器上的DNS服務故障,一般來說問題也能夠解決。

(3)清除DNS緩存信息法:

當計算機對域名訪問時並不是每次訪問都需要向DNS伺服器尋求幫助的,一般來說當解析工作完成一次後,該解析條目會保存在計算機的DNS緩存列表中,如果這時DNS解析出現更改變動的話,由於DNS緩存列表信息沒有改變,在計算機對該域名訪問時仍然不會連接DNS伺服器獲取最新解析信息,會根據自己計算機上保存的緩存對應關系來解析,這樣就會出現DNS解析故障。這時我們應該通過清除DNS緩存的命令來解決故障。

第一步:通過「開始->運行->輸入CMD」進入命令行模式。

第二步:在命令行模式中我們可以看到在ipconfig /?中有一個名為/flushdns的參數,這個就是清除DNS緩存信息的命令。

第三步:執行ipconfig /flushdns命令,當出現「successfully flushed the dns resolver cache」的提示時就說明當前計算機的緩存信息已經被成功清除。

第四步:接下來我們再訪問域名時,就會到DNS伺服器上獲取最新解析地址,再也不會出現因為以前的緩存造成解析錯誤故障了。

(4)修改HOSTS文件法:

修改HOSTS法就是把HOSTS文件中的DNS解析對應關系進行修改,從而實現正確解析的目的。因為在本地計算機訪問某域名時會首先查看本地系統中的HOSTS文件,HOSTS文件中的解析關系優先順序大於DNS伺服器上的解析關系。

這樣當我們希望把某個域名與某IP地址綁定的話,就可以通過在HOSTS文件中添加解析條目來實現。

第一步:通過「開始->搜索」,然後查找名叫hosts的文件。

第二步:當然對於已經知道他的路徑的讀者可以直接進入c:\windows\system32\drivers\etc目錄中找到HOSTS文件。如果你的系統是windows 2000,那麼應該到c:\winnt\system32\drivers\etc目錄中尋找。

第三步:雙擊HOSTS文件,然後選擇用「記事本」程序將其打開。

第四步:之後我們就會看到HOSTS文件的所有內容了,默認情況下只有一行內容「127.0.0.1 localhost」。(其他前面帶有#的行都不是真正的內容,只是幫助信息而已)

第五步:將你希望進行DNS解析的條目添加到HOSTS文件中,具體格式是先寫該域名對應的IP地址,然後空格接域名信息。例如筆者添加了「211.153.80.1 www.fte.gov.cn」與「10.82.0.1 www.fte.gov.cn」兩個條目。

第六步:設置完畢後我們訪問www.fte.gov.cn時就會自動根據是在內網還是外網來解析了。

三、總結:

通過上面介紹的四個步驟,我們就可以解決大部分DNS解析問題了,這幾個方法中前三個是循序漸進的一步步解決DNS解析故障,而最後一個修改HOSTS文件則是在實在沒有辦法的時候,一種權宜之計。當然不管是通過哪種方法,我們都可以解決因為DNS解析錯誤帶來的網路故障。

3、DNS解釋及域名解析的過程

DNS修改是指域名解析抄伺服器(Domain Name System)的修改。襲
如果您自己有獨立DNS伺服器,想通過此DNS解析己注冊成功的域名,您可選擇DNS修改業務。登陸會員區-域名服務-域名管理-點擊相應域名-DNS修改處修改您的域名DNS信息。
域名解析過程
第一步:客戶機提出域名解析請求,並將該請求發送給本地的域名伺服器。
第二步:當本地的域名伺服器收到請求後,就先查詢本地的緩存,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果返回。
第三步:如果本地的緩存中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域)的主域名伺服器的地址。
第四步:本地伺服器再向上一步返回的域名伺服器發送請求,然後接受請求的伺服器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址。
第五步:重復第四步,直到找到正確的紀錄。
第六步:本地域名伺服器把返回的結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。

4、簡述DNS進行域名解析的過程。

首先,客戶端發出DNS請求翻譯IP地址或主機名。DNS伺服器在收到客戶機的請求後:

(1)檢查DNS伺服器的緩存,若查到請求的地址或名字,即向客戶機發出應答信息;

(2)若沒有查到,則在資料庫中查找,若查到請求的地址或名字,即向客戶機發出應答信息;

(3)若沒有查到,則將請求發給根域DNS伺服器,並依序從根域查找頂級域,由頂級查找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機所在網路的DNS伺服器發出應答信息,DNS伺服器收到應答後現在緩存中存儲,然後,將解析結果發給客戶機。

(4)若沒有找到,則返回錯誤信息。更多內容請查看《Linux就該這么學》。

5、簡述DNS進行域名解析的過程

1、當客戶機提出查詢請求時,首先在本地計算機的緩存中查找。如果在本地無法獲得查詢信息,則將查詢請求發給DNS伺服器。

2、首先客戶機將域名查詢請求發送到本地DNS伺服器,當本地DNS伺服器接到查詢後,首先在該伺服器管理的區域的記錄中查找,如果找到該記錄,則利用此記錄進行解析;如果沒有區域信息可以滿足查詢要求,伺服器在本地的緩存中查找。

3、如果本地伺服器不能在本地找到客戶機查詢的信息,將客戶機請求發送到根域名DNS伺服器。

4、根域名伺服器負責解析客戶機請求的根域部分,它將包含下一級域名信息的DNS伺服器地址返回給客戶機的DNS伺服器地址。

5、客戶機的DNS伺服器利用根域名伺服器解析的地址訪問下一級DNS伺服器,得到再下一級域我的DNS伺服器地址。

6、按照上述遞歸方法逐級接近查詢目標,最後在有目標域名的DNS伺服器上找到相應IP地址信息。

7、客戶機的本地DNS伺服器將遞歸查詢結果返回客戶機。

8、客戶機利用從本地DNS伺服器查詢得到的IP訪問目標主機,就完成了一個解析過程。

6、dns的域名解析過程

你可以到這看看http://ke.baidu.com/view/1251150.html?tp=0_10

7、簡述DNS域名解析的過程,速回,謝謝

1.客戶機提出域名解析請求,並將該請求發送給本地的域名伺服器。
2.當本地的域名服內務器收到請求後容,就先查詢本地的緩存,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果返回。
3.如果本地的緩存中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域)的主域名伺服器的地址。
4.本地伺服器再向上一步返回的域名伺服器發送請求,然後接受請求的伺服器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址。
5.重復第四步,直到找到正確的紀錄。
6.本地域名伺服器把返回的結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。

8、寫出域名解析的過程和具體步驟。

1.客戶機提出域名解析請求,並將該請求發送給本地的域名伺服器。
2.當本地的域名伺服器收到請求後,就先查詢本地的緩存,如果有該紀錄項,則本地的域名伺服器就直接把查詢的結果返回。
3.如果本地的緩存中沒有該紀錄,則本地域名伺服器就直接把請求發給根域名伺服器,然後根域名伺服器再返回給本地域名伺服器一個所查詢域(根的子域)的主域名伺服器的地址。
4.本地伺服器再向上一步返回的域名伺服器發送請求,然後接受請求的伺服器查詢自己的緩存,如果沒有該紀錄,則返回相關的下級的域名伺服器的地址。
5.重復第四步,直到找到正確的紀錄。
6.本地域名伺服器把返回的結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。

與域名解析過程和dns數據包分析相關的知識