- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
自从进入网络时代,大家的生活也愈加多姿多彩起来,但也多出了很多烦恼。例如,信息海洋中时不时出现的大群垃圾,以及深渊,就令人防不胜防。这里说的正是上网过程中遇到莫名其妙的网页跳转,好端端的一个网页,忽然就变成了满屏的广告;或者本来能正常访问的页面,忽然就打不开了,但QQ之类的软件却可以正常登录。其实出现了这些令人困扰的异常现象,意味着你可能是DNS劫持、投毒的受害者。 dns被劫持了怎么办呢?
虽然我们经常上网,但并不是每个人都对开启一个网页背后的机制了如指掌。轻点鼠标,网页即呈现在眼前,何其熟悉的操作,但这熟悉操作的背后,却蕴藏着一套环环相扣的流程。从用户点击鼠标、敲下回车,到网页显示,信息首先会通过浏览器发送,然后经路由中转,接着DNS将域名解析成IP,找到服务器后服务器会发送内容给用户,接着再由路由转发数据,最后浏览器将内容呈现给用户。视实际情况,这个过程中还可能存在更多关卡,比如说防火墙、代理服务器等。
网页浏览存在诸多环节,被劫持的机会很多,其中DNS非常容易被做手脚
在这套流程中,无论浏览器、路由、DNS、服务器等任一环节中出了叛徒,都有可能导致网页无法访问。而被人篡改最多的,或许就是DNS了。DNS全称是域名系统,它所起到的作用,在于把域名解析为IP地址。我们能访问到某个网站,靠的是连接到该网站服务器的IP地址,DNS在这里面起到的作用就是把“www.baidu.com”解析成“123.125.114.144”这样的IP地址,让你能够连接到这地址的服务器来访问网站。
dns被劫持了怎么办
把网址解析为IP地址,就是DNS所起到的作用了
在上网的流程中,有太多的原因可以影响到DNS,例如你的PC的设置、路由器的设置、运营商的设置等等,DNS一旦出现了差错,就会无法把域名解析成为正确的IP地址,我们自然也无法访问到正确的页面。因此,如果你发现开启不了网页,但QQ这样直连IP的网络软件却可以正常服务,那DNS就是一个非常值得怀疑的原因。
DNS出错会导致什么后果?
DNS这个环节可以被太多原因影响,所以不少利益相关者都会在这里面做手脚。例如,DNS劫持就是非常常见的广告投放手段。
一般情况下,如果你不特别设置DNS服务器,那么DNS服务器就会由运营商来提供。按理来说,运营商提供的DNS服务器应该用于正确地为你提供IP跳转,但偏偏很多运营商DNS服务器的人品都不堪入目。你常常就能看到运营商会把你给跳转到什么开通上网套餐之类的页面,甚至会出现你输入A购物网但却被跳转到竞争对手B的情况,这就是所谓的DNS劫持。
开个百度,整个网页都被强制跳转到XX娱乐城去了,这就是典型的DNS劫持
要对付运营商的DNS劫持,设置一个可靠的DNS服务器往往就可以搞定问题。然而,很多朋友在设置了可靠的DNS服务器后,依旧不能解析到正确的IP地址,例如某个网站的IP地址明明是可以Ping通的,但就是无法访问。这种情况,通常是DNS污染所导致的。
虽然DNS服务器能够正常工作,但我们向DNS服务器发送域名解析请求的时候,是通过UDP连接发送的。UDP并不是什么可靠的连接,所以域名解析请求能够在半路上就被人拦截,然后冒充DNS服务器给你发送错误的IP地址。IP地址是错的,我们自然也不能正常地访问网站,有可能会看到广告、钓鱼页面,也有可能什么也看不到。
dns被劫持了怎么办
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劫持行为太过猖獗,也可以到工信部投诉运营商劫持网页,这的确是非常行之有效的方式,有效到了某些运营商竟然直接屏蔽了工信部的投诉网页的程度。那么该怎么到工信部投诉运营商呢?
dns被劫持了怎么办 图5
去工信部投诉运营商还是非常行之有效的
首先,遇到网页劫持的情况,不要直接向工信部投诉。按照流程,先向运营商投诉,无效后投诉到工信部,才会被受理。工信部张贴出来的申诉条件中也包括“已经向被申诉人投诉且对其处理结果不满意或者其未在15日内答复”这一条,所以先走一下流程也是有必要的,万一向运营商投诉就搞定问题了呢?
然而事情往往不会这么美好,运营商的回答通常很敷衍,对技术不熟悉的客服人员甚至不明白网页劫持是什么意思。无效后,就可以向工信部投诉运营商了!
·工信部投诉网址:<点此进入>
·工信部投诉电话:010-12300
如无意外,投诉后问题就会得以搞定。
但即使如此,如果有人在DNS请求的UDP连接过程中做手脚,那还是防不胜防。一些公司就会利用这个原理,控制不让员工随便访问网络。如果要规避这个过程,思路就是避免DNS用UDP这样不靠谱的连接来查询。你可以利用一些手段,设置DNS为TCP连接查询,也可以通过加密来让其他服务器中转DNS请求。
IPV6强制部署IPSec,这也可以让DNS更安全
当然,这些方式实现起来都需要折腾,并不符合一般用户运用。或许在待到将来IPV6全面铺开时,DNS的安全性才会有进一步提升。
总结
总体而言,现在DNS的机制显然在规划之初没有充分考虑到安全性,导致别有用心者频频利用这一环节影响用户的正常网络访问。DNS频频被劫持、投毒的现状怎么才能改变?从技术上来说很难,希望以后能够有更完善的监管手段,让用户有更好的上网体验吧。
我需要为一系列 Linux 容器运行本地 BIND DNS 服务器。假设区域是 example.com 我的基础架构中已经有一个 example.com 域,我想使用我的本地 DNS 服务器覆盖一些记
当“Google Public DNS”免费时,为什么要使用“Google Cloud DNS”? 如何设置 DNS/名称服务器以指向计算引擎: 1. 将您的域注册器(在我的情况下为 GoDaddy.
我有一些主机在 EC2 中按需出现,当它们执行启动它们的服务时,它们会在现有区域下的 Route53 中创建一条 A 记录。 A 记录的格式为:randomid.example.com。所以它不是现有
我目前拥有自己的域名和专用服务器,并且为我的客户提供不同的软件包。我希望能够做的是让他们在我的网站上注册并自动创建一个包,他们可以通过他们的用户名作为子域进行访问,例如 http://youruser
我想知道如何只为一级子域设置通配符 DNS,示例: user.example.com // valid www.user.example.com // invalid 我的 BIND 区域域配
我正在努力将我的域的名称服务器切换到新的 DNS 服务。 将新设置与现有 DNS 设置进行比较的最佳工具是什么。 我尝试使用带有和不带有 @nameserver 的 dig 来确保 DNS 记录在新旧
我是一名长期开发人员,但对 DNS 的经验并不丰富。这是我的问题: 我们的应用程序在 Amazon EC2 上为客户启动服务器。一个客户希望为每台启动的服务器使用自定义 DNS,而不是 AWS 提供的
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是用于堆栈溢出的on-topic。 9年前关
我看到几个提到 DNS 名称(域名)的最大字符串长度为 253 个字符。维基百科似乎指的是这篇旧博文: https://en.wikipedia.org/wiki/Hostname http://bl
这可能是完全不可能实现的,但在我尝试之前,我想我可能会从一位极客那里得到一些建议。 Squid 也会代理 DNS 查询吗?我想转发DNS查询以通过squid并使用squid的DNS错误页面,当然是通过
在我的 Rails 应用程序中,我使用 ruby 库 resolv 进行 nslookup。如果输入像 dgdfgdfgdfg.com 这样的网站,则说明时间太长而无法解决。在某些情况下,例如 2
我正在研究一个带有每 5 秒刷新一次(轮询)的实时仪表板(Angular Web 应用程序)的场景。 API 位于 Azure 流量管理器之后,如果主要区域发生故障,它将故障转移到第二个区域。请记住,
我正在使用 fortify,它显示了攻击者可以在我尝试在 java 应用程序中获取主机名时进行 DNS 欺骗的漏洞。我有一个解决方案,通过匹配正向 DNS 和反向 DNS 条目可以避免这种情况。但它有
我正在尝试使用 cert-manager 为我的 istio-ingress-gateway 订购证书。为此,我在 AKS 上的 kubernetes 集群 (1.13.7) 上安装了 istio (
我正在尝试创建一个家庭自动化系统,它可以在我工作的白天照看我的狗。我在这个项目中的目标是学习一些关于 DNS、文件服务和 RaspberryPi 的知识。 我的硬件设置是这样的: 1 个 Raspbe
我想在一台服务器上创建一个 Web 界面,以管理另一台服务器上的几个 dns 服务器。 如何以编程方式远程管理绑定(bind) dns 服务器? 我想添加/编辑/删除区域。 我看到有 rndc,但它只
我对 TTL 和传播时间的概念有点困惑,我想澄清一些我没有设法在网上找到具体答案的事情。 AFAIK,TTL(生存时间)表示世界各地的服务器更新特定 DNS 的缓存值所需的(最高)时间。 所以...
我正在尝试学习 kubernetes,并且我已成功在裸机上设置集群(1 节点)、部署服务并通过入口公开它。 我尝试实现 traefik,以获取 Lets 加密证书,但我无法使其工作,并且在调试时我注意
我想以编程方式自动更新我的 DNS 多个域。我在 GoDaddy 上运行 BIND 服务器(在 FreeBSD 上)以及主机域和 DNS。我找不到供 GoDaddy 访问和更新他们托管的 DNS 的
我正在尝试记录 DNS“泄漏”,换句话说,我网站的访问者使用的 DNS 服务器。 如何确定网络请求来自哪个 DNS 服务器到我的服务器(即获取 DNS 泄漏)。本站 dnsleaktest.com是吗
我是一名优秀的程序员,十分优秀!