目前许多单位宽带用户在正常上网过程中出现了意外掉线的问题。其具体描述为用户在上网时出现网络中断,导致无法访问网络,但是物理链路并没有中断,重新启动网卡后可以正常访问网络,但是不久会继续出现网络中断的情况,根据上述情况初步判断为arp欺骗导致出现网络中断。
arp欺骗的原理
arp协议的基本功能就是通过目标设备的ip地址,查询目标设备的mac地址,以保证通信的顺利进行。每台安装有tcp/ip协议的电脑里都有一个arp缓存表,用来存放已经查找到的ip,mac地址对应表。
arp欺骗的原理为:在局域网中,通过arp协议来完成ip地址转换为第二层物理地址(即mac地址)的。arp协议对网络安全具有重要的意义。通过伪造ip地址和mac地址实现arp欺骗,能够在网络中产生大量的arp通信量使网络阻塞。导致欺骗成功的最主要的原因就是arp协议在最初设计的时候就没有考虑安全机制,默认就是信任全部以太网内的主机的。
下面描述一下arp欺骗的全过程(发起arp欺骗的主机以下简称攻击机,被攻击导致不能上网的主机以下简称受害机)。
受害机重启网卡后(或者在终端本地执行arp –d 操作),arp entry被清空,然后受害机再次和外部通讯的时候,在一段时间间隔内,会寻找到正确的网关可以正常上网,然而之后攻击机会对以太网内的所有arp请求(包括请求网关地址和以太网内主机的地址)做回应,这样会导致所有的主机都无法请求到正确的目标主机地址,也就导致了网络中断。
上面是本次网络中断的具体描述,还有一种攻击机是利用自己做上网代理,以获取受害机帐号密码等为目的的“man in the middle”攻击不在此次讨论范围之内,原理类似,就不再赘述。
解决办法
1、自我防御
由于arp攻击是利用了受害机善良的轻信了攻击机发来的回应,那么我们现在就要对受害机进行防护措施。
采用双向绑定的方法解决来防止arp欺骗。
1)首先要获取真实的网关信息,包括网关的ip地址和mac地址。
2)编辑批处理文件solution.bat如下
@echo off
arp -d *
arp -s 1.1.1.1 aa-bb-cc-dd-ee-ff
其中:1.1.1.1,aa-bb-cc-dd-ee-ff需要更改为具体的网关ip地址和mac地址。
echo off是关闭回显,arp –d *是清空arp表,最后arp –s是为主机加入一条静态arp记录,用以保证能够正常访问到网关。
把solution.bat加入到c:\documents and settings\cat\「开始」菜单\程序\启动其中,cat为本地用户开机启动的用户名。
3)在网关上绑定每个局域网中所有主机的ip和mac对照表。
就是在交换机上做ip和mac地址绑定。
2、主动出击
1)查找病毒主机
2)找到病毒主机后对病毒的查杀。