云漫圈 | 什么是DNS?什么是DNS污染?什么又是DNS劫持?

戳蓝字“CSDN云计算”关注我们哦!


640?wx_fmt=jpeg


文章转载自公众号:漫画编程


2019年1月23日下午,我正在公司疯狂的撸着代码,沉浸在我的代码世界中,正在欣赏着自己刚刚写下的一行lambda表达式,突然微信上传来女朋友的消息。


640?wx_fmt=jpeg

640?wx_fmt=jpeg

在浏览器输入cn.bing.com,显示结果如下:

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

于是,我打开我的terminal,准备ping一下,看看到底怎么回事:

➜  mhcoding ping cn.bing.com
PING cn.bing.com (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.046 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.091 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.098 ms

于是,我再微信上给女朋友回复:

640?wx_fmt=jpeg

晚上下班回到家,还没等我脱下我的双肩包,女朋友就快速的跑过来找我。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

DNS

DNS,是Domain Name System的缩写,翻译成域名系统。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。

DNS最主要的作用就是将域名翻译成ip地址。

IP地址

IP地址是IP Address的缩写,指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址)。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

互联网上的每一台计算机,都会分配到一个IP地址。

IP地址被用来给Internet上的电脑一个编号。大家日常见到的情况是每台联网的PC上都需要有IP地址,才能正常通信。

IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节)。IP地址通常用“点分十进制”表示成(a.b.c.d)的形式。如:208.80.152.2

域名

域名,这个是很多人都熟悉的概念,我们大多数情况下,在浏览器上访问某个网站的时候,都是通过域名访问的。

域名是由一串用点分隔的字符组成的互联网上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。

域名可以说是一个IP地址的代称,目的是为了便于记忆后者。

例如,wikipedia.org是一个域名,和IP地址208.80.152.2相对应。人们可以直接访问wikipedia.org来代替IP地址,然后域名系统(DNS)就会将它转化成便于机器识别的IP地址。

这样,人们只需要记忆wikipedia.org这一串带有特殊含义的字符,而不需要记忆没有含义的数字。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

域名、IP和DNS

在现实生活中,我们可能经常需要通过电话找人,每一台接入网络的电话都有一个自己独一无二的号码。

有的时候,我们想要打某个公司的客服电话,如想要给工商银行的客服打电话,想查询账户余额。但是我们不知道具体号码,我们可以拨打114,告诉他们自己想要拨打工商银行的电话。然后114的客服会帮你查询到工商银行的电话,并帮你自动转接到工商银行的客服电话。

这个过程就和域名、IP地址以及DNS之间的关系比较像了。

每一台接入网络的电话 -> 每一台接入网络的计算机
工商银行 -> 域名
电话号码 -> ip地址
114咨询台  -> DNS

有了DNS,我们不需要记住每一个网站的多个IP地址,我们只需要之道这个网站的域名就可以了。就像我们不关心工商银行的客服电话,我们只需要知道我们要找工商银行就可以了。

而且,对于一个网站来说,一个域名会对应其无数个IP地址。会通过负载均衡等方式进行调配。就像工商银行的客服中心也有很多分机的道理是一样的。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

某些网络运营商为了某些目的,可能会限制某些用户访问某一些特定的网站,而限制手段最常用的就是DNS污染和DNS劫持。

正常情况下,当我们访问某个域名的时候,会跳转到失败页面,但是如果爬到墙外,就可以正常访问。比如所谓的qiang。

还有一种典型场景,当我们的宽带欠费的时候,访问某个网站时,被自动跳转到运营商网站,提示充值。

这都是运营商在DNS上做了手脚。其目的是为了让域名无法解析到正常的IP地址。

而此次必应无法访问期间,通过ping可以发现,cn.bing.com被DNS解析成127.0.0.1。这是无法访问bing的直接原因原因。

127.0.0.1是回送地址,指本地机,一般用来测试使用。

DNS污染

网域服务器缓存污染(DNS cache pollution),又称域名服务器缓存投毒(DNS cache poisoning),是指一些刻意制造或无意中制造出来的域名服务器数据包,把域名指往不正确的IP地址。

其工作方式是:由于通常的DNS查询没有任何认证机制,而且DNS查询通常基于的UDP是无连接不可靠的协议,因此DNS的查询非常容易被篡改,通过对UDP端口53上的DNS查询进行入侵检测,一经发现与关键词相匹配的请求则立即伪装成目标域名的解析服务器(NS,Name Server)给查询者返回虚假结果。

DNS污染指的是用户访问一个地址,国内的服务器(非DNS)监控到用户访问的已经被标记地址时,服务器伪装成DNS服务器向用户发回错误的地址的行为。为了减免网络上的交通,一般的域名都会把外间的域名服务器数据暂存起来,待下次有其他机器要求解析域名时,可以立即提供服务。一旦有关网域的局域域名服务器的缓存受到污染,就会把网域内的电脑导引往错误的服务器或服务器的网址。

640?wx_fmt=png

简单点说,DNS污染是指把自己伪装成DNS服务器,在检查到用户访问某些网站后,使域名解析到错误的IP地址。

DNS劫持

