手把手教你玩转ARP数据包.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
手把手教你玩转ARP数据包.doc

经常看到论坛有人问起关于数据包的截获、分析等问题,幸好本人也对此略有所知,所以就想写一系列的文章来详细深入的探讨关于数据包的知识,我希望通过这一系列的文章,能使得关于数据包的知识得以普及,所以这系列的每一篇文章我都会有由浅入深的解释、详细的分析、以及编码步骤,另外附上带有详细注释的源码(为了照顾大多数朋友,我提供的都是MFC的源码)。 ? ?? ? 不过由于也是初学者,疏漏之处还望不吝指正。 ? ?? ? 本文凝聚着笔者心血,如要转载,请指明原作者及出处,谢谢!^_^ ? ?? ? OK,. Let’s go !? ?Have fun!! q^_^p 第一篇? ?? ?? ?手把手教你玩转ARP包 目录: 一.? ???关于ARP协议的基础知识 1. ARP的工作原理 2.ARP包的格式 3.ARP包的填充 二。发送数据包的编程实现 1.填充数据包 2.发送数据包 三。一些附加步骤及说明 1.如果在VC中使用winpcap 2.获得网卡信息列表 3.获得系统ARP信息列表 四。ARP包的游戏 1.小伎俩 2.ARP欺骗的实现 3.基于ARP欺骗的监听原理 作者: ? ???CSDN? ?VC/MFC 网络编程 PiggyXP? ?^_^ 一.? ?? ?? ?? ? 关于ARP协议的基础知识 1.ARP的工作原理 ? ?? ? 本来我不想在此重复那些遍地都是的关于ARP的基本常识,但是为了保持文章的完整性以及照顾初学者,我就再啰嗦一些文字吧,资深读者可以直接跳过此节。 ? ?? ? 我们都知道以太网设备比如网卡都有自己全球唯一的MAC地址,它们是以MAC地址来传输以太网数据包的,但是它们却识别不了我们IP包中的IP地址,所以我们在以太网中进行IP通信的时候就需要一个协议来建立IP地址与MAC地址的对应关系,以使IP数据包能发到一个确定的地方去。这就是ARP(Address Resolution Protocol,地址解析协议)。 ? ?? ? 讲到此处,我们可以在命令行窗口中,输入 ? ?? ? arp –a 来看一下效果,类似于这样的条目 00? ???00-0b-5f-e6-c5-d7? ???dynamic 就是我们电脑里存储的关于IP地址与MAC地址的对应关系,dynamic表示是临时存储在ARP缓存中的条目,过一段时间就会超时被删除(xp/2003系统是2分钟)。 ? ?? ? 这样一来,比如我们的电脑要和一台机器比如通信的时候,它会首先去检查arp缓存,查找是否有对应的arp条目,如果没有,就会给这个以太网络发ARP请求包广播询问的对应MAC地址,当然,网络中每台电脑都会收到这个请求包,但是它们发现并非自己,就不会做出相应,而就会给我们的电脑回复一个ARP应答包,告诉我们它的MAC地址是xx-xx-xx-xx-xx-xx,于是我们电脑的ARP缓存就会相应刷新,多了这么一条: ? ? xx-xx-xx-xx-xx-xx? ? dynamic ? ?? ? 为什么要有这么一个ARP缓存呢,试想一下如果没有缓存,我们每发一个IP包都要发个广播查询地址,岂不是又浪费带宽又浪费资源?而且我们的网络设备是无法识别ARP包的真伪的,如果我们按照ARP的格式来发送数据包,只要信息有效计算机就会根据包中的内容做相应的反应. ? ?? ? 试想一下,如果我们按照ARP响应包的相应的内容来刷新自己的ARP缓存中的列表,嘿嘿,那我们岂不是可以根据这点在没有安全防范的网络中玩些ARP包的小把戏了?在后面的文章里我就手把手来教你们如何填充发送ARP包,不过先别急,我们再继续学点基础知识^_^ 2.ARP包的格式 ? ?? ? 既然我们要来做一个我们自己的ARP包,当然首先要学习一下ARP包的格式。 ? ?? ? 从网络底层看来,一个ARP包是分为两个部分的,前面一个是物理帧头,后面一个才是ARP帧。 ? ?? ? 首先,物理帧头,它将存在于任何一个协议数据包的前面,我们称之为DLC Header,因为这个帧头是在数据链路层构造的,并且其主要内容为收发双方的物理地址,以便硬件设备识别。 ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?DLC Header 字段? ?? ?? ?? ?? ?? ? 长度(Byte)? ?? ?? ? 默认值? ?? ?? ?? ?? ???备注 接收方MAC? ?? ? 6? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? 广播时,为 ff-ff-ff-ff-ff-ff 发送方MAC? ?? ? 6? ?? ??? Ethertype? ?? ?? ? 2? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??

文档评论(0)

czy2014 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档