DNS与DNS劫持原理、IP、域名、服务器访问浅讲

时间:2024-12-03 23:04:55

  我们都知道,平常我们所访问的网站,都是与服务器进行数据交互的。但是,浏览器和服务器是分处于不同的计算机上的,那他们是怎样进行通信的呢?今天,我们就来粗浅地聊一聊。不涉及很深的技术原理,只讲大概的流程。

  首先,我们来谈谈服务器的访问问题。服务器也是一台计算机,连上互联网之后,就成了网络中的一个节点。一个网络中的每台计算机都会分配得一个唯一的标识——IP地址。既然IP地址具有唯一性,所以,我们可以通过IP地址唯一地找到一台计算机。IP地址就是形如“192.127.123.125”的数字串,你可以在控制台输入ipconfig指令查看本机的IP地址。

  IP地址虽然精确,但是没有逻辑性,数字的组合是随机的,一两台还能记住,当你要访问的地址多了起来,还能记得清每个地址吗?所以,我们又有了第二种访问服务器的方式——域名。域名,通俗来说就是网址。域名是由一连串有一定格式、一定的逻辑性或寓意的字符串组成。如:www.google.com。一看就知道是谷歌搜索,简单好记。那么域名是怎么找到其对应网站所处的服务器(那台计算机)的呢?那就涉及一个叫DNS的东西。

  DNS,域名解析系统。顾名思义,就是解析域名,也就是解析网址的。在一个DNS里,存放了很多对应关系对,一个域名对应于一个IP地址。当客户端通过域名发出请求,网络经过DNS时把域名转换成相应的IP地址,然后就可以根基IP地址精确地找到服务器计算机了。DNS又分了好几级,从低级DNS开始检查,有域名-IP对则发生转换,跳转到IP地址。如果没有,则把域名上传到上一级DNS,继续查找......直到*DNS(或者墙-_-)还没有相应的域名—IP对,则说明没有这个服务器,返回错误信息。

  既然低级的DNS中域名-IP配对优先级高于高级DNS,那么我们就可以利用这个原理实现把高级DNS中的某些域名-IP对在低级DNS中修改、覆盖掉,那就是DNS劫持。比如,我们现在连上了一个校园网,通过网络请求访问国外的某个网站(如:iHerb.com)。在校园网原来的DNS中,是没有iHerb.com的解析对的,所以会往上一级DNS(运营商DNS)去查找。这时,如果有某些奸商通过技术手段,往校园网DNS中注入了一个域名-IP对:iHerb.com = 123.123.123.123,那么当我们通过iHerb.com搜索时,就会被校园网DNS跳转到123.123.123.123对应的服务器上了,而这台服务器上运行的网站根本不是我们要访问的iHerb.com,而是一个假冒的网站。就这样,iHerb.com就被劫持了。