欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPTX文档下载  

    第4章 ARP协议分析.pptx

    • 资源ID:21713483       资源大小:244.58KB        全文页数:44页
    • 资源格式: PPTX        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章 ARP协议分析.pptx

    l网络上任意两台计算机之间的信息传送,最终都是依靠物理地址来实现的。l在网络接口层使用的地址就是物理地址。l本章讨论怎样把物理地址与在TCP/IP互联网络上标识主机的IP地址关联起来,着重介绍ARP(地址解析协议),简单介绍RARP(逆地址解析协议)。0第第4章章 地址解析协议分析地址解析协议分析4.1 4.1 物理地址和网络地址的转换物理地址和网络地址的转换l数据链路如以太网或令牌环网都有自己的寻址机制,即采用物理地址来标识通信接口,对以太网这个地址也叫MAC地址,即IEEE802.3规定的48bit地址格式。l在相邻的两个节点间传送数据帧时,以物理地址来封装数据帧。l在网络层,用网络地址来标示通信节点,用以确定报文的转发路由。对IP网络这个地址即IP地址。1l在将IP分组封装到数据链路帧中的时候,协议栈需要获得IP地址对应的网络接口的硬件地址。lARP为IP地址到对应的硬件地址之间提供动态映射。l动态即指这个过程是由系统协议栈自动完成将某个IP地址解析成对应的MAC地址。l对于那些没有磁盘驱动器的系统,一般是无盘工作站和X终端在引导时需要获得IP地址,即已获得网络接口的硬件地址但没有IP地址的情况,这时便需要RARP来完成地址转换。24.2 ARP4.2 ARP协议工作原理协议工作原理4.2.1 地址解析的例子l下面通过运行一个常见的网络通信命令的例子来分析地址解析时网络协议栈的操作。l假定在局域网中连接有一台名为mytest.mydomain的Linux主机并已经开启Telnet服务,在局域网中另一台主机的终端里敲入下面的命令:$telnet mytest.mydomain34 系统网络协议栈中将进行下面的步骤,这些步骤在图4-1中用对应的序号标注出来了。应用程序Telnet先通过DNS过程获得目标主机的IP地址,然后客户端用得到的IP地址来和远端的主机建立一个TCP连接,即用上述的IP地址来构造出一封包含TCP连接请求的IP数据报。IP数据报需要被传送到位于本地网络上的目的主机或路由器上,为此,发送主机必须先把32bit的IP地址转换成48bit的以太网地址(对以太网)从而构造出链路层的帧(需要链路层目的MAC地址)来发送。54.2 ARP4.2 ARP协议工作原理协议工作原理 从逻辑Internet地址到对应的物理硬件地址需要进行翻译,这就是ARP的功能。如果发送主机不能够在自己的ARP数据库中获得地址映射所需要的数据,则广播一个ARP请求帧给以太网上的每个主机,这个过程称作ARP。如图4-1中的虚线所示。ARP请求帧中包含目的主机的IP地址,其用意是希望该IP地址的拥有者发回其硬件地址。目的主机的ARP层收到这份广播报文后,构造一个包含自己IP地址及对应的硬件地址的ARP应答返回给请求者。64.2 ARP4.2 ARP协议工作原理协议工作原理 发送主机收到ARP应答后,得到数据传送下一站的MAC地址,从而可以构造出链路层帧。这时IP数据报就可以传送了。l要注意的是,ARP请求是广播的,因此ARP请求帧不能穿越路由器,因为路由器对于广播报文是不转发的。l另外点对点链路不需要使用ARP。74.2.2 ARP协议的工作过程l实现ARP功能,将32bit的IP地址映射到48 bit的以太网物理地址可以有不同的方式。常用的方式一种是直接方式,一种是动态绑定方式,也叫动态联编方式。l直接方式是事先在主机中建立一张IP地址到物理地址的映射表,这是一个静态的数据库,需要人工来建立和维护,对大规模的网络不太适合,同时可能更新不及时。但这种静态的地址绑定方式却可以满足一些特殊的要求,比如安全需要。84.2 ARP4.2 ARP协议工作原理协议工作原理lARP协议的工作主要采用动态绑定方式,即通过ARP动态地广播地址转换请求,只在本地维护一个动态的高速缓存来实现地址映射数据的存放。lARP功能实现的具体工作过程可以描述如下:(1)每个主机上都有一个ARP高速缓存,这个高速缓存存放了最近使用的IP地址到硬件地址之间的映射记录。(2)当发送端封装IP分组时,要先在高速缓存中查找相应的地址映射记录。9 (3)如果找不到,则ARP发送一份称作ARP请求的以太网数据帧给以太网上的每个主机,这个过程称作ARP广播。(4)目的主机的ARP层收到这份广播报文后,识别出这是发送端在寻问它的IP地址,于是发送一个包含IP地址及对应的硬件地址的ARP应答给发送方主机。(5)收到ARP应答后,发送方就可以传送IP数据报了。l可以看到,ARP高效运行的关键就是主机中有存放最近一段时间的IP地址到硬件地址之间映射记录的高速缓存。104.2 ARP4.2 ARP协议工作原理协议工作原理l在每台使用ARP的主机中,都保留了一个专用的高速缓存区,存放最新获得的IP地址到物理地址的映射数据。l一旦收到ARP应答,主机就将从应答中得到的对方主机的IP地址和物理地址存入缓存。当要发送报文时,主机首先去缓存中查找相应的数据,如果找不到再利用ARP进行地址广播。l对ARP缓存必须建立一种超时机制,使得缓存中的数据在超时后自动失效,才能保证协议的可靠运行。l如果不设超时会有什么问题呢?11l一般ARP协议使用计时器方法,当计时器超时后则删除地址绑定数据。例如,在地址绑定信息放入ARP缓存时协议需要设置一个计时器,一般典型的超时时间是20分钟,超时后可以把地址信息删除。l如果删除信息后又有分组需要发送到这个地址,则只需遵循通常的过程,广播一个ARP请求即可。124.2 ARP4.2 ARP协议工作原理协议工作原理l为提高效率,ARP高速缓存还做了以下的改进:(1)在ARP请求报文中存有发送方的IP地址与物理地址的绑定,这样如果接收方的高速缓存中没有该地址绑定信息,那么接收方可把收到的ARP请求报文中发送方的地址信息添加到自己的高速缓存中。怎样通过实验来验证这一点?(2)发送方在广播自己的地址绑定时,网上所有主机都可以将该绑定信息存入自己的高速缓存。不过不是所有的网络设备或系统实现都支持这样的情况。13 (3)新机入网时或主机更换网卡时,会主动广播地址绑定信息,以免其他主机对其进行ARP请求,这就是免费ARP(gratuitous ARP)。l可以用arp命令来检查和操作ARP高速缓存的内容(命令用法见实验4-1)。l思考:捕获到单播的ARP请求 RFC1122 Unicast Poll144.2 ARP4.2 ARP协议工作原理协议工作原理154.2.3 ARP4.2.3 ARP协议报文格式协议报文格式ARPARP报文直接与数据链路层通信。报文直接与数据链路层通信。封装有封装有ARPARP分组的以太网帧报文格式如图分组的以太网帧报文格式如图4-24-2所示。所示。l以太网报头中若目的地址为全1则是广播地址,在ARP请求报文中会用到。l以太网帧类型对于ARP请求或应答来说,该字段的值为0 x0806。lARP报文包含9个字段,其报文大小根据本地网络媒介上使用的物理地址的大小的变化而变化。当物理媒介是以太网时,在图4-2中标示出的长度为28字节。l报文的前5个字段,用来提供ARP报文的整体功能的描述,后4个字段是ARP有关的具体地址信息。164.2 ARP4.2 ARP协议工作原理协议工作原理l各个字段的含义解释如下:1)硬件类型:2字节,表示被请求的硬件地址的类型。DIX Ethernet的地址类型值为1,IEEE802.X的类型值为6,还可以有其他的类型取值。2)协议类型:2字节,表示要映射的协议地址类型。取值为0 x0800即表示IP地址(这个值与包含IP数据报的以太网数据帧中的类型字段的值相同)。ARP并不只专用于IP,可以让任何高层协议用来寻找与高层协议地址相关的硬件地址。17 3)硬件地址长度:1字节,根据硬件类型确定的硬件地址的字节数。对以太网这个值是6。4)协议地址长度:1字节,高层协议地址的长度,以字节为单位。对于IP协议来说这个地址的值总是4。5)操作:2字节,表示ARP报文类型。这个字段也叫操作码,用于区分报文是ARP请求还是应答,或者是RARP请求或应答。这个字段是必需的,因为ARP请求和ARP应答的帧类型字段值是相同的。操作字段的取值如表4-1所示。184.2 ARP4.2 ARP协议工作原理协议工作原理 6)发送端硬件地址:发送该ARP报文的主机硬件地址。对以太网,这个字段长度总是6个字节,即48bit的MAC地址。7)发送端网络地址:对IP网络,这就是发送该ARP报文的主机IP地址,长度是4字节。19 8)接收端硬件地址:该ARP报文的目的地主机的硬件地址。对以太网这个字段长度也是6个字节。9)接收端网络地址:4字节,ARP报文目的地主机的IP地址。204.2 ARP4.2 ARP协议工作原理协议工作原理l当一个设备发送ARP请求时,先要填充报文中后4个与地址相关的字段中的3个,即发送端硬件地址和IP地址,还提供目标的IP地址,因为目标的硬件地址是不知道的,此时这个字段填充为0。l另外会设置操作类型字段为“1”表明当前的报文是一个ARP请求。l然后在局域网上广播这个请求,使得所有设备都能侦听到。l一旦主机侦听到针对自己的地址请求,则提供自己的硬件地址构造响应报文反馈给请求主机,ARP响应报文中交换请求方和响应方的IP地址和硬件地址信息,把响应报文操作类型字段设置为“2”表明当前报文是一个ARP应答。l该报文会直接传播给远端请求者而不再是广播发送。214.2 ARP4.2 ARP协议工作原理协议工作原理4.3 4.3 特殊的特殊的ARPARP 由于主机工作的特殊时期或网络连接的特定状况,会形成特殊的ARP工作状况,分别是免费ARP和代理ARP。4.3.1免费ARP(gratuitous ARP)l免费ARP是指主机发送ARP请求查找自己的IP地址。l这时候,ARP请求报文中发送端的IP地址和目的端的IP地址是一样的,同时这个ARP请求不希望得到ARP应答。l免费ARP通常发生在系统引导期间进行接口配置的时候。22l主机系统重新引导有可能引发和地址有关的变化,这需要及时地通知到网络上,以便其他主机及时更新其相关的地址绑定信息。l因此免费ARP通常有两个方面的作用:(1)测试网络上是否存在重复的IP地址。免费ARP其实是在局域网中广播自己的地址绑定关系。如果另一台主机响应这个ARP请求,说明该IP地址已经在使用,那么该主机就不能够初始化自己的TCP/IP栈。主机发出免费ARP请求,却并不希望收到相应的ARP应答。23(2)更新网络上其他主机中的地址绑定信息。l如果发送免费ARP的主机的IP地址并未变化,但正好改变了硬件地址,比如更换了网卡,那么这个分组就可以使网络上其他主机对其高速缓存中旧的硬件地址进行相应的更新。l根据ARP协议的规定,网络上的主机如果收到某个IP地址的ARP请求并且这个地址已经在接收者的高速缓存中,那么就要用ARP请求中发送的硬件地址对高速缓存中相应的内容进行更新。主机接收到任何ARP请求都要完成这个操作。244.3 4.3 特殊的特殊的ARPARP4.3.2 代理ARP(Proxy ARP)l也叫ARP代理。是指如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答该请求,这个过程称作代理ARP。l考查如图4-3的网络,路由器Router0连接了两个局域网192.168.1.0/24和192.168.2.0/16。路由器上只做了静态路由配置。图中已经把路由器和各个主机的接口IP地址和MAC地址标示出来了。25264.3 4.3 特殊的特殊的ARPARP注意图注意图4-34-3右边右边的网络的网络192.168.2.0/16192.168.2.0/16的网络号做了特的网络号做了特别的设置,即与别的设置,即与左边网络左边网络192.168.1.0/24192.168.1.0/24的高的高1616位相同。位相同。另外,为在另外,为在PC3PC3处观察到处观察到ARPARP代代理现象,理现象,PC3PC3不不配置默认网关。配置默认网关。图图4-3 4-3 代理代理ARPARP工作的例子工作的例子l如果从PC3上发起对192.168.1.0/24网络中任意的主机通信,假定是运行命令“ping 192.168.1.11”,PC3上的IP协议栈会用自己的网络号来判断要通信的主机PC1是否和自己在同一网段,即用主机的网络掩码对目的IP地址进行运算。l由于得到的网络号192.168.0.0和自己在同一网络,因此PC3会将IP数据包发出。l但为构造数据链路层的帧PC3需要先发出一个ARP请求以获得PC1的MAC地址。27l此时,路由器Router0收到这个ARP请求帧,但因为路由器不转发广播帧,所以这个ARP请求会被路由器接收但是不能被PC1收到。l此时路由器知道目标地址192.168.1.11在自己连接的另外一个子网中,它就会以自己的Fa0/1接口的MAC地址00D0.D359.E002回答PC3。l当PC3接收到路由器的回答后,就更新MAC地址表,把IP地址192.168.1.11和MAC地址00D0.D359.E002进行绑定。l从此,PC3就把所有发给PC1的分组全部抛向路由器的Fa0/1接口。284.3 4.3 特殊的特殊的ARPARPl同理,PC3对网络192.168.1.0/24中任何一台主机进行访问,都会产生一个和上述过程相同的ARP请求和处理过程。在PC3看来这些主机的IP都对应了路由器的Fa0/1接口的MAC地址。l可以认为路由器Router0欺骗了发起ARP请求的PC3,使其误以为路由器就是目的主机,而事实上目的主机是在路由器的“另一边”。l可见,路由器的功能相当于目的主机的代理,把分组从其他主机转发给它。这时在PC3的ARP高速缓存中发往多个不同网络中的IP地址都被指向路由器的接口地址(用arp命令查看)。l这种多个IP地址被映射到一个MAC地址就是ARP代理的标志。29l这个例子中路由器的ARP代理方式曾经用来连接两个不同的物理网络,使得他们之间互相隐藏而感觉像在同一个网络中。l在实际应用中,主机一般都会配置默认网关,这时访问不在同一个网络的主机的IP数据报都通过默认网关转发,ARP高速缓存中就只有默认网关的地址绑定信息了。304.3 4.3 特殊的特殊的ARPARPl代理ARP有两大应用:一个是有利的,即在防火墙实现中常说的透明模式的实现;一个是有害的,就是通过它可以达到在交换环境中进行嗅探的目的。l通常在局域网交换环境中使用Sniffer一类的嗅探工具除了抓到自己的包以外,是不能看到其他主机的网络通信的,但是通过利用ARP欺骗可以实现嗅探。31l以图4-3为例。假定PC0是局域网中的网关,局域网中每个节点的向外的通信都要通过它。PC1想要听主机PC2的通信,先使用ARP欺骗让主机PC2认为它就是主机PC0。此时PC1可以发一个IP地址为192.168.1.10,物理地址为0060.5C3D.6C99的ARP响应包给主机PC2。根据ARP的工作机制,PC2会更新自己的ARP高速缓存,并把发往主机PC0的包发往物理地址为0060.5C3D.6C99主机PC1。这样便达成了ARP欺骗。类似地,PC1还要向PC0发送一个IP地址为192.168.1.12,物理地址为0060.5C3D.6C99的ARP响应报文以欺骗PC0。l在网络安全实践中,ARP欺骗、ARP病毒的形式都与ARP协议的工作机制有密切的联系。324.3 4.3 特殊的特殊的ARPARP4.4 4.4 逆地址解析协议逆地址解析协议RARPRARPlRARP用于支持无盘工作站在引导或启动时获得自身的IP地址。l由于无盘工作站中没有硬盘,更准确地说是没有存放有引导所需操作系统文件的辅助存储器,因而需要从网络上获得引导所需操作系统文件,这就必须先获得自身的IP地址,从而才可能和存放有系统文件的服务器进行通信。lRARP常常和TFTP(Trivial File Transfer Protocol,简单文件传输协议)一起使用,即通过RARP获得IP地址,用TFTP从服务器获得系统文件。33l无盘工作站的网卡带有可引导芯片(一般网卡没有,支持无盘引导则需要专门的网卡和相应的引导芯片)。在无盘工作站启动时网卡上的引导芯片从系统服务器中取回所需数据供用户使用。l无盘系统的RARP实现过程可以简单表述如下:(1)从接口卡上读取唯一的硬件地址(MAC地址)。(2)发送一份RARP请求,请求某个RARP服务器响应该无盘系统的IP地址。RARP请求在网络上进行广播,它在分组中标明发送端的硬件地址,以请求相应IP地址的响应。34 (3)如果网络上有RARP服务器收到这个请求,则发送一个RARP应答,其中包含有为无盘主机分配的IP地址。一个应答通常是单播传送的。(4)如果网络上没有RARP服务器,无盘主机会按一定的时间间隔持续地发送RARP请求到网络上。lRARP采用特殊类型的以太网帧来封装,其以太网帧类型值为0 x8035。354.4 4.4 逆地址解析协议逆地址解析协议RARPRARPlRARP的分组格式基本上与ARP分组一致。l区分RARP请求或应答的依据是表4-1中给出的分组中操作字段的取值。lRARP在实现上的主要问题是RARP服务器的复杂性,主要体现在两个方面:(1)RARP服务器一般要为多个主机提供硬件地址到IP地址的映射,该映射包含在一个磁盘文件中。由于内核一般不读取和分析磁盘文件,因此RARP服务器的功能就由用户进程来提供,而不是作为内核的TCP/IP实现的一部分。但由于RARP的实现又必须和系统捆绑在一起,因而在实现上较为复杂。36 (2)路由器不转发导致需要多个RARP服务器。RARP使用链路层广播,大多数路由器不会转发RARP请求。为了让无盘系统在RARP服务器关机的状态下也能引导,通常在一个网络上需要提供多个RARP服务器。协调各个服务器的工作是一个问题。lBOOTP(Bootstrap Protocol,引导程序协议)以及后来的DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)提供了更加健壮、灵活的分配IP地址的方法,目前已取代了RARP。374.4 4.4 逆地址解析协议逆地址解析协议RARPRARP4.5 4.5 小结小结 1.在大多数的TCP/IP实现中,ARP是一个基础协议,用于在将IP分组封装到数据链路帧中的时候,获得IP地址对应的网络接口的硬件地址。2.ARP地址解析过程是由系统协议栈自动完成的,其运行对于应用程序或系统管理员来说一般是透明的、动态的。3.ARP高速缓存在协议的运行过程中非常关键,其中的地址绑定记录是协议工作的基础数据结构,同时高速缓存中的每一项记录内容都有一个定时器,根据它来删除不完整和完整的表项。可以用arp命令对高速缓存进行检查和操作。38 4.ARP分组以特定的帧类型封装在以太网帧中,其报文格式中的操作字段区分了ARP的报文类型。5.免费ARP是一种特殊的ARP,用于在系统网络发生变化或系统重置的时候保持ARP地址解析的有效性。6.代理ARP是路由器用一个接口的物理地址来对其他网络地址的ARP请求进行应答。主机ARP高速缓存中多个IP地址被映射到一个MAC地址就是ARP代理的标志。ARP欺骗主要就是利用了ARP代理的机制。39实实 验验l实验4-1 arp命令 ARP高速缓存在协议的运行过程中非常关键,可以利用arp命令对高速缓存进行检查和操作。高速缓存中的每一项内容都有一个定时器,根据它来删除不完整或完整的表项。arp命令可以显示和修改ARP高速缓存中的内容。通过分别在Windows和Linux系统的命令行方式下学习使用arp命令来掌握协议的工作特点。熟悉查看、增加和删除ARP表的命令用法;注意如何操作特定的网络接口的ARP表、操作特定的ARP记录(表项)的命令写法。40实实 验验l实验4-2 ARP请求与应答 分别在模拟和真实环境中观察分析ARP 协议的报文格式,理解ARP协议的解析过程。注意观察ARP报文的PDU构造以及协议工作过程中各字段取值的变化;注意观察理解单播的ARP请求。41实实 验验l实验4-3 ARP代理 在模拟实验环境中观察分析ARP代理现象,理解ARP代理的作用和工作过程。注意观察ARP代理的特征;观察用ping命令初次进行跨网络的连通测试时,开始会有一定次数的不能连通现象的原因。注意理解缺省网关对ARP过程的影响。42实实 验验l实验4-4 免费ARP 分别在模拟和真实环境中观察分析免费ARP帧的报文格式,理解免费ARP 协议的工作特点。注意观察在真实环境中实验的情况,掌握不同操作系统协议栈对免费ARP的处理方式。l参考阅读瑞星对于ARP攻击的分析及解决方案 http:/

    注意事项

    本文(第4章 ARP协议分析.pptx)为本站会员(eieieie)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开