踏上旅程

“小子,快去查一下www.paypal.com的IP地址,我急用,晚了我弄你!”,暴躁老哥一把关上了门,留我一个DNS数据包在冷冰冰的房间。

过了一会儿,一位大叔打开了门,带着我来到了一座叫tcpip大厦。
“等我一下啊,我马上回来”,大汉走进了这座大厦。

这时,我看到旁边另外有一个DNS数据包也在等着。
“Hi,你查什么域名呢?让我看看”,我上前打招呼。

他没有搭理,反而后退了几步,躲开了我。

这一来,我反而更好奇了!我老远瞟了一眼,只看到了部分:

这域名长的好生奇怪,在我的职业生涯还从未见过如此长如此怪异的域名。

没过多久,大叔提着一个箱子走了出来,箱子正面写了三个字母:UDP

“进箱子里去吧!”

“这个箱子也太寒酸了一点吧,才8个字节。你看旁边那位大叔提的TCP箱子多华丽,多厚实,足足有20个字节,能不能换一个?”

“人家是HTTP数据包,你是个DNS数据包,没那个命!不由得你选择,快进去吧,少废话”。

“王侯将相宁有种乎?DNS数据包就不配拥有TCP的箱子吗,我不服!”

“那倒也不是,其实也是可以的,只不过这一趟没机会了”

“咦?真的?”“快走了,废话可真多!”

接着,大叔又给我套了一个叫IP的箱子,把我带到网络码头,过了海关后,我就被发送了出去。

递归解析

很快我就来到DNS服务器。

“欢迎光临,请问需要打听点什么?”,一个留着络腮胡的老头接待了我。

“老板您好,我奉主人之命,想查一下www.paypal.com的IP地址”

“额,我不知道这个域名的地址”

“啊,我家主人说你知道啊,专程让我来问你”

“小兄弟别急,我不知道,但我可以帮你问问大宗师,他或许知道!”

“大宗师?他是谁”

“大宗师就是根域名服务器,遍布整个比特宇宙,总共13位大宗师,天下之事无所不知无所不晓”

“为什么是13位大宗师?”

“我没工夫给你解释,这有个地址:为何根域名服务器只有13个?,你先看着,我去帮你打听,稍候片刻”

片刻之后,老板果然回来了

“怎么样老板,大宗师告诉你www.paypal.com地址了吗?”

“开什么玩笑,大宗师何等尊贵身份,怎么会告诉我这些小网站的地址。”

“啊,那怎么办?”

“他倒是告诉了我一代长老.com的地址,让我去问问他。”
“一代长老又是什么?”

“一代长老就是顶级域名服务器,你所查的www.paypal.com就是归属.com这位一代长老管辖范围的,我再去问问他,他或许知道”

又过了一会儿,老板再次回来。

“怎么样老板,这次该有结果了吧!”

“容我喝口水”,大叔气喘吁吁的说。

“.com长老也不知道,不过他告诉了我负责paypal.com的二代长老地址,我还要再去问问他”

“还有二代长老!你们这不会是个传销组织吧!”

“小兄弟可不要胡言,再这样我不帮忙了”

“老板我错了,麻烦您再跑一趟”

老板又去了一会儿

“查到了,小兄弟,二代长老总算知道www.paypal.com的地址了!”,大叔一边喊着,一边朝我跑来。

“太好了!快发给我家主人”

只见老板一顿操作猛如虎,构建了一个DNS响应包,然后指着我一点,我的灵魂居然来到了这个响应包上。

“小兄弟,坐好了,送你回去复命了!”,老板推了我一把,把我发了出去。

半路遇险

没多久,就被人接收了,没想到回去的路走得比我来时更快。

不过我很快发现,这里不是我原来所在的Windows帝国啊!我有点慌,不知所措。

“小哥,累了吧,来喝口水歇息歇息再赶路吧,我们这里是路由器”,一位美丽的姑娘出现在我面前。

