精华内容
下载资源
问答
  • ARP协议就是用来获取目标IP地址所对应的MAC地址的,也就是说,ARP协议可以动态地在三层IP地址和二层MAC地址之间建立一种映射关系。可以用如下示意图来形象表示其作用: 可以看到上面的图示是把ARP协议划分到网络...

    在同一个网络(无特别说明,均指以太网络)中进行通信的主机,必须要拥有目标主机的MAC地址才能够正确地将数据发送给目标主机,那么如何知道目标主机的MAC地址呢?可以通过ARP协议。ARP协议就是用来获取目标IP地址所对应的MAC地址的,也就是说,ARP协议可以动态地在三层IP地址和二层MAC地址之间建立一种映射关系。可以用如下示意图来形象表示其作用:

    wKioL1cHdYrzdFoQAABCVOaI8VA489.png

    可以看到上面的图示是把ARP协议划分到网络层,也既是认为它是一个网络层的协议,这是出于它为网络层的IP协议提供服务而考虑的。但实际上,由于ARP协议用以解析出IP地址(逻辑地址)所对应数据链路层中的地址(物理地址/硬件地址),所以把其划分在数据链路层也是没有问题的,这并没有严格的定义。

    我们下面将通过具体的实践过程来分析四种常见的ARP包:ARP请求包、ARP响应包、无偿ARP包与IP地址冲突检测,同时也会分析一下ARP代理的发生过程。

    这里会使用的环境如下:

    网络设备模拟器:GNS3

    抓包软件:Wireshark


    1.网络环境搭建

    为了简洁起见,这里不设置一个较大的网络环境来满足前面四种情况ARP包分析的需要,而是在分析不同的ARP情况时分别搭建较小的网络环境,这样可以使我们的分析更有针对性。


    2.ARP包报文格式

    如下:

    wKiom1cGFGHRkO7MAAB5efhRsBY432.jpg

    注意我们关注的是28字节的ARP包,只不过上面的图还包含了以太网首部字段信息(显然以太网首部的帧类型为ARP,在分析IP协议时提到过,这是一个数据分用的概念)。

    因为对于ARP包的分析,其实我们更关心的应该是ARP请求包、ARP响应包、无偿ARP包或者ARP代理相关的知识,而后面的实践也主要是分类地进行讨论。所以下面先给出一个普通ARP包(请求包)的实际结构,然后再给出每一个字段的具体含义(参考了《TCP/IP详解 卷1:协议》的部分内容),先作一个基本的了解,最后再详细分析这些包产生的过程:

    • 一个普通ARP包(请求包的实际结构)

      wKioL1cHfA6QwK28AACIULqKkL8900.png

      • ARP包各字段具体含义(对比上面实际抓到的包)

        字段 含义
        硬件类型

        占16位

        表示硬件地址的类型,值为1即表示以太网地址,也就是MAC地址

        协议类型

        点16位

        表示要映射的协议地址类型,值为0x0800即表示IP地址,因为本文都是在IP协议的基础上进行分析的(即网络层逻辑地址为IP地址),所以所抓到的包的该字段类型都为0x0800

        硬件地址长度

        占8位

        指出硬件地址的长度,单位为字节,因为本文针对的是以太网,而以太网地址为MAC地址,占48位,即6字节,所以后面抓到的包中该字段的值都为6,不再作特别说明

        协议地址长度

        占8位

        指出三层逻辑地址的长度,单位为字节,因为本文针对的是以太网地址和IP地址的映射,而IP地址占32位,即6字节,所以后面抓到的包中该字段的值都为4,不再作特别说明

        操作字段

        指出操作类型,对应的值如下:

        ARP请求:1

        ARP响应:2

        RARP请求:3

        RARP响应:4

        但因为RARP现在已经很少使用了,所以本文不会讨论

        发送端以太网地址

        占48位

        准确上说是“发送端硬件地址”,但因为本文只针对以太网进行讨论,所以表述为“发送端以太网地址”

        发送端IP地址

        占32位

        准确上说是“发送端网络层逻辑地址”,但因为本文只针对的是以太网地址和IP地址的映射的讨论,所以表述为“发送端IP地址”

        目的以太网地址 占48位
        目的IP地址 占32位


        3.在实践中分析ARP的实现过程:ARP请求、ARP响应

        (1)网络环境搭建

        本节主要是抓取ARP请求包和ARP响应包来分析ARP请求与响应的一个详细过程,以及对应ARP包中相关字段的含义,这个实践的网络环境比较简单,如下:

        wKioL1cH9t3A3IpcAAAYFDS8dzg450.png

        在R1路由器上做如下配置:

        R1#conft
        R1(config)#intf0/0
        R1(config-if)#noshu
        R1(config-if)#ipadd192.168.1.1255.255.255.0
        R1(config-if)#dowr

        在R2路由器上做如下配置:

        R2#conft
        R2(config)#intf0/0
        R2(config-if)#noshu
        R2(config-if)#ipadd192.168.1.2255.255.255.0
        R2(config-if)#dowr

        然后在R1路由器上查看arp缓存表:

        R1#showarp
        ProtocolAddressAge(min)HardwareAddrTypeInterface
        Internet192.168.1.1-cc01.127f.0000ARPAFastEthernet0/0

        可以看到arp缓存表中并没有192.168.1.2的MAC地址,所以如果待会R1发送数据给R2,必然会有ARP请求发生,所以这里请确保R1中确实没有192.168.1.2的MAC地址,如果有的话,建议重启两个路由器。(虽然可以在路由器上执行clear arp-cache来清除arp缓存表,但是清除过后又会马上生成,所以这里建议直接重启)

        (2)抓取并分析ARP请求包和ARP响应包

        首先在R1和R2的链路上启动Wireshark,监测R1的接口。(这是GNS3的功能,可以直接抓取通过两个路由器之间链路的数据包)

        在R1上执行如下命令:

        Router#ping192.168.1.2
        
        Typeescapesequencetoabort.
        Sending5,100-byteICMPEchosto192.168.1.2,timeoutis2seconds:
        .!!!!
        Successrateis80percent(4/5),round-tripmin/avg/max=44/62/76ms

        !表示数据发送成功,可以看到第一个是".",则表示数据发送失败,这是因为,第一个包在发送时,R1中并没有192.168.1.2的MAC地址,于是就去发送ARP请求来获得其MAC地址,但是当获得MAC地址之后,第一个包已经超时了(等待MAC地址超时),并没有发送出去,可以看下面抓到的包:

        wKioL1cH-e3xXuGhAADU7E7LgVU534.png

        可以看到已经有2个ARP包(1个请求和1回答)和8个ICMP包(4个请求和4个回答),这里我们主要分析的是ARP包。

        • ARP请求包

          数据包结构如下:

          wKiom1cH-kLC3NwiAABfmtjo-0M195.png

          字段分析如下:

          a.硬件类型、协议类型、硬件地址长度、协议地址长度

          这几个字段的内容跟前面讨论的一样,因为针对的是以太网和IP地址

          b.操作字段Opcode

          可以看到Opcode的值为request(1),所以这是一个ARP请求包。

          c.发送端以太网地址

          我们是从R1向R2发送数据的。

          从前面的命令执行结果:

          R1#showarp
          ProtocolAddressAge(min)HardwareAddrTypeInterface
          Internet192.168.1.1-cc01.127f.0000ARPAFastEthernet0/0

          这确实是R1的MAC地址(配置了192.168.1.1 IP地址的接口的MAC地址)。

          d.发送端IP地址

          发送端也确实是192.168.1.1,也就是R1。

          e.目的以太网地址

          可以看到这里为全0,在ARP请求包中,会把目的以太网地址字段的值置为全0,因为此时并不知道目的以太网地址是什么(也就是不知道192.168.1.2的MAC地址是多少)。

          f.目的IP地址

          数据包是从R1发送给R2的,所以目的IP地址就是192.168.1.2,R2收到这个ARP请求包之后,如果看到这个字段的内容是自己的IP地址,就会回复这个ARP包,也就是会发送一个ARP响应包。

          其实字段内容并不难理解,不过这里需要注意一点是,查看这个ARP请求包的数据链路层的目的MAC地址:

          wKioL1cH_3eSuNofAABuEHLgQXk437.png

          会发现其是一个广播地址,这也就意味着,发送一个ARP请求包,以太网中的所有主机都能够收到该ARP请求包,但是并不是所有的主机都会回复这个ARP请求包,只有当接收者的IP地址与ARP请求包中的Target IP address中标识的目的IP地址一致时才会进行回复。

          • ARP响应包

            数据包结构如下:

            wKiom1cIAIjD5WhMAABfYHDqc2M769.png

            对比ARP请求包来分析,其实发现并没有相关多少,只是有以下几点区别:a.ARP响应包的操作字段Opcode值为reply(2)

            b.ARP响应包的二层目的MAC地址为ARP请求包发送者的MAC地址

            也就是说,ARP请求包是以广播的形式发送的,但ARP则是以单播的形式发送的,那么发给谁呢?ARP请求包是谁发送的,ARP响应包就发给谁,对应的二层目的MAC地址就是ARP请求包发送者的MAC地址

            c.发送端以太网地址、发送端IP地址、目的以太网地址、目的IP地址

            跟ARP请求包的内容相反,只不过ARP响应包中的所有地址字段的值都是已知的,这个很容易理解,不过需要注意的是,在这个时候,ARP响应包到底要发给谁,已经很明确了,所以ARP响应包是一个单播包。

            正如上面看到的,理解常规的ARP请求包和ARP响应包的过程并不复杂,只要知道了网络通信的基本原理,各个字段的值也就很容易理解了。


            4.在实践中分析ARP的实现过程:无偿ARP与IP地址冲突检测

            • 有偿ARP

              前面在获取某个IP地址对应的MAC地址是,都需要先发送一个ARP请求包,然后再通过接收一个ARP响应包来知道该IP地址所对应的MAC地址,因为需要发送ARP请求包,我们可以认为这是“有偿”的,即要付出一些代价。

              • 无偿ARP

                而所谓无偿ARP,指的就是,我不需要发送一个ARP请求包,对方就会“无偿”地把一个ARP响应包发给我(其实也主是主动发送过来),以此来告诉我它的MAC地址。

                (1)网络环境搭建

                但是在总结什么时候对方会主动把一个ARP响应包发送过来之前,我们先实践一下,网络环境还是用上面的那个:

                wKioL1cH9t3A3IpcAAAYFDS8dzg450.png

                不过我们需要修改一下R2的IP地址,修改为192.168.1.252(在这个过程中抓包软件Wireshark要打开),如下:

                R2>en
                R2#conft
                R2(config)#intf0/0
                R2(config-if)#ipadd192.168.1.252255.255.255.0

                (2)抓取并分析ARP请求包和ARP响应包

                这样做之后打开Wireshark软件,会发现抓到下面这样一个包:

                wKioL1cIBo6T_ObPAAAgd1QXSaA867.png可以看到Info一列,有个Gratutous的标识,中文意思就是“无偿,免费”的意思,我们可以查看一下数据包的结构:

                wKiom1cIBo7w_G8_AABrB1Dg3DE060.png

                通过查看操作字段Opcode的值,其实可以发现,无偿ARP其实也是一个ARP响应包(不过普通的ARP响应包是以单播的形式发送的,而无偿ARP是以广播的形式发送的),只不过这个ARP响应包比较特别,它是主动发送的,即它是gratuitous,无偿的。

                另外需要注意的是,发送端IP地址和目的IP地址是一样,这正是无偿ARP有别于普通ARP响应包的地方,当这个数据包被网络中的其他主机(显然我们这里的网络环境比较简单,所以只有R1)接收到之后,它会让这些主机使用新的IP和MAC地址关系更新它们的ARP缓存表。因为这个ARP数据包是未经请求的,即导致客户端更新ARP缓存,所以会称为无偿ARP。

                在分析了无偿ARP之后,给出下面的几种情况,都会有无偿ARP过程的发生:

                a.更改了设备的IP地址

                b.某些操作系统在启动完成之后就会发送无偿ARP(Windows和Linux都会)

                (3)IP地址冲突检测

                再分析一下,无偿ARP有什么好处呢?如下:

                a.可以让以太网中的主机及时地更新其ARP缓存表,这样可以确保在数据发送时可以准确地封闭正确的地址信息

                b.检测IP地址是否有冲突

                关于这一点,可以给R2重新配置一个IP地址,并且与R1的相同:

                R2>en
                R2#conft
                R2(config)#intf0/0
                R2(config-if)#ipadd192.168.1.1255.255.255.0

                几乎马上就可以在R1和R2的控制台上看到错误日志的输出:

                R1>
                *Mar100:54:39.007:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc02.1a18.0000
                *Mar100:55:09.043:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc02.1a18.0000
                *Mar100:55:39.739:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc02.1a18.0000
                *Mar100:56:10.011:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc02.1a18.0000
                *Mar100:56:40.715:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc02.1a18.0000
                *Mar100:57:10.947:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc02.1a18.0000
                
                R2(config-if)#
                *Mar100:45:48.135:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc01.127f.0000
                *Mar100:46:18.623:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc01.127f.0000
                *Mar100:46:48.927:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc01.127f.0000
                *Mar100:47:19.651:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc01.127f.0000
                *Mar100:47:49.959:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc01.127f.0000
                *Mar100:48:21.623:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc01.127f.0000
                *Mar100:48:51.919:%IP-4-DUPADDR:Duplicateaddress192.168.1.1onFastEthernet0/0,sourcedbycc01.127f.0000

                这里因为在修改了R2的IP地址时,它发送了无偿ARP包,R1通过检查发现其IP地址跟自己的一样,于是就会在控制台上报错,但是R2为什么又会报错呢?因为在R1发现地址有冲突时,也发送了表示IP地址冲突的无偿ARP包,如下:

                wKiom1cIDHXA6ONRAAAiRKTdoDQ454.png注意这是一个广播包,所以R2必然也能收到,查看它的包结构:

                wKioL1cIDbfy14eCAACn4FWd_YA806.png

                根据数据包的内容,R2也知道发生了IP地址冲突,所以也就会在控制台上输出错误日志了。


                4.在实践中分析ARP的实现过程:ARP代理

                如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答这个请求,这个过程就称为ARP代理。这是非常精简和通俗易懂的解释,我们可以通过下面的实践来进行体会。

                (1)网络环境搭建

                如下:

                wKiom1cID2miLu1zAAA2DvoUiiU886.png

                在前面的基础上,R1增加如下配置:

                R1>en
                R1#conft
                R1(config)#iproute0.0.0.00.0.0.0f0/0

                R2增加如下配置:

                R2>en
                R2#conft
                R2(config)#intf1/0
                R2(config-if)#noshu
                R2(config-if)#ipadd192.168.2.2255.255.255.0
                R2(config-if)#dowr

                R3则配置如下:

                R3>en
                R3#conft
                R3(config)#intf0/0
                R3(config-if)#noshu
                R3(config-if)#ipadd192.168.2.3255.255.255.0
                R3(config-if)#iproute0.0.0.00.0.0.0f0/0
                R3(config-if)#dowr

                (2)抓取ARP包并分析ARP代理过程

                在R1和R2的链路上启动Wireshark,然后在R1上执行如下命令:

                R1#ping192.168.2.3
                
                Typeescapesequencetoabort.
                Sending5,100-byteICMPEchosto192.168.2.3,timeoutis2seconds:
                ...!!
                Successrateis40percent(2/5),round-tripmin/avg/max=36/50/64ms

                即R1给R3发送数据,我们查看抓到的包:

                wKioL1cIFBqD1BVYAAAsVzmbz4c606.png再分别查看详细的包结构:

                • ARP请求包

                  wKiom1cIE7KhNZgoAABfyXIa4cY502.png

                  可以看到ARP请求包跟平常一样,并没有什么区别,即R1希望知道192.168.2.3的MAC地址。

                  • ARP响应包

                    wKioL1cIFLjAqjNgAABfrw-cHVk558.png

                    看起来普通的ARP响应包也没有什么区别,其实真的是没有什么区别,但不妨在R2上执行下面的命令,查看一下ARP缓存表:

                    R2#sharp
                    ProtocolAddressAge(min)HardwareAddrTypeInterface
                    Internet192.168.1.13cc01.127f.0000ARPAFastEthernet0/0
                    Internet192.168.2.2-cc02.1a18.0010ARPAFastEthernet1/0
                    Internet192.168.2.33cc03.2327.0000ARPAFastEthernet1/0
                    Internet192.168.1.2-cc02.1a18.0000ARPAFastEthernet0/0

                    在这个ARP缓存表中,192.168.2.3对应的MAC地址是cc03.2327.0000,并不是上面看到的数据包结构中的cc02.1a18.0000!!!cc02.1a18.0000是192.168.1.2对应的MAC地址!!!可以分析如下:

                    R1想要知道192.168.2.3的MAC地址,于是发送ARP请求包,但很显然,192.168.2.3跟192.168.1.1并不在同一个网络中;当192.168.1.2接口接收到这个ARP请求包时,R2发现虽然192.168.2.3并不是自己,但是它可以到达192.168.2.3所在的网络,即192.168.2.0/24这个网络,于是它就向R1发回了一个ARP响应包,告诉R1,192.168.2.3的MAC地址是自己(即配置了192.168.1.2的接口的MAC地址)。虽然这是一种“谎言”,但由于这样做确实是可以帮R1把数据发送到R3,所以有时候我们也把ARP代理称作“善意的谎言”。

                    那么通过上面的实践过程和分析之后也就非常清楚什么是ARP代理了。即如果ARP请求是从一个网络的主机发往另一个网络上的主机,那么连接这两个网络的路由器就可以回答这个请求,这个过程就称为ARP代理。

                    上面这个过程需要体会一下,这样一来的话,相信对计算机网络通信又会有了更深入的了解。


                    5.下一步要做什么

                    首先有时间当然是自己也尝试把上面的实践完成一遍,好好分析一下ARP协议,其实ARP协议所涉及到的重要的内容,上面的实践过程基本上都已经全部给出,真的不能错过。

                    如果觉得自己已经掌握了的话,可以尝试去了解一下ARP欺骗的原理,看看其实是不是很简单。

    展开全文
  • 网络协议实验四 ARP 协议分析实验

    千次阅读 2020-11-21 20:54:28
    实验四 ARP 协议分析实验 2.2 ARP 协议分析实验 1.ARP 协议介绍 ARP 是地址解析协议 (Reverse Address Resolution Protocol)的缩写,负责实现从IP 地址到物理地址 (如以太网MAC 地址)的映射。在实际通信中,...

    实验四 ARP 协议分析实验

    2.2 ARP 协议分析实验
    1.ARP 协议介绍
    ARP 是地址解析协议 (Reverse Address Resolution Protocol)的缩写,负责实现从IP 地址到物理地址 (如以太网MAC 地址)的映射。在实际通信中,物理网络使用硬件地址进行报文传输。IP 报文在封装为数据链路层帧进行传送时,就有必要把 IP 地址转换为对应的硬件地址,ARP 正是动态地完成这一功能的。
    (1)ARP 报文格式
    在这里插入图片描述

                                图1 ARP 报文格式 
    ARP 协议报文是定长的,其格式如图26 所示,报文中每一字段的含义如下: 
    * 硬件类型:表示物理网络的类型,“0X0001”表示以太网; 
    * 协议类型:表示网络网络协议类型,“0X0800”表示IP 协议; 
    * 硬件地址长度:指定源/ 目的站物理地址的长度,单位为字节; 
    * 协议地址长度:指定源/ 目的站IP 地址的长度,单位为字节; 
    * 操作:指定该报文的类型,“1”为ARP 请求报文,“2”为ARP 响应报文; 
    * 源端硬件/IP 地址:由ARP 请求者填充; 
    * 目的站物理地址:在请求报文中为0,在响应报文中,由由发送响应报文的主机填写接收该报文的目的主机的物理地址; 
    * 目的站IP 地址:由ARP 请求者填充,指源端想要知道的主机的IP 地址。只有IP 地址等于该IP 地址的主机才向源主机发送相应报文。 
     (2)ARP 的工作方式 
    在以太网中,每台使用ARP 协议实现地址解析的主机都在自己的高速缓存中维护着一个 地址映射表,这个ARP表中存放着最近和它通信的同网络中的计算机的 IP                     地址和对应的MAC 地址。 
    注意:不同网络中的IP地址将对应网关。  
    当两台计算机通信时,源主机首先查看自己的ARP 表中是否有目的主机的 IP 地址项, 
    

    若有则使用对应的MAC 地址直接向目的主机发送信息;否则就向网络中广播一个ARP 请求
    报文,当网络中的主机收到该ARP 请求报文时,首先查看报文中的目的IP 地址是否与自己
    的IP 地址相符,若相符则将请求报文中的源IP 地址和MAC 地址写入自己的ARP 表中;然
    后,创建一个ARP 响应报文,将自己的MAC 地址填入该响应报文中,发送给原主机。
    注意:ARP响应报文不再广播,而是直接发送给请求者。
    源主机收到响应报文后,取出目的IP 地址和 MAC 地址加入到自己的 ARP 表中,并利
    用获得的目的MAC 地址向目的端主机发送信息。
    在实际中,为了节省内存空间和ARP 表的查询时间,若某一个ARP 地址项很久没有使
    用,则会从地址映射表中删除。
    2.Arp 命令简介
    本次实验使用的Windows 自带的Arp 命令提供了显示和修改地址解析协议所使用的地址映射表的功能。
    Arp 命令的格式要求如下:
    ARP -s inet_addr eth_addr [if_addr]
    ARP -d inet_addr [if_addr]
    ARP -a [inet_addr] [-N if_addr]
    其中:
    * -s:在 ARP 缓存中添加表项:将 IP 地址 inet_addr 和物理地址 ether_addr 关联,物理地址由以连字符分隔的 6 个十六进制数给定,使用点分十进制标记指定IP 地址,添加
    项是永久性的;
    * -d:删除由inet_addr 指定的表项;
    * -a:显示当前ARP 表,如果指定了inet_addr 则只显示指定计算机的IP 和物理地址;
    * inet_addr:以点分十进制标记指定IP 地址;
    * -N:显示由if_addr 指定的ARP 表项;
    * if_addr:指定需要选择或修改其地址映射表接口的IP 地址;
    * ether_addr:指定物理地址;
    3.实验环境与说明
    (1)实验目的
    分析ARP 协议的报文格式,理解ARP 协议的解析过程。
    (2)实验设备和连接
    实验设备和连接图如图27 所示,一台S2126G 交换机连接了2 台PC 机,分别命名为
    PC1、PC2,交换机命名为Switch。
    图2 ARP 协议分析实验连接图
    在这里插入图片描述

     (3)实验分组 
    每四名同学为一组,其中每两人一小组,每小组各自独立完成实验。  
    

    4.实验步骤
    步骤1:按照如图2 所示连接好设备,配置PC1 和PC2 的IP 地址;
    步骤2:在: PC1、PC2 两台计算机上执行如下命令,清除ARP 缓存: ARP –d
    步骤3:在PC1、PC2 两台计算机上执行如下命令,查看高速缓存中的ARP 地址映射表
    的内容: ARP –a
    步骤 4:在PC1 和 PC2 上运行 Wireshark 截获报文
    步骤5:在主机PC1 上执行Ping 命令向PC2 发送数据报;
    步骤6:执行完毕,保存截获的报文并命名为arp-1-学号;
    步骤7:在PC1、PC2 两台计算机上再次执行ARP–a 命令,查看高速缓存中的ARP 地
    址映射表的内容:
    1)这次看到的内容和步骤3 的内容相同吗?结合两次看到的结果,理解ARP 高速缓存
    的作用。
    不同·
    ARP高速缓存里边保存了之前进行ARP会话时返回的ARP应答中的IP地址和MAC地址对应列表。一般一条记录保存20分钟左右。目的是:下次再要访问ARP高速缓存中的IP地址的主机时,不需要再次发送ARP请求去获取MAC地址。直接从高速缓存中读取就可以了。可以有效缓解链路的压力。
    2)把这次看到到的高速缓存中的ARP 地址映射表写出来。
    在这里插入图片描述

    步骤8:重复步骤: 4—5,将此结果保存为arp-2-学号; 
    步骤9:打开arp-1-学号,完成以下各题: 
    1)在截获的报文中由几个ARP 报文?在以太帧中,ARP 协议类型的 
      2个,0x0800
    2)打开arp-2-学号,比较两次截获的报文有何区别?分析其原因。 
    
      不需要再进行广播arp,因为第一次连接时已经有了记录。
    
    3)分析arp-1 中ARP 报文的结构,完成表1。 
                               表1 ARP 报文分析 
    

    ARP 请求报文 ARP 应答报文
    字段 报文信息及参数 字段 报文信息及参数
    硬件类型 (0x0001) 硬件类型 (0x0001)
    协议类型 IP (0x0800) 协议类型 IP (0x0800)
    硬件地址长度 6 硬件地址长度 6
    协议地址长度 4 协议地址长度 4
    操作 request (0x0001) 操作 reply (0x0002)
    源站物理地址 74:27:ea:c1:40:c7 (74:27:ea:c1:40:c7) 源站物理地址 14:14:4b:81:92:8b (14:14:4b:81:92:8b)
    源站IP 地址 172.27.64.93 (172.27.64.93) 源站IP 地址 172.27.64.126 (172.27.64.126)
    目的站物理地址 00:00:00_00:00:00 (00:00:00:00:00:00) 目的站物理地址 74:27:ea:c0💿a4 (74:27:ea:c0💿a4)
    目的站IP 地址 172.27.64.126 (172.27.64.126) 目的站IP 地址 172.27.64.119 (172.27.64.119)

    展开全文
  • 计算机网络 实验报告 年级 姓名 学号_ 实验日期_ 实验名称 实验二利用Wireshark分析ARP协议实验项目名称及实验项目编号 ARP协议学习与分析 二课程名称及课程编号 计算机网络 三实验目的和要求 实验目的 通过本...
  • 实验1ARP协议分析实验《计算机网络》实验指导书实验一、实验目的理解ARP协议报文格式;理解ARP协议的工作原理与通信过程。二、实验内容同一子网内两台机器间的ARP协议的工作过程;不同子网上的两台机器间的ARP协议...

    实验1ARP协议分析实验

    《计算机网络》实验指导书

    实验

    一、实验目的

    理解ARP协议报文格式;

    理解ARP协议的工作原理与通信过程。

    二、实验内容

    同一子网内两台机器间的ARP协议的工作过程;

    不同子网上的两台机器间的ARP协议工作过程。

    三、实验原理、方法和手段

    操作类型:1—ARP 请求;2—ARP 响应;3-- RARP请求;4—RARP 响应;

    四、实验条件

    Wireshark协议分析软件;

    (2)应用协议环境

    每个学生的PC机(安装Windows xp或者Windows 2000 操作系统)处于同一个LAN,主机A为本人机器,主机B为你邻座同学机器,另外有一个服务器(学校的WEB服务器,地址:210.44.144.44)处于另外一个网络。

    五、实验步骤

    主机A(IP地址为A.A.A.A)与主机B(IP地址为B.B.B.B)属于同一个子网;

    在主机A上的DOS命令提示符下运行arp –d命令,清空主机A的ARP高速缓存;

    在主机A上的DOS命令提示符下运行arp –a命令,检查主机A的ARP高速缓存区,此时ARP缓存区应为空;

    在主机A上启动Wireshark抓包工具准备捕获A与B之间的数据通信报文,然后在主机A上的DOS命令提示符下运行:Ping B.B.B.B ,并做如下工作:

    在捕获的报文中找出主机A和主机B之间通讯的ARP询问请求报文和应答报文;

    分析ARP请求及应答报文的各字段,包括源、目的以太网地址、源、目的IP地址、数据报文类型。

    在主机A上的DOS命令提示符下运行arp–a命令,

    3、检查ARP高速缓存中的内容是否发生变化,分析原因。

    答:变化了,在arp高速缓存中有了目标主机的地址,因为PING过之后将IP地址协议转换成MAC协议存入缓存

    (2)不同子网上的两台机器间的ARP协议工作过程

    主机A(IP地址为A.A.A.A)与主机C(IP地址为210.44.144.44)为不在同一个子网内的两台计算机;

    在主机A上的DOS命令提示符下运行arp –d命令,清空主机A的ARP高。速缓存;

    在主机A上的DOS命令提示符下运行arp –a命令,检查主机A的ARP高速缓存区,此时ARP缓存区应为空;

    在主机A上启动Wireshark抓包工具准备捕获A与C之间的数据通信报文,然后在主机A上的DOS命令提示符下运行:Ping 210.44.144.144 ,,并做如下工作:

    在捕获的报文中找出主机A和主机C之间通讯的ARP询问请求报文和应答报文;

    5、分析ARP请求及应答报文的各字段,包括源、目的以太网地址、源、目的IP地址、数据报文类型。

    在主机A上的DOS命令提示符下运行arp–a命令,6、检查ARP高速缓存中的内容是否发生变化,分析原因。

    答; 会发生变化,原因是arp在这个过程中进行了更新

    7、比较(1)和(2)两实验中得到的ARP报文,有何不同? 分析产生二者区别的原因是什么?

    六、思考题

    观察实验过程中捕获网络上的多个ARP请求帧,观察这些帧的以太网目的地址是否相同,分析其原因。

    答:基本相同,因为arp请求增大都以广播的形式发送,以太网是相同的。

    观察实验过程中捕获网络上的多个ARP应答帧,观察这些帧的以太网目的地址是否相同,分析其原因。

    答:不同,不同主机对请求的应答,所以不同,及arp应答帧基本都是回复给发送请求帧的各台机器,各机的以太网地址不同,所以以太网的目的地址不同。

    展开全文
  • 实验3.利用Wireshark分析ARP协议

    千次阅读 2020-05-11 13:15:49
    学会利用Wireshark抓包分析ARP协议 实验环境 Wireshark软件 Windows 计算机 两人共同完成 实验预备知识 1.IP地址与物理MAC地址 图1 IP地址与物理地址的区别 地址解析协议ARP 是解决同一个局域网上的主机...
    • 实验目的
    1. 掌握Wireshark软件简单的过滤语法
    2. 掌握ARP的工作原理
    3. 学会利用Wireshark抓包分析ARP协议
    • 实验环境
    1. Wireshark软件
    2. Windows 计算机
    3. 两人共同完成
    • 实验预备知识
    • 1.IP地址与物理MAC地址
    • 图1 IP地址与物理地址的区别

    • 地址解析协议ARP 是解决同一个局域网上的主机或路由器的 IP 地址和MAC地址的映射问题
    • 其基本思想是:

      图2 ARP协议的基本思想

       

      3.ARP的工作过程

    • 3.ARP报文格式

    • 实验内容
    • ARP命令练习
    • 使用ipconfig/all命令查看自己的IP地址和MAC地址
    • (同时记录自己和同组成员的IP地址和MAC地址)

      Mac下查看IP命令 ifconfig

    • 使用arp -a查看ARP缓存表(截图)
    •     

    • 通过ping同组成员IP添加动态ARP表项(截图)
    •  

    • 通过arp -s IP地址 MAC地址添加动态表项(截图)
    •  

    • 删除所有表项arp -d *(截图)
    • Mac下 arp -ad  需要sudo -i 回车输入密码改为root 权限下进行

       

      2.抓包分析ARP协议

      2.1当ARP表项为空时抓包分析

      (1)清空本机ARP缓存信息,运行Wireshark,设置过滤捕获所有属于ARP协议或ICMP协议的包

      (2)ping同组成员IP

      (3)arp请求mac地址分析(广播)

      分析当ARP缓存表为空时,数据发送时的请求数据报信息,截图并记录具体的ARP字段数据

      字段名

      以太网目的MAC地址

      ff:ff:ff:ff:ff:ff

      以太网源MAC地址

      d4:61:9d:34:1e:76

      帧类型

      0x0806

      硬件类型

      1

      协议类型

      0x0800

      硬件地址长度

      6

      协议地址长度

      4

      Op代码

      1

      发送方MAC地址

      d4:61:9d:34:1e:76

      发送方IP地址

      192.168.0.104

      目的MAC地址

      00:00:00:00:00:00

      目的IP地址

      192.168.0.110

      (4)arp应答mac地址分析,截图并记录具体的ARP字段数据。

      字段名

      以太网目的MAC地址

      d4:61:9d:34:1e:76

      以太网源MAC地址

      90:f0:52:5e:c9:be

      帧类型

      0x0806

      硬件类型

      1

      协议类型

      0x0800

      硬件地址长度

      6

      协议地址长度

      4

      Op代码

      2

      发送方MAC地址

      90:f0:52:5e:c9:be

      发送方IP地址

      192.168.0.110

      目的MAC地址

      d4:61:9d:34:1e:76

      目的IP地址

      192.168.0.104

      2.2当ARP表项不为空时抓包分析(单播)

       

    • 清空ARP表项,再ping同组成员,通过arp -a查看,保证表中有同组成员的记录
    • (2)再次运行Wireshark,设置过滤捕获所有属于ARP协议或ICMP协议的包,并ping 同组成员IP地址

      (3)arp请求mac地址分析(只截图,写出目的MAC地址和源MAC地址)

      目的MAC地址 d4:61:9d:34:1e:76   源MAC地址 90:f0:52:5e:c9:be

    • ARP应答MAC地址分析(只截图,写出目的MAC地址和源MAC地址)
    • 目的MAC地址 90:f0:52:5e:c9:be  源MAC地址 d4:61:9d:34:1e:76

       

      .实验心得

      Linux 下语法

      -a<主机>:显示arp缓冲区的所有条目;-H<地址类型>:指定arp指令使用的地址类型;-d<主机>:从arp缓冲区中删除指定主机的arp条目;-D:使用指定接口的硬件地址;-e:以Linux的显示风格显示arp缓冲区中的条目;-i<接口>:指定要操作arp缓冲区的网络接口;-s<主机><MAC地址>:设置指定的主机的IP地址与MAC地址的静态映射;-n:以数字方式显示arp缓冲区中的条目;-v:显示详细的arp缓冲区条目,包括缓冲区条目的统计信息;-f<文件>:设置主机的IP地址与MAC地址的静态映射。

      空ARP

      28个字节

       

       

      视频讲解

    展开全文
  • 计算机学院网络工程 2013 3班 实训四 利用 WireShark 分析路由协议 一实训目的 1.... 抓包工具 WireShark 三实训内容 一 RIP包分析实验 网络拓扑图 1. 启动 WireShark 打开 rip1.cap 2. 过滤器设置为
  • 校内实验 0积分共享 若自动添加积分可私信 仅供学习参考使用,不得商用(凑字数) 抓包分析ARP协议
  • wireshark分析ARP协议

    千次阅读 2017-09-07 15:44:17
    由于发送数据包时仅仅知道目标IP地址,不指定对方MAC地址,就需要接着ARP协议通过IP地址去询问目标的MAC地址,才可以正常通信。 1、 PC1想发送数据到PC2,首先检测本地缓存ARP缓存表和PC2IP匹配的MAC。 2、如果...
  • WireShark 分析 ARP 协议

    千次阅读 2019-04-14 16:02:20
    1.WireShark 抓包工具介绍 是一个网络封包分析软件。...ARP根据IP地址获取物理地址的一个TCP/IP协议ARP为IP地址到对应的硬件地址之间提供动态映射。主机发送信息时将包含目标IP地址的ARP请求广播到网络上...
  • Character is the ability to ...文章目录1, ARP协议2, ARP报文格式2.1 ARP部分2.2 以太网帧头2.3 ARP映射表3, 使用wireshark分析ARP3.1 搭建模拟环境3.2 登录路由器查看电脑和手机的IP3.2 管理者身份运行cmd3.3 pi
  • 计算机网络实验(一)使用Wireshark进行协议分析实验内容实验部分 实验内容 1.使用Wireshark软件俘获分组、设置过滤条件、查看各层次协议数据单元 2.ipconfig命令 3.arp命令 4.使用ping命令测试两台主机是否连通 ...
  • 使用Wireshark分析以太网帧与ARP协议,上机实验操作与解答
  • 实验2 ARP协议分析

    2021-03-25 09:36:05
    四.ARP协议的封装格式 Hardware type 硬件类型,标识链路层协议 Protocol type 协议类型,标识网络层协议 Hardware size 硬件地址大小,标识MAC地址长度 Protocol size 协议地址大小,标识IP地址长度 Opcode 操作...
  • 实验二 使用Wireshark 分析以太网帧与ARP 协议实验目的 分析以太网帧MAC 地址和ARP 协议实验环境 与因特网连接的计算机网络系统主机操作系统为windows 使用Wireshark IE 等软件 三实验步骤 IP 地址用于标识...
  • 计算机网络课程实验项目2 Wireshark使用及ARP协议学习与分析 第一部分 Wireshark使用 一实验项目名称及实验项目编号 Wireshark使用 二课程名称及课程编号 计算机网络 三实验目的 通过本实验使学生 1了解数据包捕获的...
  • 编号_ 本资料为word版本可以直接编辑和打印感谢您的下载 计算机网络实验-使用Wireshark分析以太网帧与ARP协议 计算机网络实验-使用Wireshark分析以太网帧与ARP协议 甲 方_ 乙 方_ 日 期_ 说明 说明本合同资料适用于...
  • 实验过程Wireshark 的使用分析HTTP协议HTTP GET/response 交互HTTP 条件 GET/response 交互TCP 分析浏览追踪信息TCP 基础 1.实验目的 熟悉并掌握 Wireshark 的基本操作,了解网络协议实体间进行交互以及报文交换的...
  • wiresharkARP协议的数据包分析

    千次阅读 2020-02-20 15:25:05
    在通过以太网发送IP数据包时,要首先封装第三层与第二层的报头,由于在发送时只知道目标IP地址,不知道Mac地址,又不能直接跨越二、三层,所以需要地址的解析协议ARP的功能就是将已知的IP地址解析成为Mac地址。 ...
  • 网络协议分析实验指导书 谢涛 宁夏理工电气信息工程学院 2012.8 目录 TOC \o "1-5" \h \z \o "Current Document" 实验一 Wireshark的安装与使用 3 实验二 使用 Wireshark分析以太网帧与 ARP协议 7 实验三 使用 ...
  • 网络协议分析工具Wireshark的使用、用Wireshark观察ARP协议以及ping命令的工作过程分析以太网报文格式
  • 计算机网路实验五 Ethernet和ARP协议分析 一、 实验目的及任务 1、 熟悉IP协议的基本原理 2、 利用Wireshark对IP进行协议分析 二、 实验环境 与Internet连接的计算机网络系统;操作系统为windows;Wireshark、IE等...
  • wireshark抓包分析ARP协议 -------------------本文系个人知识理解总结,不一定标准,欢迎交流讨论--------------- 个人认为本实验的主要目的就是将理论实战化,具体看看一看真正的ARP包在网络中的样子,重点在于...
  • ARP协议分析

    千次阅读 2016-04-08 12:32:12
    一、实验名称 ARP协议分析 二、实验目标 熟悉ARP命令的使用,理解ARP的工作过程,理解ARP报文协议格式。三、实验内容
  • 1.实验目的及环境 2.实验内容 3.实验工具 4.实验原理 5.实验过程
  • 计算机网络网络协议分析工具Wireshark的使用
  • 以太网帧与ARP协议分析

    千次阅读 2019-12-04 09:22:01
    分析以太网帧,MAC地址和ARP协议 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;使用Wireshark、IE等软件。 三、实验步骤: IP地址用于标识因特网上每台主机,而端口号则用于区别在同一台主机...
  • 本关任务:在 Wireshark 下抓取 Ethernet 包。 相关知识 为了完成本关任务,你需要掌握: Ethernet 帧结构; 学会抓取一组以太帧结构。 以太帧类型 以太帧有很多种类型。不同类型的帧具有不同的格式和 MT
  • Wireshark实战分析ARP协议(一)

    万次阅读 2015-11-23 09:37:04
    ARP(Address Resolution Protocol)协议,地址解析协议。该协议的功能是将IP地址转化为物理地址。 可能有人就会问了? 为什么ARP的功能是将IP地址转化为物理地址? 对于上面这个问题,我们就不得不说OSI七层模型...
  • 《计算机网络与通信》实验报告实验报告 9实验名网络协议分析称姓名学号班级13 计本班实验掌握常用的抓包软件,了解EthernetV2、ARP、IP 协议的结构。目的实验内容1、分析 EthernetV2 协议2、分析 ARP协议3、分析 IP ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,631
精华内容 652
关键字:

wiresharkarp协议分析实验