一、 ARP欺骗的原理

在局域网中,同一子网中的两台计算机通信的建立实际上是通过MAC地址来完成的,所以两台计算机通信前必须将IP地址转换MAC地址,这个过程是由ARP协议完成的。如IP为192.168.0.10的计算机A想要和IP为192.168.0.8的计算机B通信,就会向整个网络发送一个广播(ARP REQUEST)大致内容为:“大家好,我的IP是 192.168.0.10,我的MAC地址AA: AA: AA: AA: AA: AA,请记下,大家以后用他联系我,顺便请问IP为192.168.0.8的同志,你的MAC地址是多少啊 ,小弟有数据包要发给你。”   在正常情况下IP为192.168.0.8的计算机B接收到该广播包后会回复一个数据包(ARP REPLY)告诉IP 192.168.0.10的计算机A:“小弟,你好,我的MAC地址是BB: BB: BB: BB: BB: BB,你也记下,以后我们就直接用MAC地址通信了,常保持联系。”这时连接完成,计算机A顺利的将数据包发给计算机B,这是两台计算机通信的正常建立,但是如果此时有一台计算机C不停的告诉(欺骗)计算机A:“计算机B的MAC地址是CC: CC: CC: CC: CC: CC” ,而计算机A本身不具有辨别能力(网络连接设计上的缺陷),正确的回复很快被错误的广播淹没(图1就是这个过程的示意图)。计算机A就会错误的记录下计算机B的MAC地址为CC: CC: CC: CC: CC: CC,并错误的将数据包发给了计算机C,计算机C得到数据包后,接下来他就可以对数据包为所欲为了,分析数据包中的帐户信息、在数据包中加入病毒代码再发送给计算机B或干脆丢弃数据包。在这个过程中,计算机C就欺骗了计算机A和计算机B。这个过程就是ARP欺骗。
...