什么是劫持、投毒、解析看这文就懂了!

核心提示作者 | 寒食君【CSDN编者按】对于互联网,人们总是高谈阔论,却很少有人愿意去了解电脑、手机、电视这些设备到底是如何被“连接”起来的。本文通过“我”,一个普通的网络请求的视角,给大家介绍下“我”的工作流程是如何的。人们动动手指,点点鼠标,

作者|冷食君

【CSDN编者按】人们总是对互联网说得很多,但很少有人愿意知道电脑、手机和电视最终是如何“连接”起来的。本文从一个普通的网络请求“我”的角度来介绍“我”的工作流程。

当人们移动手指,点击鼠标时,画面和视频会立即显示在屏幕上。然而,这一切都不是理所当然的。在五彩缤纷的互联网世界下,我们夜以继日地工作。

我是一个普通的网络请求者。我很小,但我总是在尽我的职责——寻找分配的资源,并将其交付给我的主人。就像这座城市里成千上万名不知名的快递小哥一样,穿梭在建筑之间,完成自己的使命。

不同的是,现实的网络环境并不像现代城市那样光鲜亮丽。它黑暗、潮湿,充满未知的危险,就像一片黑暗的森林。而我想做的是彻头彻尾的冒险。

URL和IP到底是什么?

我的冒险从一张“羊皮纸”开始。那天,浏览器大叔神神秘秘地跟我打招呼,告诉我CPU已经下达命令:派特使去外国访问。而我是大叔最好的门生,也是这种任务最合适的人选。叔叔给我准备了一张羊皮纸,上面记录了我这次冒险所需的必要信息。

很自然的,我接过来,马上出发了。

我慢慢打开羊皮纸,第一行写着:网址:https://mail.google.com。

什么是“网址”?我在脑子里迅速回忆了一下,没错!即URL统一资源定位符的缩写,翻译成中文就是“统一资源定位符”。因为互联网世界里有无数的资源,每一个资源都需要一个标记来定位,就像人类城市里的门牌号一样。

可能有人会想,现在有了门牌号,找指定地点不是很容易吗?朋友,我也希望如此,但现实往往没那么简单。

即使有了网址,原谅我的愚蠢,我还是无法直接理解它所指向的目的地。因为这是人类语言,我不会翻译。

对我来说,IP地址是唯一的坐标。什么是IP?即IP协议的缩写,中文翻译为“互联网协议”。这是一个众所周知的名字,也是互联网的基石之一。所有依赖互联网通信的软件都必须遵循此协议。

那么,如何才能把域名转换成IP地址呢?

浏览器大叔平日工作后很细心。他整理了一份用户访问过的网站的“域名-IP对应列表”。如果是记录的IP地址,那么他会直接告诉我可以马上去目标IP地址,这就是浏览器缓存的作用。

如果用户输入的URL不在浏览器的记录范围内,操作系统将查找名为“hosts”的文件。它是记录域名和IP地址映射的文本。如果“主机”能告诉我目的地的IP地址,也会节省我很多时间。这是系统缓存。

此外,还有路由器缓存。相信不用我介绍,就是路由器中存储的域名-IP映射。

这些缓存可以有效的帮助我尽快找到对应的IP地址。然而互联网世界日新月异,各种资源层出不穷。在许多情况下,用户会希望访问一个没有记录在任何缓存中的全新域名。

所以人类专门设计了DNS。在这个任务中,我的第一站是冲DNS。为了更短的响应时间和更好的用户体验,我工作得很快。

DNS劫持的记忆

什么是DNS?域名系统全称是映射域名和IP的分布式数据库。

全世界有许多DNS服务中心。如果你关心你的电脑,你会发现你的网卡上有一个“DNS服务器”的配置项,设置了我要到达的目的地。

转眼间,我来到了114.114.114.114DNS中心。

这个地方我去过很多次了。表面上风平浪静,实则暗流涌动。我小心翼翼地来到服务大厅,不禁想起了自己第一次被DNS劫持的经历。

那天,我来到服务窗口,柜员热情接待了我。

“先生,你要查哪个地址?”那时候我还是一个新上线的要求,还年轻在人间。我不知道一些不能说的规定,就不假思索地回答:“你好,我要去著名的mail.google.com!”

