一个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 ...
随机推荐
- H3C Basic NAT
- 【u228】圣诞树
[问题描述] 圣诞特别礼物挂在一棵圣诞树上,这棵树有n层,每层有一件礼物,每件礼物都有一个价值,有的礼物还有一些连结线,与下层的礼物相连,领取礼物的规则如下:任选一件礼物,它的下面如果有连结线,则可以 ...
- [转]Android自定义控件:进度条的四种实现方式(Progress Wheel的解析)
最近一直在学习自定义控件,搜了许多大牛们Blog里分享的小教程,也上GitHub找了一些类似的控件进行学习.发现读起来都不太好懂,就想写这么一篇东西作为学习笔记吧. 一.控件介绍: 进度条在App中非 ...
- npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted)
问题现象 原因 1.初次看报错日志内容,定义权限为问题,后来查资料才知道是缓存问题. 解决方法 1.简单直接 直接删除 npmrc文件 tips: 不是nodejs安装目录npm模块下的那个npmrc ...
- js基础——流程控制语句
1.if语句 if(条件表达式){ 若条件成立只执行我,下面的分支不执行 }else if(条件表达式){ 语句; }else if(条件表达式){ 语句; }else{ ...
- SpringMVC 非注解配置
web.xml配置: <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>o ...
- H3C STP配置示例
- MFC 任务托盘显示气泡
void CTestDlg::OnClose() { ShowWindow(SW_HIDE); if (!m_bHideNoticeInfo) { ShowBalloonTip(_T(, ); m_b ...
- 【u035】奶牛的电信
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 农夫约翰的奶牛们喜欢通过电邮保持联系,于是她们建立了一个奶牛电脑网络,以便互相交流.这些机器用如下的方 ...
- [板子]Kruskal
众所周知求最小生成树的两种方法: 1.Kruskal 2.Prim 这里只挂第一种,因为noip掌握第一种就够了. 两种做法的区别可以参考这个博客:http://blog.csdn.net/molln ...