免费ARP和ARP欺骗攻击

来源:互联网 发布:javascript xml转json 编辑:程序博客网 时间:2024/04/27 18:27

以太网ARP报文帧格式:

目的MAC地址 + 源MAC地址 + 帧类型 + 硬件类型 + 协议类型 + 硬件地址长度 + 协议地址长度 + 操作 + 发送端MAC地址 + 发送端IP地址 + 目的MAC地址 + 目的IP地址

(6Bytes) + (6Bytes)+ (2Bytes) + (2Bytes)+ (2Bytes) + (1Bytes)+ (1Bytes) + (2Bytes)+ (6Bytes) + (4Bytes)+ (6Bytes) + (4Bytes)

我们只关心其中的6项内容:目的MAC地址,源MAC地址,发送端MAC地址,发送端IP地址,目的MAC地址,目的IP地址(后面按照此顺序排列)


正常ARP查询(主动)

主机1(IP1,MAC1)广播查询主机2(IP2,MAC2)的MAC地址: 广播,MAC1,MAC1,IP1,空,IP2 【此时主机1的对应表项:IP2 - 空】

正常ARP应答(被动)

主机2(IP2,MAC2)单播应答主机1(IP1,MAC1)的查询:MAC1,MAC2,MAC2,IP2,MAC1,IP1 【此时主机1的对应表项:IP2 - MAC2】


正常免费ARP(gratuitous ARP,无故ARP)(主动,系统引导期间发送)

主机1(IP1,MAC1)广播查询主机1(IP1,MAC1)的MAC地址:广播,MAC1,MAC1,IP1,空,IP1

目的:检测是否存在IP地址冲突(返回报文携带不同的MAC地址);更新其它设备的缓存。

若无应答,则无IP地址冲突;若出现应答,则存在IP地址冲突。


ARP欺骗攻击(使用免费ARP,在正常状况下发送)

主机1(IP1,MAC1),主机2(IP2,MAC2),主机3(IP3,MAC3)

主机3发起攻击,目的让主机1误认为主机3为主机2,让主机2误认为主机3为主机1,于是主机1和主机2直接的交互内容都会以主机3作为目的地,主机3可以通过转发的方式来保证主机1和主机2之间的交互。

主机3单播向主机1发送免费ARP:MAC1,MAC3,MAC3,IP2,空,IP2 【此时主机1的对应表项变化:IP2 - MAC2 -> IP2 - MAC3】

主机3单播向主机2发送免费ARP:MAC2,MAC3,MAC3,IP1,空,IP1 【此时主机2的对应表项变化:IP1 - MAC1 -> IP1 - MAC3】

只要定期发送免费ARP来保证两个被攻击主机的缓存不过期,不会发送ARP查询,便会一直监听两者之间的数据。



1 0