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

  首先,我们来谈谈服务器的访问问题。服务器也是一台计算机,连上互联网之后,就成了网络中的一个节点。一个网络中的每台计算机都会分配得一个唯一的标识——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就被劫持了。

  

  

DNS与DNS劫持原理、IP、域名、服务器访问浅讲的更多相关文章

  1. DNS工作流程及原理 域名、IP与DNS的关系

    转自:http://blog.csdn.net/maminyao/article/details/7390208 一.DNS服务概述 DNS是Domain Name System的缩写,即域名系统.其 ...

  2. DNS递归和迭代原理

    11.3.7 DNS递归解析原理 “递归解析”(或叫“递归查询”,其实意思是一样的)是最常见,也是默认的解析方式.在这种解析方式中,如果客户端配置的本地名称服务器不能解析的话,则后面的查询全由本地名称 ...

  3. Linux的DNS实现负载均衡及泛域名部署

    DNS负载均衡技术的实现原理是在DNS服务器中为同一个主机名配置多个IP地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到 ...

  4. Windows下DNS ID欺骗的原理与实现

    域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换信息.通常,网络用户通过UDP协议和DNS服务器进行通信,而服务器在特定的53端口监听,并返回用户所需 ...

  5. 关于dns服务工作的原理,和配置的细节理解。

    dns服务器相关 1,dns原理,也就是迭代,和递归查询.将域名解析为ip的过程. 一次完整的查询请求经过的流程: Client -->hosts文件 -->DNS Service Loc ...

  6. DNS详解: A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL

    DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名系统为Internet上的主机分配域名地址和IP地址.由于网络中的计算机都必 ...

  7. 服务器部署网站后,公网ip可以访问,域名不能访问问题(稳)

    出现问题 这几天我网站已经部署到vps上,域名也备好案,想使用域名指向我们公网ip.指完发现用域名访问不了网站,但是公网ip可以.于是看了网上资料,好像是要清除浏览器DNS缓存,我清完没用.然后发现我 ...

  8. DNS查询的工作原理

    二.DNS查询的工作原理 1.DNS查询过程按两部分进行     1.名称查询从客户端计算机开始, 并传送给本机的DNS客户服务程序进行解析     2.如果不能再本机解析查询, 可根据设定的查询DN ...

  9. DNS笔记 DNS区域集成到 Active Directory

    可以将 DNS 区域集成到 Active Directory 中以提供增强的容错功能和安全性.OpenDNS   Google Public DNS往返时间 (RTT) 远程访问服务 (RAS)域名与 ...

随机推荐

  1. android中handler用法总结

    一.Handler的定义: Handler主要接收子线程发送的数据, 并用此数据配合主线程更新UI,用来跟UI主线程交互用.比如可以用handler发送一个message,然后在handler的线程中 ...

  2. android 项目随记一

    1. requestWindowFeature(); requestWindowFeature可以设置的值有: // 1.DEFAULT_FEATURES:系统默认状态,一般不需要指定        ...

  3. 凸优化简介 Convex Optimization Overview

    最近的看的一些内容好多涉及到凸优化,没时间系统看了,简单的了解一下,凸优化的两个基本元素分别是凸函数与凸包 凸集 凸集定义如下: 也就是说在凸集内任取两点,其连线上的所有点仍在凸集之内. 凸函数 凸函 ...

  4. mysql 优化analyze table

    Analyze Table MySQL 的Optimizer(优化元件)在优化SQL语句时,首先需要收集一些相关信息,其中就包括表的cardinality(可以翻译为“散列程度”),它表示某个索引对应 ...

  5. Node.js的循环依赖

    我们知道在实际编程过程中,要尽可能的减少或者规避循环依赖情况的发生.但在现实环境中,有时却不得不产生循环依赖.Node.js不提倡使用循环依赖,但真有如此情况发生时Node.js也有办法解决.这篇博文 ...

  6. Python学习2-列表和元组

    Python学习2-列表和元组 标签(空格分隔): 列表 元组 在Python中,最基本的数据结构是序列(sequence).序列中的每个元素被分配一个序号--即元素的位置,也称为索引.索引从0开始. ...

  7. 无法启动ArcSDE服务

    ArcSDE服务启动错误:Error (-327), No ArcSDE server license found解决方法:>sdesetup -o update_key -d oracle10 ...

  8. 嵌入式 GDB调试死锁示例

    死锁:一种情形,此时执行程序中两个或多个线程发生永久堵塞(等待),每个线程都在等待被 其他线程占用并堵塞了的资源.例如,如果线程A锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线 ...

  9. Code Hard or Go Home

    介绍Webkit的渊源  http://hypercritical.co/2013/04/12/code-hard-or-go-home

  10. PropertyPlaceholderConfigurer加载属性配置文件:

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...