上网强跳广告/页面劫持:其实是DNS被“污染”

admin8个月前笔记73

自从进入网络时代,大家的生活也愈加多姿多彩起来,但也多出了很多烦恼。例如,信息海洋中时不时出现的大群垃圾,以及深渊,就令人防不胜防。
image.png这里说的正是上网过程中遇到莫名其妙的网页跳转,好端端的一个网页,突然就变成了满屏的广告;或者本来能正常访问的页面,突然就打不开了,但QQ之类的软件却可以正常登录。这到底是什么原因造成的呢?其实出现了这些令人困扰的异常现象,意味着你可能是DNS劫持、投毒的受害者。

DNS到底是什么?

虽然我们经常上网,但并不是每个人都对开启一个网页背后的机制了如指掌。轻点鼠标,网页即呈现在眼前,何其熟悉的操作,但这熟悉操作的背后,却蕴藏着一套环环相扣的流程。

从用户点击鼠标、敲下回车,到网页显示,信息首先会通过浏览器发送,然后经路由中转,接着DNS将域名解析成IP,找到服务器后服务器会发送内容给用户,接着再由路由转发数据,最后浏览器将内容呈现给用户。视实际情况,这个过程中还可能存在更多关卡,比如说防火墙、代理服务器等。
image.png

在这套流程中,无论浏览器、路由、DNS、服务器等任一环节中出了叛徒,都有可能导致网页无法访问。而被人篡改最多的,或许就是DNS了。

DNS全称是域名系统,它所起到的作用,在于把域名解析为IP地址。我们能访问到某个网站,靠的是连接到该网站服务器的IP地址,DNS在这里面起到的作用就是把“www.baidu.com”解析成“123.125.114.144”这样的IP地址,让你能够连接到这地址的服务器来访问网站。
image.png

把网址解析为IP地址,就是DNS所起到的作用了

在上网的流程中,有太多的因素可以影响到DNS,例如你的PC的设置、路由器的设置、运营商的设置等等,DNS一旦出现了差错,就会无法把域名解析成为正确的IP地址,我们自然也无法访问到正确的页面。因此,如果你发现开启不了网页,但QQ这样直连IP的网络软件却可以正常服务,那DNS就是一个非常值得怀疑的原因。

DNS出错会导致什么后果?

DNS这个环节可以被太多因素影响,所以不少利益相关者都会在这里面做手脚。例如,DNS劫持就是非常常见的广告投放手段。

一般情况下,如果你不特别设置DNS服务器,那么DNS服务器就会由运营商来提供。按理来说,运营商提供的DNS服务器应该用于正确地为你提供IP跳转,但偏偏很多运营商DNS服务器的人品都不堪入目。

你常常就能看到运营商会把你给跳转到什么开通上网套餐之类的页面,甚至会出现你输入A购物网但却被跳转到竞争对手B的情况,这就是所谓的DNS劫持。
image.png

开个百度,整个网页都被强制跳转到XX娱乐城去了,这就是典型的DNS劫持

要对付运营商的DNS劫持,设置一个可靠的DNS服务器往往就可以解决问题。然而,很多朋友在设置了可靠的DNS服务器后,仍然不能解析到正确的IP地址,例如某个网站的IP地址明明是可以Ping通的,但就是无法访问。这种情况,通常是DNS污染所导致的。

虽然DNS服务器能够正常工作,但我们向DNS服务器发送域名解析请求的时候,是通过UDP连接发送的。UDP并不是什么可靠的连接,所以域名解析请求能够在半路上就被人拦截,然后冒充DNS服务器给你发送错误的IP地址。IP地址是错的,我们自然也不能正常地访问网站,有可能会看到广告、钓鱼页面,也有可能什么也看不到。
image.png

DNS默认使用UDP连接,而且未经加密,很容易遭遇污染、投毒

无论是那种情况,DNS出错就意味着你没法正确地访问网站。在整个上网的流程中,DNS这环节无疑是脆弱而且不受用户控制的,如果一定要有人用DNS来害你没法正常上网,大多数人都对此无能为力。那么DNS频频出错到底还有没有救呢?

DNS出错到底有没有救?

前面也提到过,要对付运营商的DNS劫持,我们可以设置一个可靠的DNS服务器来进行域名解析。目前很多安全厂商或者互联网企业乃至公益组织,都提供了DNS解析服务。

例如奇虎360、诺顿、Comodo、百度、阿里、Google等企业,都有提供DNS解析服务,你也可以选择Open DNS这样的老牌免费DNS服务。

