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缓存表如下图所示:

ARP欺骗的原理 - 一叶偏舟 - jiangcheng 的博客

    当网络爱好者,主机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欺骗的原理 - 一叶偏舟 - jiangcheng 的博客

    从上图我们可以看出,ARP欺骗之后,主机PC02与GW之间的所有网络数据都将流经PC03,即PC03已经掌控了它们之间的数据通讯。以上就是一次ARP欺骗的实施过程,以及欺骗之后的效果。

来源:python脚本自动迁移

posted @ 2020-06-24 11:06  jiangcheng_15  阅读(1013)  评论(0编辑  收藏  举报