“多谢姑娘,那我就不客气了”,一路奔波正好休息休息,之前经过那么多路由器也没人招待我歇息,这次是遇到好人了。

坐下喝了口水,环顾四周,发现和我之前经过的路由器繁忙的景象不同,这里冷冷清清,并没有什么数据包来往。

心中涌上一股不好的感觉,此地不宜久留,还是速速赶路要紧。

刚起身要走,脑中一片眩晕,很快就两眼一抹黑,不省人事。

不知道过了多久,醒来的时候我又在网络中传输了,刚刚发生了什么一点印象也没了,就好像做了一场梦一般。

再起疑云

过了一会儿,终于回到了出发时的地方,熟悉的Windows帝国。

“你怎么才回来,慢的要死!”,很明显,暴躁老哥已经等得不耐烦了。

“DNS服务器那老板不靠谱,他也不知道,到处打听才帮我问到的这个地址,所以回来的慢了些”。

“等一下,不对!”,老哥一下子眉头紧锁。

“什么不对,IP地址错了吗?这老板,问了半天居然给我问了个错的”,我也有点生气,害我白跑一趟。

“你回来的路上有没有遇到什么人?”

“没有啊,我不记得我···”,话还没说完,我突然想起那位神秘的姑娘,难不成她对我做了什么?

“我什么我,别吞吞吐吐的”

“我想起来了,中途遇到一位姑娘,请我歇息喝口水”,我只好如实交代。

“然后呢?”“然后喝完水我就晕了,不知道发生了什么,醒了就又在网络传输中了,到底哪里不对啊?”,我被弄糊涂了。

“这就对了!你是遇到劫道的了,对方肯定在你晕了之后,修改了你的内容,你的IP地址已经不能使用了”。

“你是怎么知道我被改过啊?”,我非常好奇这一切究竟是怎么回事。

“这要换做以前,被改了我还确实不知道,不过现在不一样了,我们用上了DNSSEC技术,改没改,一验便知!”,老哥非常自豪的跟我说到。

“DNSSEC?这是个啥?”

“还在用DNS啊,又被劫持了吧?要不要试试我们的最新产品httpDNS?”,我还没回过神,隔壁QB浏览器公司的胖虎不知何时跑了过来。

“httpDNS?这又是个啥?”,我和老哥异口同声的问到。

未完待续·······

彩蛋

“老周,发现有可疑DNS请求,域名非常古怪”

“保持关注,去打听一下是哪个进程,注意别打草惊蛇”

欲知后事如何,请关注后续精彩......

精彩回顾

DDoS攻击:无限战争

一条SQL注入引出的惊天大案

内核地址空间大冒险:系统调用

闯荡Linux帝国:nginx的创业故事

一个HTTP数据包的奇幻之旅

远去的传说:安全软件群雄混战史

我是一个流氓软件线程

产品vs程序员:你知道www是怎么来的吗?

比特宇宙-TCP/IP的诞生

我是一个IE浏览器线程

我是一个杀毒软件线程

我是一个explorer的线程

