一个DNS数据包的惊险之旅
踏上旅程
“小子,快去查一下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请求,域名非常古怪”
“保持关注,去打听一下是哪个进程,注意别打草惊蛇”
欲知后事如何,请关注后续精彩......
精彩回顾:
一个DNS数据包的惊险之旅的更多相关文章
- 用wiershark抓dns数据包
wireshark是非常好的抓包工具,捕获工具也很强大.比如说我只要抓dns数据包,其他数据包全部丢弃. 步骤如下: 选择菜单->捕获-捕获接口-输入-所选择接口的捕获过滤器:port 53 1 ...
- 一个HTTP数据包的奇幻之旅
我是一个HTTP数据包,不知谁创建了我,把我丢到这个房间. 突然,来了一个大汉,我吓得缩到角落. “该启程了,站起来”. “去哪里啊?” 我弱弱的问. “还能去哪里,你是一个数据包,当然要出远门,完成 ...
- 我是一个Dubbo数据包...
hello,大家好呀,我是小楼! 今天给大家带来一篇关于Dubbo IO交互的文章,本文是一位同事写的文章,用有趣的文字把枯燥的知识点写出来,通俗易懂,非常有意思,所以迫不及待找作者授权然后分享给大家 ...
- 基于Libpcap实现一个网络数据包嗅探器
基本功能就是来捕获所有流经本网卡的数据包. 实现流程: 查找网络设备 打开网络设备 查找设备信息 输入过滤规则 编译输入规则 设置输入规则 开始捕获数据包 调用数据包分析模块 输出MAC,IP,协议以 ...
- Linux数据包路由原理、Iptables/netfilter入门学习
相关学习资料 https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html http://zh.wik ...
- Wireshark数据抓包教程之认识捕获分析数据包
Wireshark数据抓包教程之认识捕获分析数据包 认识Wireshark捕获数据包 当我们对Wireshark主窗口各部分作用了解了,学会捕获数据了,接下来就该去认识这些捕获的数据包了.Wiresh ...
- Windows下底层数据包发送实战
1.简介 所谓“底层数据包”指的是在“运行”于数据链路层的数据包,简单的说就是“以太网帧”,而我们常用的Socket只能发送“运行”在传输层的TCP.UDP等包,这些传输层数据包已经能满足绝大部分需求 ...
- IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...
- 对于数据包的截取,使用linux中的netfilter钩子函数
http://blog.csdn.net/wswifth/article/details/5115358 在师哥的代码(packet.c)中使用的是Linux2.4内核中的一个子系统:netfilte ...
随机推荐
- java spring使用Jackson过滤
一.问题的提出. 项目使用Spring MVC框架,并用jackson库处理JSON和POJO的转换.在POJO转化成JSON时,希望动态的过滤掉对象的某些属性.所谓动态,是指的运行时,不同的cont ...
- LA 5031 Graph and Queries —— Treap名次树
离线做法,逆序执行操作,那么原本的删除边的操作变为加入边的操作,用名次树维护每一个连通分量的名次,加边操作即是连通分量合并操作,每次将结点数小的子树向结点数大的子树合并,那么单次合并复杂度O(n1lo ...
- PHP会员找回密码功能的简单实现
文章来自:博客 http://www.jb51.net/article/91944.htm 设置思路 1.用户注册时需要提供一个E-MAIL邮箱,目的就是用该邮箱找回密码. 2.当用户忘记密码或用户名 ...
- Scheduler
先看看文档对于Scheduler的作用介绍 https://code4craft.gitbooks.io/webmagic-in-action/content/zh/posts/ch1-overvie ...
- H3C IPv6地址解析
- keep-alive及路由渲染
切换路由的时候,每次切换的时候得重新渲染一遍,这样的话会影响到性能的.此时用<keep-alive>包裹着app里的<router-view>,进行缓存. 如果一个页面涉及到了 ...
- H3C创建本地用户
[H3C]Local-user wang //创建本地用户--对应上面scheme的 [H3C-luser-wang]Password cipher 456 ...
- centos7 teamviewer
Step 1: Install the prerequisites. # yum install glibc alsa-lib freetype libICE libSM libX11 libXau ...
- Nodejs模拟并发,尝试的两种解决方案
一.准备数据库表 创建商品库存表 db_stock ,插入一条数据 DROP TABLE IF EXISTS `db_stock`; CREATE TABLE `db_stock` ( `id` ) ...
- Python10_代码规范和可读性
养成好的编程习惯和方法对提升代码可读性至关重要. 1.类.模块.包:不要用下划线,命名要简短 2.类:命名最好以大写开头 3.模块.包:用小写单词 4.变量.函数.方法:可以用下划线提高可读性,尽量都 ...