當前位置:
首頁 > 最新 > 面試題24解析-詳談DNS域名解析過程

面試題24解析-詳談DNS域名解析過程

題目:描述一下DNS域名解析的過程?

前面的文章我們已經說過了,網站一般都是用B/S架構,統一使用應用層協議HTTP來進行數據交互,並且HTTP是無狀態的短連接。每一個請求後台都有一個業務邏輯相對應。下面,咱們來看一下B/S網路架構的設計,如圖所示:

我們可以從圖中發現,首先,DNS把域名解析成對應的ip地址,然後再根據ip地址找到對應的伺服器並發送GET請求,最終,伺服器將相應的資源返回到客服端。接下來,我們來分析一下DNS到底是怎麼進行解析的(紅框標註的) ?

1

域名解析的那幾種方式?

A記錄:用來指定域名對應的IP地址,A紀錄可以將多個域名解析到一個IP地址,但不能將一個域名解析到多個IP地址。

MX記錄:即Mail Exchange,它可以將域名下的郵箱伺服器指向自己的Mail Server。

CNAME記錄:即Canonical Name(別名解析),可以為一個域名設置一個或者多個別名。

NS記錄:為某個域名指定DNS解析伺服器,即該域名用指定的DNS伺服器去解析IP地址。

TXT記錄:為域名設置說明。

2

怎麼用工具查看域名解析過程?

在windows和linux環境,都可以用nslookup工具來查看解析結果,如圖所示:

在linux系統,也可以使用dig命令來查詢DNS的解析過程,如圖所示:

從上面我們可以清楚的看到整個域名是如何發起和解析的。從根域名(.)到gtld server (.com),再到Name Server(baidu.com.)的整個過程,我們可以發現baidu的dns備份伺服器有好幾個。

3

怎麼清除緩存的域名?

在windows環境,我們可以用ipconfig工具來處理,命令如下:

結果如圖所示:

在linux環境,我們可以用nscd工具來處理,命令 如下:

結果如圖所示:

4

JVM中DNS緩存設置

怎麼進行修改呢?

直接修改java.secury文件的默認值。

在JAVA啟動時加啟動參數 -Dsun.NET.inetaddress.ttl=XXX來修改默認值。

5

DNS域名解析詳細過程

主要請求過程實例圖如下所示:

下面,咱們結合圖來詳細聊聊它的請求流程:

首先,瀏覽器會檢查緩存中有沒有這個域名所對應的ip地址;如果有,整個解析過程就結束了;如果沒有,則會查找操作系統緩存中是否有這個域名對應的DNS解析結果。操作系統也可以通過改hosts文件來改變DNS解析過程。

操作系統會把域名發送到你系統設置的LDNS(本地區域伺服器)進行解析;如果沒有命中,直接向Root Server域名伺服器發送請求,根域名伺服器直接返回本地域名伺服器一個所查詢域的主域名伺服器(gTLD),如 .com/.cn/.org等;

本地域名伺服器再向上一步返回的gTLD伺服器發送請求,gTLD伺服器查找並返回該域名對應的Name Server域名伺服器地址,該Name Server通常是你註冊的域名伺服器;Name Server會查找域名和IP的映射表,並返回對應的IP和TTL;

Local DNS Server會緩存這個域名和IP的映射關係,緩存時間由TTL決定,並把解析結果返回給用戶,用戶的本地域名緩存時間也由TTL決定。

6

造成DNS域傳輸漏洞原因?

DNS區域傳送:指一台備用伺服器使用來自主伺服器的數據刷新自己的域資料庫。

一般只有在真的需要備用域名DNS伺服器的安全網路環境中才有必要使用DNS區域傳送,但是許多DNS伺服器卻被錯誤地配置成只要有client發出請求,就會向對方提供一個zone資料庫的詳細信息,造成這個漏洞的主要原因是:允許了不受信任的網路環境用戶執行DNS區域傳送(zone transfer)操作。

具體想知道怎麼進行利用這一漏洞的,請查看我朋友的的公眾號,它的公眾號類型主要以網路攻擊為主。傳送門

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java面試那些事兒 的精彩文章:

TAG:Java面試那些事兒 |

您可能感興趣

BAT2018秋招開發工程師最新面試題及解析
30道Spring面試題和答案
Google 經典面試題解析
Python經典面試題21道
Python 經典面試題 21 道
68道Spring面試題和答案
Python 爬蟲面試題 170 道
面試穩了!BATJ 等大廠 400+ 道面試題全匯總
2018年最常見的Python面試題&答案(上篇)
Swift面試題(1)
演算法和編程面試題精選 TOP50!(附代碼+解題思路+答案)
Python 爬蟲面試題 170 道:2019 版
2018年最常見的Python面試題&答案(中篇)
2019 Android 高級面試題總結
7道常見的數據分析面試題
最常見的 35個Python 面試題及答案
2019前端框架面試題 —— Round one
300道Python面試題,備戰春招!
75道常見AI面試題助你清掃知識盲點
演算法和編程面試題精選TOP50!