DNS劫持又称域名劫持,是指在劫持的网络范围内拦截域名解析的请求,分析请求的域名,把审查范围以外的请求放行,否则返回假的IP地址或者什么都不做使请求失去响应,其效果就是对特定的网络不能访问或访问的是假网址。

640?wx_fmt=png


简单点说,DNS劫持指的是通过非法手段,获取DNS服务器的权限,然后把DNS配置进行修改,使域名解析到错误的IP地址。

DNS污染和DNS劫持的区别

DNS劫持是劫持了DNS服务器,进而修改其解析结果。

DNS污染是国内的某些服务器对DNS查询进行入侵检测,发现与黑名单上匹配的请求,该服务器就伪装成DNS服务器,给查询者返回虚假结果。它利用了UDP协议是无连接不可靠性。

一个是劫持了DNS服务器,一个是伪装成DNS服务器。造成的结果都是返回错误的IP地址。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

如何解决DNS污染和劫持

对于 DNS劫持,可以通过手动更换DNS服务器为第三方公共DNS解决。

公共DNS 是一种面向大众的免费的 DNS 互联网基础服务。更换 DNS 服务器地址为 公共DNS 后,可以在一定程度上加快域名解析速度、防止 DNS劫持、加强上网安全,还可以屏蔽大部分运营商的广告。

下图就是常用的公共DNS:

