來說說DNS解析

2021-09-17 05:55:14 字數 2392 閱讀 4619

dns(domain name system,網域名稱系統),網際網路上作為網域名稱和ip位址相互對映的乙個分布式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的ip數串。通過主機名,最終得到該主機名對應的ip位址的過程叫做網域名稱解析(或主機名解析)。dns協議執行在udp協議之上,使用埠號53。在rfc文件中rfc 2181對dns有規範說明,rfc 2136對dns的動態更新進行說明,rfc 2308對dns查詢的反向快取進行說明。

通常 internet 主機網域名稱的一般結構為:主機名.**網域名稱.二級網域名稱.頂級網域名稱。 internet 的頂級網域名稱由 internet網路協會網域名稱註冊查詢負責網路位址分配的委員會進行登記和管理,它還為 internet的每一台主機分配唯一的 ip 位址。全世界現有三個大的網路資訊中心: 位於美國的 inter-nic,負責美國及其他地區; 位於荷蘭的ripe-nic,負責歐洲地區;位於日本的apnic ,負責亞太地區 。

我們可以將網域名稱系統理解為乙個有多個層級的樹,根節點叫做根域,在根域下面是根據行業性質或者國家地區劃分的頂級域,每個域都會有網域名稱伺服器,也叫權威網域名稱伺服器。在頂級域下還會有各種二級域、**域。大概的結構如圖:

網域名稱解析是把網域名稱指向**空間ip,讓人們通過註冊的網域名稱可以方便地訪問到**的一種服務。ip位址是網路上標識站點的數字位址,為了方便記憶,採用網域名稱來代替ip位址標識站點位址。網域名稱解析就是網域名稱到ip位址的轉換過程。網域名稱的解析工作由dns伺服器完成。

mx記錄:郵件交換記錄

ns記錄:解析伺服器記錄,用來表明哪台伺服器對該網域名稱進行解析。這裡的ns記錄支隊自網域名稱生效

當我們在瀏覽器輸入乙個位址過後(或者瀏覽器自動的向我們指令碼或其他資源發起請求過後),瀏覽器所發出的請求通常只是一串網域名稱+資源路徑組成的字串,需要由作業系統幫助完成dns解析的過程。

大概的流程:

作業系統檢查自身本地的hosts檔案是否有這個**的對映關係,如果有,直接返回完成網域名稱解析

如果hosts檔案沒有這個網域名稱對映,則查詢本地dns解析器快取,如果有對映關係則完成網域名稱解析

如果hosts和本地dns快取都沒有對映關係,則查詢tcp/ip中的首選dns伺服器(本地dns伺服器),收到查詢時,如果查詢的資源在本地配置區域中,則返回解析位址給客戶機,完成網域名稱解析。

如果不在本地dns伺服器區域解析,但是該伺服器快取了相關的資訊,則從快取中呼叫這個對映關係,完成解析,但是這個解析不具備權威性

如果使用了**模式,此dns伺服器會把請求**至上一級dns伺服器,由上一級伺服器進行解析如果也不能解析則繼續**到上機,知道找到能夠解析的伺服器。

流程圖:

dns劫持又稱網域名稱劫持,是指在劫持的網路範圍內攔截網域名稱解析的請求,分析請求的網域名稱,把審查範圍以外的請求放行,否則返回假的ip位址或者什麼都不做使請求失去響應,其效果就是對特定的網路不能反應或訪問的是假**。

dns(網域名稱系統)的作用是把網路位址(網域名稱,以乙個字串的形式)對應到真實的計算機能夠識別的網路位址(ip位址),以便計算機能夠進一步通訊,傳遞**和內容等。由於網域名稱劫持往往只能在特定的被劫持的網路範圍內進行,所以在此範圍外的網域名稱伺服器(dns)能夠返回正常的ip位址,高階使用者可以在網路設定把dns指向這些正常的網域名稱伺服器以實現對**的正常訪問。所以網域名稱劫持通常相伴的措施——封鎖正常dns的ip。

https(全稱:hyper text transfer protocol over secure socket layer),是以安全為目標的http通道,簡單講是http的安全版。即http下加入ssl層,https的安全基礎是ssl,因此加密的詳細內容就需要ssl。 它是乙個uri scheme(抽象識別符號體系),句法類同http:體系。用於安全的http資料傳輸。https:url表明它使用了http,但https存在不同於http的預設埠及乙個加密/身份驗證層(在http與tcp之間)。

在ssl握手階段,客戶端瀏覽器會認證伺服器的身份,這是通過「證書」來實現的,證書由證書權威(ca)為某個網域名稱簽發,可以理解為**的身份證件,客戶端需要對這個證件進行認證,需要確定該證書是否屬於目標**並確認證書本身是否有效。最後在握手階段,通訊的雙方還會協商出乙個用於加密和解密的會話金鑰。

ssl握手階段結束之後,伺服器和客戶端使用協商出的會話金鑰對互動的資料進行加密/解密操作,對於http協議來說,就是將http請求和應答經過加密之後再傳送到網路上。

由此可見,因為ssl協議提供了對伺服器的身份認證,所以dns劫持導致連線錯誤伺服器的情況將會被發現進而終止連線,最終導致dns挾持攻擊無法實現。此外ssl協議還提供資料的加密和完整性校驗,這就解決了關鍵資訊被嗅探以及資料內容被修改的可能。

今天來說說ADB

簡單介紹下adb adb全稱android debug bridge,是android sdk裡的乙個工具,用這個工具可以直接操作管理android模擬器或者真實的andriod裝置 如g1手機 它的主要功能有 然後我們來配置下adb的環境變數 1 在系統變數中新建android hmoe變數,賦值...

我也來說說多核

究竟普通開發者是否需要面對多核,這個問題在很多地方都在討論。很多人都認為不需要,這樣說是基於過去幾年的經驗,認為目前的一般應用單核高速cpu已經足以應付,今後也沒有新的重要應用驅動我們使用多核cpu,多核cpu要麼是廠商狗急跳牆,要麼是僅供科研計算,謝絕參觀。看完myan的這篇,我也來說說 說多核無...

來說說wow魔獸地形

沒有辦法wow太經典,當自己碰到問題的時候再回頭研究wow發現wow盡然沒有問題,暴雪的遊戲製作經驗讓wow一開始就設計的如此講究,不得不感嘆國內遊戲同世界設計方面的差異。由於沒有wow的源 所有的分析想法都來自與wowmapview這個開源的wow地圖察看器,wowmapview的 寫的很凌亂,但...