- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DNS欺骗技术研究和实现
DNS欺骗技术研究和实现
[摘要]DNS欺骗攻击是攻击者常用的手法,它具有隐蔽性强、打击面广、攻击效果明显的特点。分析在以太网中利用对网络数据监听,来截获DNS报文,进而伪造DNS报文进行DNS欺骗的技术,并给出基于WinPcap的实现。
[关键词]DNS 欺骗 监听 WinPcap
中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0810042-01
一、DNS欺骗的基本原理
我们在设置我们的网络时经常要设置DNS地址。当我们输入一个网址的时候,就有一个DNS请求发到设置的DNS服务器上去,然后DNS服务器告诉你你访问的网站对应的IP。于是你的浏览器就会到相应的IP上面去取回网页。那么如果我想欺骗你,我只需要在DNS服务器给你答复之前给你一个假的回答就可以了。但在三层交换网络中,只有广播包会发到所有端口,其他包都只会在对应端口之间传送。要让他的DNS查询发到你的机器上来就需要伪装成网关,因为我们是通过网关上网,所以所有外发的包都要过网关。
而且ARP是后更新的,他和DNS相反,DNS对先到的回答做相应,ARP对后到的消息做缓存更新,于是我们就想出了一个好办法,比如我的MAC是01:02:03:04:05:06。首先,我告诉我想欺骗的主机,我是网关,比如我给172.30.52.174的主机发一个ARP查询或应答包说172.30.52.1(网关)对应的MAC是01:02:03:04:05:06,同时告诉网关172.30.52.174
的IP对应的MAC是01:02:03:04:05:06于是172.30.52.174把发给网关的包都给了我,同时网关也把给172.30.52.174的包都给了我,我在他们之间做一个包转发,就行了,这样所有的包都通过我了,后面的DNS欺骗就和前面一样了。
二、系统流程图
三、打开网卡并捕获数据流
DNS欺骗的基础是捕获DNS请求的数据包。首先我们就介绍如何捕获数据包。promisc指明网卡处于混杂模式,在正常情况下网卡只接受去往它的包而去往其他主机的数据包则被忽略。相反当网卡处于混杂模式时他将接收所有的流经它的数据包:这就意味着在共享介质的情况下我门可以捕获到其它主机的数据包。大部分的包捕获程序都将混杂模式设为默认,所有我们在下面的例子里也将网卡设为混杂模式。
to_ms参数指定读数据的超时控制,超时以毫秒计算。当在超时时间内网卡上没有数据到来时对网卡的读操作将返回。还有,如果网卡处于统计模式下to_ms还定义了统计的时间间隔。如果该参数为0那么意味着没有超时控制,对网卡的读操作在没有数据到来是将永远堵塞。如果为-1那么对网卡的读操作将立即返回不管有没有数据可读。
一旦网卡被打开,就可以调用pcap_dispatch()或pcap_loop()进行数据的捕获,这两个函数的功能十分相似不同的是pcap_dispatch()可以不被阻塞,而pcap_loop()在没有数据流到达时将阻塞。在简单的例子里用pcap_loop()就足够了,而在一些复杂的程序里往往用pcap_dispatch()。
这两个函数都有返回的参数,一个指向某个函数(该函数用来接受数据如该程序中的packet_handler)的指针,libpcap调用该函数对每个从网上到来的数据包进行处理和接收数据包。另一个参数是带有时间戳和包长等信息的头部,最后一个是含有所有协议头部数据报的实际数据。
四、一些协议和数据结构
首先我们来看DNS的包结构,我们知道DNS可以通过TCP也可以通过UDP传输,不过实际使用中99%以上使用UDP。所以下面只是对UDP的DNS做阐述。
DNS包结构是:以太网头+IP头+UDP头+DNS部分(B代表字节)
从以太网头开始:目的MAC(6B) | 源MAC(6B) | 0x0800(2B表示上层是IP)
IP头:协议版本和IP头长度(1B) | 服务(1B) | IP包长度(2B,去以太网头的长度) | ID号(2B) | 标识(1B) | 偏移(1B) | TTL(1B) | 0x11(上层协议UDP) | IP校验和(2B) | 源IP(4B) | 目的IP(4B)
UDP头:源端口(2B) | 目的端口(2B) | UDP包长度(2B,去以太网头和IP头) | UDP校验和(2B)
DNS部分:ID号(2B很重要) | 标识(2B) | 问题数目(2B) | 回答数目(2B) | 权威回答数目(2B) | 附加数目(2B) | 问题字段(长度不定) | 回答字段(长度不定) | 权威字段(长度不定) | 附加字
您可能关注的文档
最近下载
- 2025省教练员、裁判员国培考试题库.docx VIP
- 110kv变电站电气一次系统设计.docx VIP
- (高清版)DB44∕T 2427-2023 《加氢站运营管理规范》.pdf VIP
- 劳务分包合同协议范本.docx VIP
- 高三化学 二轮示范课化学反应中的能量变化.ppt VIP
- 煤炭工业露天矿机电设备修理设施设计规范.docx VIP
- 七年级数学上册5.1.1 从算式到方程.pptx VIP
- 第三单元知识盘点(含字词、佳句、感知、考点)五年级语文下册 部编版.docx VIP
- 2023年上海电机学院计算机应用技术专业《数据结构与算法》科目期末试卷A(有答案).docx VIP
- 过程分析系统与分析小屋技术规定.doc VIP
原创力文档


文档评论(0)