ARP欺骗的原理
转载请注明来源:https://www.cnblogs.com/hookjc/
从《ARP协议工作原理》一文我们已经了解到,主机在两种情况下会保存、更新本机的ARP缓存表,
1. 接收到“ARP广播-请求”包时
2. 接收到“ARP非广播-回复”包时
从中我们可以看出,ARP协议是没有身份验证机制的,局域网内任何主机都可以随意伪造ARP数据包,ARP协议设计天生就存在严重缺陷。
假设局域网内有以下三台主机(其中GW指网关),主机名、IP地址、MAC地址分别如下:
主机名 IP地址 MAC地址
GW 192.168.0.1 01-01-01-01-01-01
PC02 192.168.0.2 02-02-02-02-02-02
PC03 192.168.0.3 03-03-03-03-03-03
在正常情况下,主机PC02与GW之间的数据流向,以及它们各自的ARP缓存表如下图所示:
当网络爱好者,主机PC03出现之后,他为了达到某种目的,于是决定实施一次ARP欺骗攻击。PC03首先向PC02发送了一个ARP数据包,作用相当于告诉PC02:“嘿,我是192.168.0.1,我的MAC地址是03-03-03-03-03-03”,接着他也向GW发送了一个ARP数据包,作用相当于告诉GW:“嘿,我是192.168.0.2,我的MAC地址是03-03-03-03-03-03”。于是,主机PC02与GW之间的数据流向,以及它们各自的ARP缓存表就变成如下图所示:
从上图我们可以看出,ARP欺骗之后,主机PC02与GW之间的所有网络数据都将流经PC03,即PC03已经掌控了它们之间的数据通讯。以上就是一次ARP欺骗的实施过程,以及欺骗之后的效果。