售前咨询
技术支持
渠道合作

透过HTTPS重新认识DNS(漫画版)-中

DNS:域名系统
在上一篇内容中有提到在发起初始请求时,必须有服务器名称指示。在网络传输中,客户端不能直接输入服务器的名称,而是通过ip地址。因为传送信息的路由器不能理解服务器名称,只能识别IP地址。

但IP地址为数字组合,毫无特色,不利于吸引用户的注意。当域名系统(DNS)出现就顺利解决了这种窘况。因为DNS可通过客户端的域名识别其IP地址,然后找到对应的服务器,这种过程叫域名解析。

域和地址等价

浏览器如何判定DNS的识别是否正确?

就如电话本的原理,每一个名字都有单独的响应号码。但是当遇到新网站上线或者网站迁移到新的服务器时,保持时刻更新的状态就比较困难。

因此,每一个DNS并不是记录所有的域名列表,而是每个DNS负责不同种类的数据列表,这些列表即可互相关联,又可独立管理。

为了获取与域名相对应的IP地址,必须要分解域名的构成部分。

如英文版的维基百科:en.wikipedia.org,将该域名拆开:

然后根据域名的组合元素,就可以搜索到网站域名对应的IP地址的列表,而这时候需要一个查找IP地址的工具叫做解析器。

解析器与名为根DNS的服务器通话,每一个域名有几个不同的根DNS服务器,解析器会将请求发送给其中的一个。解析程序要求根DNS能够在.org顶级域中找到有关地址的更多信息。

根DNS将为解析器提供一个了解详情的服务器.org地址。

这台服务器被称为顶级域名(TLD)名称服务器。顶级域名服务器知道所有以第二级域名结尾的域名.org。

TLD的服务器将告诉解析器维基百科的名称服务器。

维基百科的服务器就是所谓的权威服务器。它知道wikipedia.org旗下的所有子域名,包括en.wikipedia.org。然后就授权服务器通知解析器哪个IP地址有该站点的HTML文件。

最后,解析器会将IP地址反馈en.wikipedia.org给浏览器。

在同一个问题中,许多来回询问不同的服务器,这个过程被称为递归解析。

一般情况下,解析器会要求计算机的操作系统可以提供设置,浏览器才能顺利找到解析器。

操作系统如何知道使用哪个解析器?一般有两种方法。

一、可以为您的计算机配置信任的解析器。但这种做法很少。
二、大多数人只是使用默认的。在默认情况下,操作系统将使用的网络告诉所有的解析器。当计算机连接到网络并获取其IP地址时,网络就会做出建议相关的解析器。

这意味着同一个客户端连接的解析器每天都要更改多次。同一台电脑处于不同位置的网络环境都可提供对应不同的解决方案。

DNS如何被黑客利用?

解析器在发送信息给DNS时,该请求会包含了客户端的完整IP地址,通过IP就可以轻松与其他信息结合找到客户端用户的身份。

当进行域名解析的每台服务器都会查看客户端访问的网站,通往服务器的任何人也可以看到客户端的请求信息。
因此很容易导致用户的数据处于危险之中,存在跟踪和欺骗的风险。

跟踪

如上所述,黑客可通过IP地址信息可以查到客户端的网络行为,这意味着DNS服务器和路径上路由器都可收集客户端信息,查看客户端在网站的浏览记录。


即使DNS服务器或路径路由器是安全的,但用户却无法判断其他公共场所的解析器是否可靠的,是否存在收集用户数据的行为,甚至是贩卖数据。

欺骗

所谓欺骗,是指在DNS服务器和客户端之间的路径更改其相应。伪造一个假的IP地址提供给客户端,这样就可以阻止客户端访问真实的网站,掉入钓鱼网站的陷阱。

这种是十分恶劣的行为。

文章由GDCA翻译于hacks.mozilla。原创作者:Lin Clark,Mozilla开发者团队中的工程师。

上一篇:

下一篇:

相关文章