640?wx_fmt=jpeg

 (图源:http://www.yunweipai.com/archives/5175.html)

对于 DNS污染,可以说,个人用户很难单单靠设置解决,通常可以使用 VPN 或者域名远程解析的方法解决。

640?wx_fmt=jpeg

640?wx_fmt=jpeg

必应挂了如何访问


640?wx_fmt=jpeg

一、用必应(Bing)临时域名

www2.bing.com 或者 www4.bing.com

二、强制绑定host

用户只需要暂时修改下host然后坐等微软服务器恢复后再删除即可。即强制指定cn.bing.com指向的IP地址。

13.107.21.200 cn.bing.com

修改后如果浏览器依然无法正常打开请直接重启系统,重启后再尝试打开必应搜索看看能否恢复正常访问。

三、修改DNS服务器

把DNS修改成公共DNS,如8.8.8.8 或者 114.114.114.114。

参考:https://laod.cn/news/cn-bing-com-404.html

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

640?wx_fmt=jpeg

事件后续

1月23日下午,有网友发现微软搜索引擎网站必应(Bing)出现无法访问故障。打开之后显示,“无法访问此网站”。

1月24日,微软发言人先后回复记者称,“正在展开调查”以及“我们正在积极应对,以确定下一步相关措施”。

1月25日早上,微软发言人回复记者称,“我们确认必应网站之前在中国无法访问,但是现已恢复正常”。不过,微软并未透露此前不能正常访问的原因。

本文的重点是分析必应无法被正常访问的原因,关于域名、DNS等并未深入和展开介绍,如果读者感兴趣,后面会继续逐一展开介绍。

640?wx_fmt=png


福利

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!


640?wx_fmt=jpeg


推荐阅读:

  • 2019年中国IT市场趋势热点

  • 2019年最值得关注的五大微服务发展趋势

  • 叫你一声“孙悟空”,敢答应么?

  • 骚操作!代码写情诗 | 程序员有话说

  • 30 秒?!Chrome 插件带你速成编程学习 | 程序员硬核评测

  • 翟天临之后,大连博士细数区块链博士圈那些事……

  • 50个最有价值的数据可视化图表(推荐收藏)

  • 微服务、Kubernetes和无服务器之后,即将发生的……

  • 为了完成月入三万的目标,我都做了哪些准备?


640?wx_fmt=png喜欢就点击“好看”吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/524645.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

全面剖析企业私有云

戳蓝字“CSDN云计算”关注我们哦!作者 |孙杰本文转载自公众号:华章计算机在以AWS、Google、阿里等为代表的公有云发展的同时,很多大型企业出于数据安全性、系统稳定性、软硬件自主权、对自主可控以及TCO低的考虑,更加倾向于建设企…

React之props批量传递

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>2_props批量传递</title> </head> <body> <!-- 准备好一个容器 --> <div id"test1"></div> <div id"test2&qu…

趣挨踢 | 如何修改个人简历?一些过来人的经验

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | 汕大小吴出处&#xff1a;https://www.nowcoder.com/discuss/154151一、前言又到了招聘的季节&#xff0c;看到很多师弟师妹们不太懂得如何写简历来展现自己&#xff0c;这里我想给出我个人的一些建议。因为我的简历修改了很…

React之props限制

<!DOCTYPE html> <html> <head> <meat charset"UTF-8"> <title>2_props限制</title> </head> <body> <!-- 准备好一个容器 --> <div id"test1"></div> <div id"test2"&…

云评测 | OpenStack智能运维解决方案 @文末有福利!

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章摘自 | 《OpenStack架构分析与实践》谈到OpenStack&#xff0c;一个难以避免的话题就是运维&#xff0c;对于OpenStack的运维而言&#xff0c;随着其项目的不断增多&#xff0c;传统的“人肉运维”方式显然不能满足当下及以后的…

要闻君说: 百度云喜提信息安全首证;紫光展锐携5G芯片进击2019MWC;OPPO首发5G手机惊艳亮相……...

关注并标星星CSDN云计算每周三次&#xff0c;打卡即read更快、更全了解泛云圈精彩newsgo go go 大家好&#xff01;偶是要闻君。活动多多、新闻不少&#xff0c;精神饱满的周一&#xff0c;学起来&#xff01;&#xff01;&#xff01;文/要闻君一年一度&#xff0c;十分重磅&a…

Spring精华问答 | Spring Boot有哪些优点?

戳蓝字“CSDN云计算”关注我们哦&#xff01;Spring是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;为了解决企业应用开发的复杂性而创建的。今天&#xff0c;我们一起来看看关于Spring更加有深度的问答吧。。1Q&#xff1a;Spring Boot有哪些优点&#xff1f;A&#…

基于Kubernetes的持续部署方案

戳蓝字“CSDN云计算”关注我们哦&#xff01;文章转载自Docker方案概述本技术方案为基于Kubernetes为核心的持续部署&#xff08;下文简称CD&#xff09;方案&#xff0c;可以满足开发方的程序级日志查看分析&#xff0c;运维方的快速扩容与日常运维分析&#xff0c;并且可以保…

Tcp实现文件上传

package com.wuming.lesson02;import java.io.*; import java.net.ServerSocket; import java.net.Socket;public class TcpServerDemo02 {public static void main(String[] args) throws Exception {//1.创服务ServerSocket serverSocket new ServerSocket(9000);//2.监听客…

云存储精华问答 | 如何选择云迁移策略?

戳蓝字“CSDN云计算”关注我们哦&#xff01;云存储是在云计算概念上延伸和发展出来的一个新的概念&#xff0c;是一种新兴的网络存储技术&#xff0c;是指通过集群应用、网络技术或分布式文件系统等功能&#xff0c;将网络中大量各种不同类型的存储设备通过应用软件集合起来协…

UDP消息发送

package com.wuming.lesson03;import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;//还是要等待客户端的连接 public class UdpServerDemo01 {public static void main(String[] args) throws Exception {//1.开放端口Datagram…

C/C++ 余弦函数 cos - C语言零基础入门教程

目录 一.cos 函数简介二.cos 函数实战三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 : C…

云重磅|中西合璧 联想凌拓瓜熟蒂落;5G实锤 华为推出首部5G折叠手机;​IBM打造Kubernetes无处不在”的模式...

戳蓝字“CSDN云计算”关注我们哦&#xff01;嗨&#xff0c;大家好&#xff0c;重磅君带来的【云重磅】特别栏目&#xff0c;如期而至&#xff0c;每周二第一时间为大家带来重磅新闻。把握技术风向标&#xff0c;了解行业应用与实践&#xff0c;就交给我重磅君吧&#xff01;重…

C/C++ 正弦函数 sin - C语言零基础入门教程

目录 一.sin 函数简介二.sin 函数实战三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 语言基础入门 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 面向对象 零基础 C/C 学习路线推荐 : C/C 学习目录 >> C 设计模式 零基础 C/C 学习路线推荐 : C…

云计算精华问答 | 边缘计算、雾计算、霾计算,它们究竟是什么?

戳蓝字“CSDN云计算”关注我们哦&#xff01;物联网对于数据的处理能力要求很高&#xff0c;怎么能够从庞大的数据海中挖掘一些有价值的信息对于物联网的发展至关重要&#xff0c;因此云计算&#xff0c;雾计算&#xff0c;边缘计算等等都将发挥其左右。今天&#xff0c;就让我…

IOS – OPenGL ES 设置图像亮度 GPUImageBrightnessFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

React之props的简写方式和报错示范

1.修改name值&#xff0c;这里可以直接改 1&#xff09;这样写报错&#xff0c;因为props是只读的 2.修改age值 1&#xff09;这样写没问题&#xff0c;age1 2&#xff09;这样写报错&#xff0c;因为props是只读的 3.简写&#xff0c;将这两个放入class Person里面&#xff0…

IOS – OPenGL ES 调节图像曝光度 GPUImageExposureFilter

目录 一.简介二.效果演示三.源码下载四.猜你喜欢 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 基础 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目录 >> OpenGL ES 转场 零基础 OpenGL (ES) 学习路线推荐 : OpenGL (ES) 学习目…

边缘计算精华问答 | 边缘计算需要IaaS、PaaS、SaaS等服务能力吗?

戳蓝字“CSDN云计算”关注我们哦&#xff01;随着物联网在全球各行业中越来越普遍&#xff0c;企业们发现了云计算的不足&#xff0c;它不是解决所有问题的答案。此外&#xff0c;如果只有云计算&#xff0c;物联网项目不能充分发挥其潜力&#xff0c;特别是在实时分析&#xf…

UDP多线程在线咨询

package com.wuming.chat;public class TalkStudent {public static void main(String[] args) {//开启两个线程new Thread(new TalkSend(7777,"localhost",9999)).start();new Thread(new TalkReceive(8888,"老师")).start();} } package com.wuming.cha…