DNS是將域名解析為IP的一種技術(shù),在訪問網(wǎng)站的時(shí)候,瀏覽器會(huì)首先查詢?cè)撚蛎腄NS,目的是將該域名解析為IP,然后客戶端與服務(wù)器的IP進(jìn)行HTTP通信,也就是說客戶端與網(wǎng)站服務(wù)器間是通過IP來進(jìn)行數(shù)據(jù)交互的,但由于IP特別難以記憶,于是DNS就是為了將域名映射為IP而發(fā)明的,域名就相當(dāng)于IP的別名。
當(dāng)一個(gè)域名的解析過程,經(jīng)過域名所有者搭建的DNS的服務(wù)器時(shí),所有者將可以獲取到所有該域名解析時(shí)的請(qǐng)求者IP信息。
DNS泄露檢測(cè)網(wǎng)站的關(guān)鍵部分代碼:

該代碼是在每次訪問時(shí),生成一個(gè)子域名,隨后請(qǐng)求該子域名,在請(qǐng)求時(shí),會(huì)先對(duì)該子域名進(jìn)行DNS解析,而DNS解析會(huì)先經(jīng)過該域名的所有者的DNS服務(wù)器,域名所有者會(huì)將DNS解析時(shí)的來路IP與HTTP請(qǐng)求時(shí)的來路IP進(jìn)行分析,從而判斷是否使用了代理。
如下圖,當(dāng)沒有正確設(shè)置,DNS查詢沒有經(jīng)過設(shè)置的代理服務(wù)器時(shí),DNS的查詢過程就會(huì)按照走本機(jī)設(shè)置,到ISP的DNS服務(wù)器進(jìn)行查詢,檢測(cè)服務(wù)器發(fā)現(xiàn)DNS查詢來路國(guó)家/城市,與HTTP訪問的來路IP的國(guó)家/城市不屬于同一個(gè),則判斷為該客戶端使用了代理:

當(dāng)經(jīng)過正確設(shè)置,DNS查詢經(jīng)過代理服務(wù)器時(shí),DNS查詢和HTTP訪問,對(duì)于DNS服務(wù)器和HTTP服務(wù)器來說,所在地均是代理服務(wù)器的所在地,如下圖:

使用在線工具進(jìn)行檢測(cè):https://ipleak.net/

當(dāng)本機(jī)所在地區(qū)出現(xiàn)在檢測(cè)列表中時(shí),即表示DNS已經(jīng)泄漏。