ARP欺骗原理及防范
ARP欺骗原理及防范【原理】
局域网的网络流通不是根据IP地址进行,而是按照MAC地址进行传输。局域网内的传输都要通过ARP协议(Address Resolution Protocol)把IP地址转换成MAC地址后传输。在实现TCP/IP协议的网络环境下,一个ip包走到哪里,要怎么走是靠路由表定义,但是,当ip包到达该网络后,哪台机器响应这个ip包却是靠该ip包中所包含的硬件mac地址来识别。也就是说,只有机器的硬件mac地址和该ip包中的硬件mac地址相同的机器才会应答这个ip包,因为在网络中,每一台机器都会有发送ip包的时候,所以,在每一台机器里面都会有一个动态IP-MAC对应表,这个对应表会在每隔一定时间进行刷新。通常机器在发送一个ip包之前,它要到IP-MAC对应表中寻找和ip包对应的硬件MAC地址,如果没有找到,该机器就发送一个ARP广播包,于是,机器刷新自己的ARP缓存。然后发出该ip包。ARP欺骗正是利用ARP协议人为的让其他机器中的ARP缓存表的IP-MAC对应关系是一个错误的对应关系,来达到其目的。举例说明,假设网关IP是192.168.0.254,假设网关MAC地址是AA-AA-AA-AA-AA-AA;假设ARP欺骗者的IP是192.168.0.133,假设ARP欺骗者的MAC地址是BB-BB-BB-BB-BB-BB;ARP欺骗者在局域网内向其他用户发送大量ARP欺骗数据包,使其他用户的ARP缓存中的网关IP-MAC对应关系成为192.168.0.254对应BB-BB-BB-BB-BB-BB;于是局域网内的其他被ARP欺骗的用户发往网[192.168.0.254]的所有数据就发往了MAC为BB-BB-BB-BB-BB-BB的机器上,也就是把所有的数据包发往了真实IP是192.168.0.133的机器上。为了好理解,我举例说明的是ARP欺骗中常见的一种形式。ARP欺骗还可以针对个别用户对网关进行欺骗。ARP欺骗虽然有多种形式,但几乎都是基于ARP缓存来进行的。
【目的】
ARP欺骗通常是和网络嗅探紧密联系在一起的,ARP欺骗的主要用途就是进行在交换网络中的嗅探。因为ARP欺骗者利用ARP协议,把所有的数据包都给欺骗到自己的机器上来,所以就可以进行协议分析,来获取用户的资料,例如QQ号和密码,传奇帐号和密码,银行卡帐号密码等等。总之,所有数据包都到他手了,就只有想不到,没有做不到的事了
【症状】
如果ARP欺骗者仅仅进行了ARP欺骗,那网络症状是被ARP欺骗用户断网;如果ARP欺骗者进行了ARP欺骗并且进行了ARP重定向(“man in the middle”),被ARP欺骗者所有的数据包都经过ARP欺骗者转发到真正的网关,这时候被欺骗者是能够上网,但鉴于ARP欺骗者进行ARP欺骗的时候会发出大量的数据包导致局域网通讯拥塞以及其自身处理能力的限制,用户会感觉上网速度很慢很慢。
【防范】
ARP欺骗的原理是改变被欺骗者的动态ARP缓存,只要我们把网关正确的IP-MAC对应关系写入静态ARP,就能很大程度上缓解ARP欺骗造成得症状。操作方法:在命令提示符下输入命令
arp -s 192.168.0.254 AA-AA-AA-AA-AA-AA
其中,IP地址和MAC地址请改为你所在网段的网关的IP和网关对应MAC地址。这个方法的缺点就是一旦你所在网关的MAC地址改变后(可能性很小),你的机器因为绑定静态IP-MAC表,就得不到及时更新。
ARP欺骗要想彻底防范,需要网络中心在网关处进行防范措施,以及用行政手段对ARP欺骗者进行处罚来彻底解决
【影响】
在局域网内做ARP欺骗比盗用IP更可恶,盗用IP仅仅是为了自己上网,影响的是一个用户,而作ARP欺骗,影响一个网段不能正常上网,并且窃听用户信息,严重侵犯了用户的网络安全和个人隐私。