ARP (Address Resolution Protocol)

ARP工作原理

主机名          IP地址                     MAC地址

    A          192.168.0.1        AA-AA-AA-AA-AA-AA

    B          192.168.0.2        BB-BB-BB-BB-BB-BB

      当主机A需要与主机B进行通讯时,它会先查一下本机的ARP缓存中,有没有主机B的MAC地址。如果有就可以直接通讯。如果没有,主机A就需要通过ARP协议来获取主机B的MAC地址,具体做法相当于主机A向局域网内所有主机喊一嗓子:“喂~谁是192.168.0.2?我是192.168.0.1,我的MAC地址是AA-AA-AA-AA-AA-AA。你的MAC地址是什么,快告诉我”,这时候主机A发的数据包类型为:广播-请求。

      当主机B接收到来自主机A的“ARP广播-请求”数据包后,它会先把主机A的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,然后它会给主机A发送一个“ARP非广播-回复”数据包,其作用相当于告诉主机A:“嘿,我是192.168.0.2,我的MAC地址是BB-BB-BB-BB-BB-BB”。当主机A接收到主机B的回复后,它会把主机B的IP地址和MAC地址对应关系保存/更新到本机的ARP缓存表中,之后主机A和B就可以进行通讯了。

ARP欺骗原理

主机名          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 (Address Resolution Protocol)

      当网络爱好者,主机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 (Address Resolution Protocol)

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

 

 

上一篇:HashMap


下一篇:Rust 常用的集合