前言:
大家可能会碰到过这样的情况,那就是QQ明明上的去网,而网页打不开,通常这个情况你去搜索解决方法,大家就会告诉你改DNS。还有一些人办理宽带的时候,有些人会提到这个宽带有DNS劫持的情况,不要用这家的宽带,包括买路由器的时候也有人会提到DNS劫持,这里的DNS劫持你知道是什么意思吗?今天这个文章我们就来详细解读一下什么是DNS,以及DNS劫持。
正文部分:
这篇文章承接上面一篇文章:IP地址是干什么的,它有什么用,你需要先了解一下IP地址是什么意思,才能理解接下来我说的。
【网页浏览的原理】
大家日常上网的时候,打开的网页本质上就是你从对方服务器上获取的文件,比如说你现在正在看的这篇文章,就存储在知乎的服务器上,你通过知乎客户端的浏览器,获取到了这些数据,并下载到了你的手机缓存当中,然后你的手机再把他们显示到屏幕上。
浏览网页的本质,就是下载文件,并将下载下来的网页文件变成你所能看到的图像。网页文件一般是.html结尾的,不相信的话你可以用电脑浏览器,随便打开一个网址,右键空白处,网页另存为,然后你就会发现你存储下来了一个.html结尾的网页文件,这时候你就算断网,双击这个网页文件你依旧可以用浏览器浏览,因为这个html文件被你保存到电脑上了。
所以浏览网页的原理就是,在互联网上找到了对方的电脑,然后从对方的电脑里拷贝出来html网页文件到你的电脑上,并将其转化成了文字和图片显示到显示器或手机上。
【域名与IP的关系】
既然你要浏览网页需要在整个互联网上找到对方的电脑,那你就需要输入对方的IP才可以访问,比如大家可以在浏览器里输入这个IP地址【14.215.177.39】你们可以看看打开的是不是百度的首页。是不是很有意思,你靠着IP地址可以访问百度,你输入http://www.baidu.com也可以上百度,这是什么原理呢?
在早期的时候,上网就是这么麻烦,你想要访问对方的网站,你必须要知道对方的IP,然后在你的浏览器里输入IP地址,然后就可以访问了,但是IP地址是4组数字,记IP地址的难度不亚于背一个陌生人的手机号,于是乎,我们用一串英文字母来代替IP地址,这就是网站域名,比如百度的网站域名就是http://www.baidu.com,而百度的IP地址就是14.215.177.39,网站域名很好记,而且域名也可以自定义。
但是这里就有一个问题了,你输入的是域名,你的电脑该怎么将他变成IP地址呢?就比如你输入的是http://www.baidu.com,为什么你的电脑知道对方的IP是14.215.177.39呢?这个东西就是hosts文件,hosts文件就在你的C:\windows\system32\drivers\etc文件夹下,他相当于电脑的电话本,他记录着每一个域名对应的IP地址,当你输入域名而不是IP的时候,他就会在这个电话本里找到对应的域名,然后把他转化成IP地址。
【DNS解析服务器】
但是这样也有问题,那就是Hosts文件是有限的,就和你不可能拥有这个世界上所有人的电话号码一样。既然我们自己不可能拥有全世界所有人的电话号码,但是我们可以将收集电话号码这个任务交给一个专门来干这个活的人,然后大家想要问电话的时候去他那查一下就可以了。
这就是DNS服务器,DNS服务器有着相当全的域名和IP,当你输入一串网站的时候,这串网站并不会直接访问,而是先将这个网站发送给DNS服务器,DNS服务器帮你把这串网站变成了IP地址,然后返回给你的电脑,你再访问这个IP地址,这样就解决了IP难记,而域名不能直接访问的问题了。
所以这样就可以解释文章开头那个故障了,你打不开网页,却可以上QQ,因为上QQ不需要涉及到DNS解析服务,直接访问的就是腾讯服务器的IP,但是你打开网页输入的是域名,而你的DNS服务器输入错误或者DNS服务器炸了,所以你电脑不知道这串域名对应的IP,你自然就没法访问这个网站,而如果你手动直接输入IP,你依旧是可以访问网站的。
【什么是DNS劫持?】
那DNS服务器会告诉你A网站的IP是A,B网站的IP是B,那假如你输入的A网站域名,但是他给你B的IP,你是不是就访问到别的网站去了?
既然DNS服务器可以这么玩,我是不是可以将用户引导到我的网站上?比如你要看个电影,然后你输入了爱奇艺的官网,然后我作为DNS服务器,我把优酷的IP返回给你,最后就是你虽然输入的爱奇艺官网,但是却得到了优酷的IP并访问了优酷的IP,进入了优酷的网站上。
当然这里我只是举个例子,我举这个例子就是想告诉大家,DNS服务器想给你返回什么IP就给你返回什么,所以他可以在幕后操作一些东西。最简单的就是广告。比如A网站没有广告,你直接访问就是没有的,但是你的DNS服务器把A网站下载下来了,给这个网站加了个广告,然后重新上传到了一个IP上,并把这个IP告诉了你,那就是你虽然输入的A网站的域名,但是你访问的是一个包含了广告的复制版A网站,虽然两者功能一样,但是却完全不是一个服务器上的。
这些就被我们成为DNS劫持,DNS劫持对于网络访问的影响和体验是非常严重的,除了DNS服务器,你的路由器同样可以这么干,所以在买路由器的时候也有人会关注这个路由器是否会进行DNS劫持。
【怎么修改电脑的DNS服务器呢?】
控制面板里找到你已经连接或者要连接的宽带图标,右键属性
双击internet协议版本4(TCP/IPv4)
把下面的自动获得DNS服务器地址改成使用下面的DNS,然后手动输入你想要用的DNS服务器就可以了。我这里个人用的最多的就是114DNS,具体的大家可以照着下面的截图设置,当然每个地区的最佳DNS服务器都不一样,推荐这里各位找最适合自己的就可以,当然,自动也不是不行。
全文完,感谢您的耐心观看!!!