1、计算机网络研讨第八周组员:12121408 朱 伟12121447 蒋 涛12121407 徐龙伟研讨题目ARP协议协议 原理安全及原理安全及 防防 护护 地址解析协议,即 ARP( Address Resolution Protocol) 是 根据 IP地址获取物理地址的一个 TCP/IP协议。主机发送信息时将包含目标 IP地址的 ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该 IP地址和物理地址存入本机 ARP缓存中并保留一定时间,下次请求时直接查询 ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自
2、主发送 ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机 ARP缓存;由此攻击者就可以向某一主机发送伪 ARP应答报文,使其发送的信息无法到达预期的主机或到达错误的主机,这就构成了一个 ARP欺骗。 ARP命令可用于查询本机 ARP缓存中 IP地址和 MAC地址的对应关系、添加或删除静态对应关系等。相关协议有 RARP、代理 ARP。 NDP用于在 IPv6中代替地址解析协议。一、 ARP协议工作原理 主机 A的 IP地址 为 192.168.1.1, MAC地址 为 0A-11-22-33-44-01; 主机 B的 IP地址 为 192.168.1.2, MAC地
3、址为 0A-11-22-33-44-02; 当主机 A要与主机 B通信时,地址解析协议可以将主机 B的 IP地址( 192.168.1.2)解析成主机 B的 MAC地址,以下为工作 流程 。 第 1步:根据主机 A上的路由表内容, IP确定用于访问主机 B的转发 IP地址是 192.168.1.2。然后 A主机在自己的本地 ARP缓存中检查主机 B的匹配 MAC地址。 第 2步:如果主机 A在 ARP缓存中没有找到映射,它将询问192.168.1.2的硬件地址,从而将 ARP请求帧广播到本地网络上的所有主机。源主机 A的 IP地址和 MAC地址都包括在 ARP请求中。本地网络上的每台主机都接收
4、到 ARP请求并且检查是否与自己的 IP地址匹配。如果主机发现请求的 IP地址与自己的 IP地址不匹配,它将丢弃 ARP请求。 第 3步:主机 B确定 ARP请求中的 IP地址与自己的 IP地址匹配,则将主机 A的 IP地址和 MAC地址映射添加到本地 ARP缓存中。 第 4步:主机 B将包含其 MAC地址的 ARP回复消息直接发送回主机 A。 第 5步:当主机 A收到从主机 B发来的 ARP回复消息时,会用主机B的 IP和 MAC地址映射更新 ARP缓存。本机缓存是有生存期的,生存期结束后,将再次重复上面的过程。主机 B的 MAC地址一旦确定,主机 A就能向主机 B发送 IP通信了 。工作
5、要素 ARP缓存ARP缓存是个用来储存 IP地址和 MAC地址的 缓冲区, 其本质就是一个 IP地址 MAC地址的对应表,表中每一个条目分别记录了网络上其他主机的 IP地址和对应的 MAC地址。每一个以太网或令牌环网络适配器都有自己单独的表。当地址解析协议被询问一个已知 IP地址节点的 MAC地址时,先在 ARP缓存中查看,若存在,就直接返回与之对应的 MAC地址,若不存在,才发送 ARP请求向局域网查询。为使广播量最小, ARP维护 IP地址到 MAC地址映射的缓存以便将来使用。 ARP缓存可以包含动态和静态项目。动态项目随时间推移自动添加和删除。每个动态 ARP缓存项的潜在生命周期是 10
6、分钟。新加到缓存中的项目带有时间戳,如果某个项目添加后 2分钟内没有再使用,则此项目过期并从 ARP缓存中删除;如果某个项目已在使用,则又收到 2分钟的生命周期;如果某个项目始终在使用,则会另外收到 2分钟的生命周期,一直到 10分钟的最长生命周期。静态项目一直保留在缓存中,直到重新启动计算机为止 。ARP工作媒介 报文硬件 类 型 协议类 型硬件地址 长 度 协议长 度 操作 类 型发 送方硬件地址( 0-3字 节 )发 送方硬件地址( 4-5字 节 ) 发 送方 IP地址( 0-1字 节 ) 发 送方 IP地址( 2-3字 节 ) 目 标 硬件地址( 0-1字 节 )目 标 硬件地址( 2
7、-5字 节 )目 标 IP地址( 0-3字 节 ) 硬件类型:指明了发送方想知道的硬件 接口 类型,以太网的值为 1; 协议类型:指明了发送方提供的高层 协议 类型, IP为 0800( 16进制); 硬件地址长度和协议长度:指明了硬件地址和高层协议地址的长度,这样 ARP报文就可以在任意硬件和任意协议的网络中使用; 操作类型:用来表示这个报文的类型, ARP请求为 1, ARP响应为 2, RARP请求为 3, RARP响应为 4; 发送方硬件地址( 0-3字节):源主机硬件地址的前 3个字节; 发送方硬件地址( 4-5字节):源主机硬件地址的后 3个字节; 发送方 IP地址( 0-1字节)
8、:源主机硬件地址的前 2个字节; 发送方 IP地址( 2-3字节):源主机硬件地址的后 2个字节; 目标硬件地址( 0-1字节):目的主机硬件地址的前 2个字节; 目标硬件地址( 2-5字节):目的主机硬件地址的后 4个字节; 目标 IP地址( 0-3字节):目的主机的 IP地址。 3 二、 ARP欺骗 地址解析协议是建立在网络中各个主机互相信任的基础上的,它的诞生使得网络能够更加高效的运行,但其本身也存在缺陷: ARP地址转换表是依赖于计算机中高速缓冲存储器动态更新的,而高速缓冲存储器的更新是受到更新周期的限制的,只保存最近使用的地址的 映射 关系表项,这使得攻击者有了可乘之机,可以在高速缓冲存储器更新表项之前修改地址转换表,实现攻击。 ARP请求为广播形式发送的,网络上的主机可以自主发送 ARP应答消息,并且当其他主机收到应答报文时不会检测该报文的真实性就将其记录在本地的 MAC地址转换表,这样攻击者就可以向目标主机发送伪 ARP应答报文,从而篡改本地的 MAC地址表。 5 ARP欺骗可以导致目标计算机与 网关 通信失败,更会导致通信 重定向 ,所有的数据都会通过攻击者的机器,因此存在极大的安全隐患。