踏上旅程

“小子,快去查一下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. java spring使用Jackson过滤

    一.问题的提出. 项目使用Spring MVC框架,并用jackson库处理JSON和POJO的转换.在POJO转化成JSON时,希望动态的过滤掉对象的某些属性.所谓动态,是指的运行时,不同的cont ...

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

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

  3. PHP会员找回密码功能的简单实现

    文章来自:博客 http://www.jb51.net/article/91944.htm 设置思路 1.用户注册时需要提供一个E-MAIL邮箱,目的就是用该邮箱找回密码. 2.当用户忘记密码或用户名 ...

  4. Scheduler

    先看看文档对于Scheduler的作用介绍 https://code4craft.gitbooks.io/webmagic-in-action/content/zh/posts/ch1-overvie ...

  5. H3C IPv6地址解析

  6. keep-alive及路由渲染

    切换路由的时候,每次切换的时候得重新渲染一遍,这样的话会影响到性能的.此时用<keep-alive>包裹着app里的<router-view>,进行缓存. 如果一个页面涉及到了 ...

  7. H3C创建本地用户

    [H3C]Local-user wang                 //创建本地用户--对应上面scheme的 [H3C-luser-wang]Password cipher 456      ...

  8. centos7 teamviewer

    Step 1: Install the prerequisites. # yum install glibc alsa-lib freetype libICE libSM libX11 libXau ...

  9. Nodejs模拟并发,尝试的两种解决方案

    一.准备数据库表 创建商品库存表 db_stock ,插入一条数据 DROP TABLE IF EXISTS `db_stock`; CREATE TABLE `db_stock` ( `id` ) ...

  10. Python10_代码规范和可读性

    养成好的编程习惯和方法对提升代码可读性至关重要. 1.类.模块.包:不要用下划线,命名要简短 2.类:命名最好以大写开头 3.模块.包:用小写单词 4.变量.函数.方法:可以用下划线提高可读性,尽量都 ...