实验五 ARP协议分析
一、实验目的
(1)分析ARP协议报文首部格式。
(2)分析ARP协议在同一网段内的解析过程。
二、实验设备与环境
由交换机组建的局域网环境,两人一组。
三、实验内容
(1)通过位于同一网段的主机间运行ping命令,截获报文,分析ARP协议报文结构。
(2)分析ARP协议在同一网段内的解析过程。
四、实验原理
1.ARP协议
ARP(Address Resolution Protocol)是地址解析协议的简称。在TCP/IP 协议中,每一个网络节点都用IP地址标识,IP地址是一个逻辑地址。而在以太网中,数据包是靠48位的MAC地址(物理地址)寻址的。因此,必须建立IP 地址与MAC 地址之间的对应(映射)关系,ARP协议就能完成这个工作,将IP地址解析成硬件地址。ARP 是动态协议,即解析过程是自动完成的。
每一个主机都设有一个ARP高速缓存,里面存放最近访问的IP 地址与硬件地址的对应关系。参考实验二中介绍的ARP命令,可以查看ARP缓存的使用情况。
2.ARP的工作过程
A(209.0.0.5)、B(209.0.0.6)在同一网段内通信,当主机A需要发送报文给主机B时,如果在ARP缓存中找不到主机B的硬件地址,则源主机在网段内直接发送ARP 请求报文“我的 IP 地址是209.0.0.5,硬件地址是00-00-C0-15-AD-18。我想知道 IP 地址是209.0.0.6的主机的硬件地址”,目的主机B判断报文的目的IP 地址是自己的IP 地址,就将自己的硬件地址写入应答报文,发送给主机A。主机A收到后将其存入缓存,则解析成功,然后才将报文发往主机B。解析过程如图5-1所示。
位于不同网段的主机进行通信时,发送方主机H1发送ARP 请求分组,该分组在H1所在的网段上广播,找到该网段的一个路由器R,路由器R将自己的硬件地址写入应答报文,发送给主机H1。剩下的工作由路由器来完成。
图5-1 主机A广播发送ARP请求
五、实验步骤
步骤1:利用交换机连接星型拓扑结构的局域网。(192.168.10/24)
步骤2:在主机A(192.168.10.150)、主机B(192.168.10.200)的命令行窗口执行ARP命令,查看ARP缓存:
C:\> arp -a
如果缓存非空,执行命令,清空ARP缓存。
C:\>arp -d
清空ARP缓存后再查看缓存中的内容,结果如图5-2所示。
图5-2 在主机A上清空ARP缓存后查看缓存中的内容
步骤3:在主机A、主机B上运行网路岗软件,开始截获数据报文。在主机A的命令行窗口中执行ping 192.168.10.200命令。执行完后,两台主机停止网路岗报文截获。截获的报文如图5-3所示。
图5-3 在主机A上截取的ARP报文
步骤4:分析网路岗截获的报文,包括有几个ARP报文;选中第一条ARP请求报文和第一条ARP应答报文,分别给出在链路层、网络层的各个地址信息,填入表5-1中。
表5-1 ARP请求报文和ARP应答报文的字段信息
步骤5:执行“arp -a”命令,查看当前ARP缓存使用情况,如图5-4所示。
图5-4 在主机A上查看ARP缓存记录
步骤6:重复步骤3,比较此次截获的报文与前一次的有什么不同。
六、实验总结
完成该实验后,需要从以下几个方面进行总结:
(1)ARP缓存的作用是什么?
(2)说明ARP协议在同一网段内主机间通信时的执行过程。截获的报文中哪些信息是ARP协议的?有什么特点?分析步骤6的结果。
(3)上网查询资料,了解什么是ARP攻击。