全国客服热线:4006-880844

ARP欺骗的基本原理

- 编辑:admin -

ARP协议并不只在发送了ARP请求才接收ARP应答,当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。

ARP协议并不只在发送了ARP请求才接收ARP应答,当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。

假设局域网中的某台机器A准备向B发送数据时,如果现在一台不怀好意的主机C想要窃取A中的数据或者其它目的,那么这时它就可能向A发送一个ARP数据包,数据包中声称主机B的MAC地址已经改变,当主机A收到后,得知此消息,就立刻更新原来主机B的MAC地址,在A看来B的IP地址没有变,当它要和主机B进行通信时,就会在数据包中封装新的MAC地址。



1)如果这个MAC地址是前面主机C的,那么主机A就会把本来要发给主机B的数据错误地发给了主机C,被主机C窃取成功,而主机C为了掩人耳目,“看”过数据后,再发给主机B,从而不影响主机A和主机B之间的正常通信。

2)但如果前面主机C发给主机A的ARP更新包中的MAC地址不是自己的,而是伪造的根本不存在的MAC地址,那么这时主机A和主机B之间就不可能再正常通信了,这就是ARP病毒对PC主机在网络间通信造成的严重威胁和后果,造成数据被窃听或网络不通的惨局。

虽然局域网之间通信是主机与主机之间直接通信,但是,如果要与外网的主机通信,这时,还需要用到网关或路由器(很多情况下一个局域网的路由器就直接充当网关的角色),当局域网内的某台主机A想要与外网的主机通信,那么这时,它在对数据包进行封装时,目标MAC地址需要写成网关的MAC地址,再交由网关代为转发,发到网外去,如果这台主机A在使用ARP数据包请求网关的MAC地址时,出现一台不怀好意的主机C向主机A回应了一个ARP回应报,这时同样有两种情况:

1)数据包中将根本不存在的MAC地址告诉主机A,那么这时,主机A发给远程网络的数据由于经过不怀好意的主机“中转”了一下,最终没有网关给数据进行转发,导致与外网不能正常通信,但但是,仅仅是这样是不够的,通信是一个双向的工程,受害者者此时是要和公网上的某一台主机或者设备进行通信,而如果单单只把数据发送给了攻击者,而收不到公网的回应,那么受害者会很快发现自己上不去网了从而中断通信,导致欺骗失败。

2)数据包中将根自己的MAC地址告诉主机A,造成数据被窃听。结果是所有想通过网站建设服务器上网的主机都将想发往网关的数据报文发送给了C,由于C作为欺骗者,自己知道网关服务器的真实IP-MAC对,C在受到来自其他主机发往网关的数据后执行一步转发过程。如果C仅仅是对网络上流量进行监测的话,C就只需要对来自各主机的数据大小进行简单统计,然后把这些数据包转发给网关,这样做对其他主机访问外网不会有任何影响。但是,如果C想限制网络流量的话,C就可以部分转发这些数据包。那么,此时的攻击者,对于LAN内的受害者和真正的网关就是透明的了,这便是基于ARP欺骗进行的攻击也称为MIM( Man Inthemiddle)一中间人攻击。