局域网ARP协议和欺骗技术及其对策

ARP协议的概念和工作原理对学习网络安全知识的初学者来说是首先碰到的几个重要的知识点之一,其中ARP欺骗技术和及其对策更是学习网络安全中的重点与难点,往往难以一下子把握这些抽象复杂的机理 。因此很有必要用具体介始一下网络安全中的ARP协议和欺骗技术相应的对策 。

一,TCP/IP协议之ARP协议的定义

ARP协议即地址解析协议Address Resolution Protocol,ARP协议是将IP地址与网络物理地址一一对应的协议 。负责IP地址和网卡实体地址(MAC)之间的转换 。也就是将网络层(IP层,也就是相当于ISO OSI 的第三层)地址解析为数据连接层(MAC层,也就是相当于ISO OSI的第二层)的MAC地址 。假如您对网路七层协定有比较清楚的理解的话应该知道各个层级之间都使用其各自的协定 。一张ARP的表,用来支持在MAC地址和IP地址之间的一一对应关系 。它提供两者的相互转换 。

二,ARP协议的工作原理

在以太网(Ethernet)中,一个网络设备要和另一个网络设备进行直接通信,除了知道目标设备的网络层逻辑地址(如IP地址)外,还要知道目标设备的第二层物理地址(MAC地址) 。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行 。

当一个网络设备需要和另一个网络设备通信时,它首先把目标设备的IP地址与自己的子网掩码进行"与"操作,以判定目标设备与自己是否位于同一网段内 。假如目标设备在同一网段内,并且源设备没有获得与目标IP地址相对应的MAC地址信息,则源设备以第二层广播的形式(目标MAC地址为全1)发送ARP请求报文,在ARP请求报文中包含了源设备与目标设备的IP地址 。同一网段中的所有其他设备都可以收到并分析这个ARP请求报文,假如某设备发现报文中的目标IP地址与自己的IP地址相同,则它向源设备发回ARP响应报文,通过该报文使源设备获得目标设备的MAC地址信息 。

假如目标设备与源设备不在同一网段,则源设备首先把IP分组发向自己的缺省网关(Default Gateway),由缺省网关对该分组进行转发 。假如源设备没有关于缺省网关的MAC信息,则它同样通过ARP协议获取缺省网关的MAC地址信息 。为了减少广播量,网络设备通过ARP表在缓存中保存IP与MAC地址的映射信息 。在一次ARP的请求与响应过程中,通信双方都把对方的MAC地址与IP地址的对应关系保存在各自的ARP表中,以在后续的通信中使用 。ARP表使用老化机制,删除在一段时间内没有使用过的IP与MAC地址的映射关系 。

还有当传送过来的包要传向一个LAN的主机时,当它到达网关时,网关要求ARP程序找到物理主机或与IP地址相对应的MAC地址 。ARP程序在缓存中寻找,假如找到地址,就提供此地址,以便让此包转换成相应的长度和格式,以传送到此主机 。假如未找到,ARP程序就在网上广播一个非凡格式的消息,看哪个机器知道与这个IP地址相关的MAC地址 。假如一台机器发现那是自己的IP地址,它就发送回应,这样就指出了相应的地址 。ARP程序就更新自己的缓存然后发送此包到回应的MAC地址 。因为不同协议的相应处理方法不同,所以有不同网络的地址解析请求 。也有反向地址解析协议(RARP)供不知道IP地址的主机从ARP缓存中获得IP地址 。

我们还是来通过实验更加深入直观地了解ARP协议的工作原理吧 。我们假设有两台主机:A机的IP地址是192.168.0.1,MAC地址是52-54-ab-27-82-83。

B机的IP地址是192.168.0.2,MAC地址是52-54-ab-27-82-84。

当主机A想与主机B进行通讯时,A机只知道B机的IP地址是192.168.0.2,当数据包封装到MAC层时他如何知道B

推荐阅读