一个DNS数据包的惊险之旅的更多相关文章

  1. 用wiershark抓dns数据包

    wireshark是非常好的抓包工具,捕获工具也很强大.比如说我只要抓dns数据包,其他数据包全部丢弃. 步骤如下: 选择菜单->捕获-捕获接口-输入-所选择接口的捕获过滤器:port 53 1 ...

  2. 一个HTTP数据包的奇幻之旅

    我是一个HTTP数据包,不知谁创建了我,把我丢到这个房间. 突然,来了一个大汉,我吓得缩到角落. “该启程了,站起来”. “去哪里啊?” 我弱弱的问. “还能去哪里,你是一个数据包,当然要出远门,完成 ...

  3. 我是一个Dubbo数据包...

    hello,大家好呀,我是小楼! 今天给大家带来一篇关于Dubbo IO交互的文章,本文是一位同事写的文章,用有趣的文字把枯燥的知识点写出来,通俗易懂,非常有意思,所以迫不及待找作者授权然后分享给大家 ...

  4. 基于Libpcap实现一个网络数据包嗅探器

    基本功能就是来捕获所有流经本网卡的数据包. 实现流程: 查找网络设备 打开网络设备 查找设备信息 输入过滤规则 编译输入规则 设置输入规则 开始捕获数据包 调用数据包分析模块 输出MAC,IP,协议以 ...

  5. Linux数据包路由原理、Iptables/netfilter入门学习

    相关学习资料 https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html http://zh.wik ...

  6. Wireshark数据抓包教程之认识捕获分析数据包

    Wireshark数据抓包教程之认识捕获分析数据包 认识Wireshark捕获数据包 当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了.Wiresh ...

  7. Windows下底层数据包发送实战

    1.简介 所谓“底层数据包”指的是在“运行”于数据链路层的数据包,简单的说就是“以太网帧”,而我们常用的Socket只能发送“运行”在传输层的TCP.UDP等包,这些传输层数据包已经能满足绝大部分需求 ...

  8. IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习

    相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...

  9. 对于数据包的截取,使用linux中的netfilter钩子函数

    http://blog.csdn.net/wswifth/article/details/5115358 在师哥的代码(packet.c)中使用的是Linux2.4内核中的一个子系统:netfilte ...

随机推荐

  1. LA 5031 Graph and Queries —— Treap名次树

    离线做法,逆序执行操作,那么原本的删除边的操作变为加入边的操作,用名次树维护每一个连通分量的名次,加边操作即是连通分量合并操作,每次将结点数小的子树向结点数大的子树合并,那么单次合并复杂度O(n1lo ...

  2. JPA一对多循环引用的解决&&JackSon无限递归问题

    说是解决,其实不是很完美的解决的,写出来只是想记录一下这个问题或者看一下有没有哪位仁兄会的,能否知道一二. 下面说说出现问题: 问题是这样的,当我查询一个一对多的实体的时候,工具直接就爆了,差不多我就 ...

  3. MVC3 学习笔记 之(ajax表单)

    mvc 提供了一种ajax提交表单的方式.与普通表单不同的是,它是一个异步表单. 在开始使用之前,需要引用以下文件: <script src="@Url.Content("~ ...

  4. vue-learning:21 - js - mixins

    mixins 混入是一种对重复代码的组织方式,可以在多个组件间复用代码. 如果在项目中,在多个组件间有一段逻辑代码是共同的.那常见的处理方式是: 每个组件都复制粘贴代码(显然这是最不好方式) 将以共同 ...

  5. 2018-2-13-git-合并两个仓库

    title author date CreateTime categories git 合并两个仓库 lindexi 2018-2-13 17:23:3 +0800 2018-2-13 17:23:3 ...

  6. codeforces gym100801 Problem G. Graph

    传送门:https://codeforces.com/gym/100801 题意: 给你一个DAG图,你最多可以进行k次操作,每次操作可以连一条有向边,问你经过连边操作后最小拓扑序的最大值是多少 题解 ...

  7. 两种高效的事件处理模式(Proactor和Reactor)

    典型的多线程服务器的线程模型 1. 每个请求创建一个线程,使用阻塞式 I/O 操作 这是最简单的线程模型,1个线程处理1个连接的全部生命周期.该模型的优点在于:这个模型足够简单,它可以实现复杂的业务场 ...

  8. PHP四大主流框架的优缺点总结

    本篇文章我们来讲讲PHP四大框架的优缺点都有哪些,让你们在开发中更好的去选择使用哪款PHP框架去完成项目,废话不多说,我们一起来看看吧!! ThinkPHP ThinkPHP(FCS)是一个轻量级的中 ...

  9. 工厂设计模式灵魂拷问-Java实现

    show me the code and take to me,做的出来更要说的明白 GitHub项目JavaHouse同步收录 喜欢就点个赞呗! 你的支持是我分享的动力! 引入 我们经常听到工厂模式 ...

  10. 剑指Offer-62.数据流中的中位数(C++/Java)

    题目: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值.我们使 ...