我们首先要知道以太网内主机通信是靠MAC地址来确定目标的.arp协议又称"地址解析协议",它负责通知电脑要连接的目标的地址,这里说的地址在以太网中就是MAC地址,简单说来就是通过IP地址来查询目标主机的MAC地址.一旦这个环节出错,我们就不能正常和目标主机进行通信,甚至使整个网络瘫痪.
ARP的攻击主要有以下几种方式
一.简单的欺骗攻击
这是比较常见的攻击,通过发送伪造的ARP包来欺骗路由和目标主机,让目标主机认为这是一个合法的主机.便完成了欺骗.这种欺骗多发生在同一网段内,因为路由不会把本网段的包向外转发,当然实现不同网段的攻击也有方法,便要通过ICMP协议来告诉路由器重新选择路由.
二.交换环境的嗅探
在最初的小型局域网中我们使用HUB来进行互连,这是一种广播的方式,每个包都会经过网内的每台主机,通过使用软件,就可以嗅谈到整个局域网的数据.现在的网络多是交换环境,网络内数据的传输被锁定的特定目标.既已确定的目标通信主机.在ARP欺骗的基础之上,可以把自己的主机伪造成一个中间转发站来监听两台主机之间的通信.
三.MAC Flooding
这是一个比较危险的攻击,可以溢出交换机的ARP表,使整个网络不能正常通信
四.基于ARP的DOS
这是新出现的一种攻击方式,D.O.S又称拒绝服务攻击,当大量的连接请求被发送到一台主机时,由于主机的处理能力有限,不能为正常用户提供服务,便出现拒绝服务.这个过程中如果使用ARP来隐藏自己,在被攻击主机的日志上就不会出现真实的IP.攻击的同时,也不会影响到本机.
防护方法:
1.IP+MAC访问控制.
单纯依靠IP或MAC来建立信任关系是不安全,理想的安全关系建立在IP+MAC的基础上.这也是我们校园网上网必须绑定IP和MAC的原因之一.
2.静态ARP缓存表.
每台主机都有一个临时存放IP-MAC的对应表ARP攻击就通过更改这个缓存来达到欺骗的目的,使用静态的ARP来绑定正确的MAC是一个有效的方法.在命令行下使用arp -a可以查看当前的ARP缓存表.以下是本机的ARP表
C:\Documents and Settings\cnqing>arp -a
Interface: 210.31.197.81 on Interface 0x1000003
Internet Address Physical Address Type
210.31.197.94 00-03-6b-7f-ed-02 dynamic
其中"dynamic" 代表动态缓存,即收到一个相关ARP包就会修改这项.如果是个非法的含有不正确的网关的ARP包,这个表就会自动更改.这样我们就不能找到正确的网关MAC,就不能正常和其他主机通信.静态表的建立用ARP -S IP MAC.
执行"arp -s 210.31.197.94 00-03-6b-7f-ed-02"后,我们再次查看ARP缓存表.
C:\Documents and Settings\cnqing>arp -a
Interface: 210.31.197.81 on Interface 0x1000003
Internet Address Physical Address Type
210.31.197.94 00-03-6b-7f-ed-02 static
此时"TYPE"项变成了"static",静态类型.这个状态下,是不会在接受到ARP包时改变本地缓存的.从而有效的防止ARP攻击.静态的ARP条目在每次重启后都要消失需要重新设置.
3.ARP 高速缓存超时设置
在ARP高速缓存中的表项一般都要设置超时值,缩短这个这个超时值可以有效的防止ARP表的溢出.
4.主动查询
在某个正常的时刻,做一个IP和MAC对应的数据库,以后定期检查当前的IP和MAC对应关系是否正常.定期检测交换机的流量列表,查看丢包率.
总结:ARP本省不能造成多大的危害,一旦被结合利用,其危险性就不可估量了.由于ARP本身的问题.使得防范ARP的攻击很棘手,经常查看当前的网络状态,监控流量对一个网管员来说是个很好的习惯. http://netadmin.77169.com/HTML/20070610001338.html