中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用DNSCrypt解決DNS污染問題

發布時間:2020-09-27 14:33:22 來源:網絡 閱讀:6316 作者:2012hjtwyf 欄目:建站服務器


前言

在開始寫這篇文章之前,先要普及一個知識中國長城防火墻(英文名:Great Firewall of China)好偉大的樣子,是XX專門用來對網民進行網絡封鎖,閉關鎖國的的工具。最近一批google.com, youtube.com, facebook.com, dropbox.com等一批國外知名網站,均無法正常訪問,就是拜其所賜。它所實現的主要屏蔽技術有IP封鎖,關鍵字過濾,域名劫持與污染以及HTTPS證書過濾四種。本文主要通過dnscrypt技術反其dns劫持與污染。

先了解一下什么是DNS劫持和DNS污染,其實兩者并不是一個概念。大家都知道主機之間的通信通過ip來標識對方主機,但是IP不容易記憶,后來提出了域名的概念,比如www.baidu.com, 域名與IP之間就是通過DNS解析聯系起來,實現了域名與IP之間的映射。這份映射關系存儲在DNS服務器上。

什么是DNS劫持

DNS劫持一般發生在某些網絡運營商身上,DNS劫持就是劫持了DNS服務器,獲取DNS服務器的控制權。通過某些手段修改這些域名的目的解析IP地址。DNS劫持通過篡改DNS服務器上的數據,給用戶返回一個錯誤的查詢結果來實現的。

DNS劫持癥狀:在某些地區的用戶在成功連接寬帶后,首次打開任何頁面都指向ISP提供的“電信互聯星空”、“網通黃頁廣告”等內容頁面。還有就是曾經出現過用戶訪問Google域名的時候出現了百度的網站。這些都屬于DNS劫持

應對DNS劫持,只需要在網絡配置中把DNS服務器地址配置成國外的DNS服務器地址就可以解決,比如谷歌提供的DNS服務器地址:8.8.8.8 8.8.4.4

什么是DNS污染

DNS污染是一種讓一般用戶由于得到虛假目標主機IP而不能與其通信的方法,是一種DNS緩存投毒***(DNS cache poisoning)。其工作方式是:由于通常的DNS查詢沒有任何認證機制,而且DNS查詢通常基于的UDP是無連接不可靠的協議,因此DNS的查詢非常容易被篡改,通過對UDP端口53上的DNS查詢進行***檢測,一經發現與關鍵詞相匹配的請求則立即偽裝成目標域名的解析服務器(NS,Name Server)給查詢者返回虛假結果。

DNS污染癥狀:目前一些被禁止訪問的網站很多就是通過DNS污染實現的,例如YouTube、Facebook、DropBox等網站。

對于DNS污染,普通用戶是不能夠通過簡單地設置國外DNS服務器就能解決的。需要用到這篇所講的重點:DnsCrypt-proxy,我通過這種方式解決了對Dropbox的訪問封鎖。

先看下谷歌DNS服務器(8.8.8.8)對www.dropbox.com的解析情況

使用DNSCrypt解決DNS污染問題

電信DNS服務器(114.114.114.114)對www.dropbox.com的解析情況

使用DNSCrypt解決DNS污染問題

www.dropbox.com均被解析到 59.24.3.173 這個IP, 這是一個韓國IP,使用站長ping工具檢測一下,全部超時,我只截取其中的一部分,如果服務器不通或禁ping,則全部超時。

使用DNSCrypt解決DNS污染問題

無論我們是從谷歌服務器還是電信服務器拿到的數據包,在到手之前均被長城防火墻進行篡改。為了防止這份數據被篡改,我們需要借助DNSCrypt這款工具保證我們的dns查詢數據包不被篡改。

DNSCrypt是OpenDNS發布的加密DNS工具,可加密DNS流量,阻止常見的DNS***,如重放***、觀察***、時序***、中間人***和解析偽造***。DNSCrypt支持Mac OS和Windows 以及Linux,是防止DNS污染的絕佳工具。我在Mac OS與Centos上均做了嘗試。

安裝DNSCrypt-proxy

Mac OS 與 Linux 上的安裝非常簡單,按照項目主頁的文檔一步一步操作即可。

Mac Os 可使用brew工具一鍵安裝
brew install dnscrypt-proxy 

Linux安裝
#安裝依賴
cd /usr/local/src/
wget "https://download.libsodium.org/libsodium/releases/libsodium-0.5.0.tar.gz"tar -xzvf libsodium-*.tar.gzcd libsodium-*
./configure
make
make install
ldconfigecho /usr/local/lib > /etc/ld.so.conf.d/usr_local_lib.confcd /usr/local/src/
wget "http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.4.0.tar.bz2"bunzip2 -cd dnscrypt-proxy-*.tar.bz2 | tar xvf -cd dnscrypt-proxy-*
./configure
make
make install

啟動dnscrypt_proxy

dnscrypt_proxy的用法可以通過man 8 dnscrypt_proxy查詢

在啟動之前,需要注意一項,因為dnscrypt_proxy作為查詢代理是對通信加密的,這也要求目的dns服務器也要支持,項目主頁提供一份可用列表

啟動腳本

使用DNSCrypt解決DNS污染問題

最后我們可以看到建立了本機53端口與目的主機443端口的鏈接;按照官網的提示,如果我們安裝成功,當我們執行dig txt debug.opendns.com,會看到debug.opendns.com. 0 IN TXT "dnscrypt enabled (......)"這樣的輸出。

使用DNSCrypt解決DNS污染問題

恭喜,我們成功了,下一步我們只需要把本機的dns服務器指向到這臺代理即可

再來查看下www.dropbox.com的解析情況

使用DNSCrypt解決DNS污染問題

訪問一下 https://www.dropbox.com

使用DNSCrypt解決DNS污染問題



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安吉县| 武威市| 文登市| 新竹县| 蚌埠市| 乌兰察布市| 汉源县| 保靖县| 平乐县| 通化市| 行唐县| 安宁市| 重庆市| 雷波县| 昔阳县| 同仁县| 霍邱县| 安多县| 娄烦县| 忻城县| 彩票| 祁东县| 桃园县| 莱西市| 望都县| 微山县| 洞口县| 正阳县| 攀枝花市| 丽水市| 安仁县| 兴山县| 台前县| 大悟县| 聊城市| 弋阳县| 车致| 南岸区| 慈溪市| 乌拉特后旗| 宁河县|