这些DNS服务,都可以在网上轻易搜到具体的IP地址,这里就不一一罗列了。当然,并不是说用了这些DNS服务,就一定不会有DNS劫持,万一这些企业人品也不行呢?至于谁靠谱,就得靠你来自个儿筛选了。

另外,DNS如果不是运营商所提供的话,速度表现并不一定理想。这里推荐一款名为“DNS jumper”的软件,它能够比较全面得测试DNS的连接速度,并设置DNS。

利用DNS jumper,很容易就能够找到适合你网络状况的DNS。另外,如果运营商DNS劫持行为太过猖獗,也可以到工信部投诉运营商劫持网页,这的确是非常行之有效的方法,有效到了某些运营商竟然直接屏蔽了工信部的投诉网页的程度。那么该如何到工信部投诉运营商呢?
image.png

首先,遇到网页劫持的情况,不要直接向工信部投诉。按照流程,先向运营商投诉,无效后投诉到工信部,才会被受理。工信部张贴出来的申诉条件中也包括“已经向被申诉人投诉且对其处理结果不满意或者其未在15日内答复”这一条,所以先走一下流程也是有必要的,万一向运营商投诉就解决问题了呢?

然而事情往往不会这么美好,运营商的回答通常很敷衍,对技术不熟悉的客服人员甚至不明白网页劫持是什么意思。无效后,就可以向工信部投诉运营商了!如无意外,投诉后问题就会得以解决。

但即使如此,如果有人在DNS请求的UDP连接过程中做手脚,那还是防不胜防。一些公司就会利用这个原理,控制不让员工随便访问网络。如果要规避这个过程,思路就是避免DNS用UDP这样不靠谱的连接来查询。你可以利用一些手段,设置DNS为TCP连接查询,也可以通过加密来让其他服务器中转DNS请求。
image.png

IPV6强制部署IPSec,这也可以让DNS更安全

当然,这些方法实现起来都需要折腾,并不符合一般用户使用。或许在待到将来IPV6全面铺开时,DNS的安全性才会有进一步提升。

总结

总体而言,现在DNS的机制显然在设计之初没有充分考虑到安全性,导致别有用心者频频利用这一环节影响用户的正常网络访问。DNS频频被劫持、投毒的现状如何才能改变?从技术上来说很难,希望以后能够有更完善的监管手段,让用户有更好的上网体验吧。


相关文章

学习如何使用 Git 来压扁、变基和精选

学习如何使用 Git 来压扁、变基和精选

当我与别人谈到 Git 时,几乎每个人都对 git rebase 命令 有强烈的印象,这个命令让许多人遇到了问题,而不得不更改目录、删除仓库、然后再重新克隆一个仓库。我认为这是因为...

云计算将成企业大数据业务发展核心推动因素

云计算将成企业大数据业务发展核心推动因素

现如今,企业管理者们几乎每天都不可避免的会看到诸如“大数据”或“云服务”这样的字眼。为了确保在当今的市场上具有竞争力,企业必须做出明智的业务决策,这些业务决策将产生真正的结果,无论这些结果是帮助增加企...

HTML5 MathML简介

HTML5 MathML简介

MathML 是数学标记语言,是一种基于XML(标准通用标记语言的子集)的标准,用来在互联网上书写数学符号和公式的置标语言。注意:目前只有 Firefox 或 Safari 浏览器支持,大部分浏览器还...

怎么监控 Linux 服务器状态?

怎么监控 Linux 服务器状态?

本文介绍的几个命令,不仅仅适用于服务器监控,也适用于我们日常情况下的开发。1. watchwatch 命令我们的使用频率很高,它的基本作用是,按照指定频率重复执行某一条指令。使用这个命令,我...

详解 php 流式调用 OpenAI 的 gpt-3.5-turbo 模型接口,实时接收回答并实时传送给前端打字机显示

原理阐明流式接纳 OpenAI 的回来数据后端 Class.ChatGPT.php 顶用 curl 向 OpenAI 建议恳求,运用 curl 的 CURLOPT_WRITEFUNCTION...

具体详实给你讲什么是系统解耦

具体详实给你讲什么是系统解耦

在软件开发领域,解耦这个词相信大家都不陌生。在面向对象的语境下,我们会应用SOLID原则来构建高内聚低耦合的应用,实现模块间的解耦;在复杂业务系统分析和建模时,会通过DDD的战略和战术设计帮助划分领域...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。