使用DNSCrypt解决DNS污染问题
admin
2023-03-22 01:01:02
0


前言

在开始写这篇文章之前,先要普及一个知识中国长城防火墙(英文名: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污染问题



相关内容

热门资讯

防水做满墙是不是瓷砖贴不稳 不会贴不牢,只是施工的时候会麻烦些。因为瓷砖背面抹上水泥砂浆,水分本来会渗入墙面变干凝固,但是有了防...
不敲瓷砖做防水靠谱吗 最佳回答 相比较下来不敲瓷砖做防水还是不太靠谱的,现在基本上家里面做防水都是需要在贴瓷砖之前做好的,...
广西来宾市委原书记何朝建被“双... 经自治区党委批准,自治区纪委监委对来宾市委原书记何朝建严重违纪违法问题进行了立案审查调查。经查,何朝...
武大:极不认同OPPO母亲节广... 学校极不认同某手机厂商“母亲节”广告文案的内容表述和价值倾向。这与武汉大学立德树人的育人理念严重不符...
不法人员“刘佳”冒充下属企业投... 澎湃新闻记者 岳怀让5月7日,中国国新控股有限责任公司(简称“中国国新”)在官网发布了一则《关于不法...
“拖延军购只会使中国大陆获利”... 台立法机构5月8日表决通过蓝白版“军购特别条例”,预算上限由赖清德当局要求的1.25万亿新台币降至7...
经济热点快评丨前4个月进出口增... 王东辉据海关统计,今年前4月,我国货物贸易进出口总值16.23万亿元,同比增长14.9%,出口、进口...
陈高雅、马晓霖:欧洲议会的“傲... ▎2026年4月30日,欧洲议会在法国斯特拉斯堡举行全体会议。图源:欧洲议会多媒体中心作者 | 陈高...
国家体育总局:关注运动员赛场表... 国家体育总局有关部门负责人近日表示,近期,我们关注到全国多地出现通过商场大屏照片投放、线下粉丝聚集应...