ARP与ARP攻击

2012-11-28来源 : 互联网

ARP(Address Resolution Protocol)地址解析协议,是OSI七层协议栈中链路层非常重要的协议,具体重要是用来将IP地址转换成MAC地址。

什么是IP地址,IP地址是网络主机的标识,这个地址是在IP层使用的,而网络上所有要传输的数据都要经过一层一层封装*后传递到链路层,而MAC地址就是链路层关于主机的标识,也就是说IP是网络层的主机姓名,而MAC是链路层的主机姓名。MAC地址也是****,在出厂的时候每个网卡都会拥有一个48比特长,12个16进制数字组成的序列,用来标识本身在互联网中的位置,这个序列就是MAC地址。当数据包要转换为数据帧的时候,就会用到ARP来将自己的IP地址转换成硬件的MAC地址。

ARP多数跟ICMP协议一起应用。当主机A想知道主机B的MAC地址而ARP缓存中又没有这个记录的时候,主机A就会向局域网内发送一个ARP广播帧,“谁的IP地址是XXX,请把你的MAC地址告诉我”,向所有内网主机询问拥有主机B的IP地址的MAC,每一个内网主机都会收到这个ARP请求报文,如果发现主机A询问的IP地址是自己的话,就会将自己的MAC回复发给主机A,“我是XXX,我的MAC地址是YYY”,如果发现请求的IP地址不是自己的话,主机则会简单丢弃这个报文,不做回复。特别要注意的是,当主机A询问的IP地址跟自己不是同个子网的时候,主机A会将报文发给默认网关,由默认网关来执行查询操作,因为不在同个子网的报文需要穿过路由器,而原本的ARP广播帧不能穿过路由,路由并不转发广播帧。

主机A得到ARP应答后,会将主机B的MAC地址放入ARP cache中,方便下次查找,这个缓存有一定的生存期限,超过期限后会再次询问MAC地址,这虽然在转发通信过程中会减少查找时间,提**率,但因此也容易引起攻击。假设主机A询问主机B的MAC地址,这个时候主机C也发ARP应答,将主机B的IP和自己的MAC地址不断发给主机A,缓冲表示有一定大小的,所以主机C大量的错误应答就会将主机B的正确应答给挤掉,下次发给主机B的信息都会被发送到主机C上,造成信息泄露,这就是所谓的ARP欺骗。还有另一种ARP攻击方式,主机C发送大量错误ARP应答包,其中IP地址是主机B的地址,但MAC地址确实不存在的,这样的话主机B就收不到原本要发给它的报文。

ARP攻击通过伪造IP地址和MAC地址来欺骗网关,这样大量的ARP通信报文会对网络造成极大的负担,引起网络阻塞,严重的可以使得整个网络瘫痪。防范ARP攻击比较困难,因为这是协议本身的特点,但可以通过一些措施来减少ARP攻击发生,比如设置静态ARP表、减少缓存过期时间、甚至禁止ARP。ARP攻击无法对外网主机生效,所以在局域网内建立ARP防*墙也是不错的选择。

 

渝ICP备2024022750号-1

Copyright©2004-2024 3158.CN. All Rights Reserved 重庆市上台九悟酒销售有限公司 版权所有

3158招商加盟网友情提示:投资有风险,选择需谨慎