柜员的表情立刻僵住了。他上下打量着我,然后勉强笑了笑。“好的,先生,请稍等。”说完,他向旁边的同事使了个眼色。我正纳闷,突然魁梧的警卫出现在两边,把我拖到一个地方。

我意识到有些不对劲。“到底是怎么回事?!你为什么劫持我?”我疯了。我在尖叫。

“你好,根据这个ISP发布的规定,你所说的网站在世界上是不存在的。现在我怀疑你是一个不符合要求的网络请求,并将你转发到Baidu.com的IP地址。你有权保持沉默!”警卫冷冷地看着我。

我知道,现在想解释或者挣扎都没有用。只怪自己太年轻。无奈,只好乖乖就范。

幸运的是,当时正在使用电脑的用户有一定的网络知识。当他发现自己输入了google,返回了百度的页面,他并没有责怪我。也许他心里已经猜到了原因。于是他将网卡的DNS配置为:8.8.8.8,一家国际“不存在”的公司提供的DNS服务中心。

这是畅通无阻访问互联网的唯一方法吗?被DNS劫持后,我依然不敢放松。

我遇到过DNS中毒。

休息之前,浏览器大叔再次给我布置了一个任务:继续尝试向mail.google.com请求资源。

人类要飞到国外去拿护照。我们的网络请求也是如此。国际出口只会部署在全国几个主要城市,所有访问海外资源的网络请求都要经过这里接受检查。

与上次不同的是,因为这次我要访问的DNS服务器位于海外,所以我首先来到了大中华区LAN的上海国际出口。

去上海的一路上真的好累好累。正当我准备安检的时候,一个穿制服的年轻人在通道附近走了过来。

我还没来得及说话,他就热情地跟我打招呼:“我这位远道而来的朋友一定很累了吧?天这么热,先喝杯水吧!”我悄悄看了看他,看他应该是个服务人员的打扮。

“国际出口完全不同。服务真的很到位!”因为实在渴了,所以放松了警惕。“啊,太酷了,谢谢……”我叹了口气,接过那家伙递过来的水。

但我还没来得及说第二个字“谢谢”,就立刻感到一阵眩晕。

“糟糕!遇到黑客了,这是DNS中毒!”我的视线渐渐模糊,那家伙的笑容渐渐好像变成了狞笑。我尽力在脑海中搜索与这一切相关的知识,想知道寻求的方法。

DNS中毒,英文叫DNS缓存中毒,也叫DNS污染。从客户端向DNS服务器发送IP查询请求到向客户端返回响应,如果黑客或其他一些无法形容的工具伪造并返回错误的DNS响应,用户将无法访问真正的资源。

想到这里,我已经明显感到很难控制自己的身体了。当眼前一片漆黑时,我什么也不知道。

正常DNS解析

之前发生的危险情况历历在目,现在想起来还是心有余悸。这一次,为了确保万无一失,我精力异常充沛。

这一次,我成功地来到了8.8.8.8 DNS服务中心。

“你好亲爱的,有什么事吗?”软妹的声音从服务窗口传来。

“我想查一下mail.google.com这个域名的IP地址”我试探性地问道,依然不敢放松。

“好的,亲爱的,在这里,通过树形搜索,在顶级域名com下,可以找到谷歌目录,在谷歌目录下,可以找到邮件。IP地址是xx.xxx.xx。”

我松了口气,谢天谢地,终于有结果了。但我知道,作为一个完整的网络请求,这只是一个开始,这是万里长征的第一步。我得赶紧把这个分析结果带回来,之后还要马不停蹄地跑三趟建立联系。

作者简介:韩世军,95后开发者,目前就职于爱奇艺。热爱科技,更要热爱艺术,一个有思想的观察者,愿意和你一起聆听互联网的脉搏。声明:本文由作者投稿,版权归作者所有。

【结束】

作为一个代码生成,我想教代码生成二,但我不能开始:

听说少儿编程很吃香,但是它的优势在哪里?

孩子几岁开始学习比较好?怎么学?

有哪些最新的编程教育政策?

这是CSDN的新成员:极客宝贝

他知道的更多

 
友情链接
鄂ICP备19019357号-22