ARP欺骗是一种中间人攻击,正如字面意思一样,中间人攻击就是攻击者扮演中间人并且实施攻击。在同一局域网,主机A和B通过网关G相互通信,就好比A和B两个人写信,由邮递员G送信,C永远都不会知道A和B之间说了些什么话。
但是并不是想象中的那么安全(在ARP缓存表机制存在一个缺陷,就是当请求主机收到ARP应答包后,不会去验证自己是否向对方主机发送过ARP请求包,就直接把这个返回包中的IP地址与MAC地址的对应关系保存进ARP缓存表中,如果原有相同IP对应关系,原有的则会被替换)。
比方说,C假扮邮递员,首先要告诉A说:“我就是邮递员” ,愚蠢的A很轻易的相信了,直接把“C是邮递员”这个信息记在了脑子里C再假扮A,告诉真实的邮递员:“我就是A” ,智商捉急的邮递员想都没想就相信了,以后就把B的来信送给了C,C当然就可以知道A和B之间聊了些什么。
这个故事就是ARP双向欺骗的原理了。ARP单向欺骗就更好理解了,C假扮邮递员,收取了A的信件,但不假扮A,因此真的邮递员按照原来脑子里的信息将信件给了A。