ARP本身并不是毒,而是一种协议,其全名叫“Address Resolution Protocol”(地址解析协议)。在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的。
我们以主机A(192.168.1.5)向主机B(192.168.1.1)发送数据为例。当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.1的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.1的MAC地址是00-aa-00-62-c6-09”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。
ARP攻击就是通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
ARP攻击主要是存在于局域网网络中,局域网中若有一个人感染ARP木马,则感染该ARP木马的系统将会试图通过“ARP欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。
解决方案:
目前了解到的有:法一双向绑定
假设有案例如下,某个公司,有三台电脑
(分别称为
A机192。168。1。2 MAC 00-01-01-01-01-02
B机192。168。1。3 MAC 00-01-01-01-01-03
C机192。168。1。4 MAC 00-01-01-01-01-04)
一台代理服务器(网关):
(以下简称代服,IP假设如192.168.1.1 MAC假设如下00-01-01-01-01-01)
1、在代理服务器上做一个批处理,或用一些专用的ARP扫描绑定工具
@echo off
arp -d
arp -s 192.168.1.2 00-01-01-01-01-02
arp -s 192.168.1.3 00-01-01-01-01-03
arp -s 192.168.1.4 00-01-01-01-01-04
exit
另存为BAT文件,在代服上运行即可
2、在客户机的启动里做一个批处理BAT文件,内容如下:
@echo off
arp -d
arp -s 192.168.1.1 00-01-01-01-01-01
exit
二.路由器ARP表绑定设置
进行ARP绑定前首先要确定网络是正常运行的,然后再ARP绑定设置。具体设置如下:
1.启用ARP绑定功能。
默认情况下ARP绑定功能是关闭的,首先要启用ARP绑定功能,打开路由器的管理界面,选择“MAC地址绑定”。会看下图所示的界面,勾中“启用ARP绑定”,点击“保存”。
2.绑定ARP表。
选择“ARP映射表”,会打开如下界面。
这里可以看到当前路由器自动获取的局域网内电脑的IP地址与MAC地址的映射表。
如果确认这个表是正确的(如果所有的电脑都可以正常上网,MAC地址没有重复,这个表一般就没有错了,如果电脑中了ARP病毒,可以检查这个ARP表看MAC地址有没有相同的,若有相同,则这些主机都不能正常访问网络,要检查这些主机,使用DOS命令行的arp –d命令清除主机的ARP表),可以选择某个条目后面的“绑定”操作进行单独的MAC地址绑定,也可通过点击“全部绑定”把ARP表中的所有条目绑定。如果绑定成功就会看到“状态”那一栏从“未绑定”变成“已绑定”。
为了让路由器重启后这些绑定条目仍然有效,可以选择“全部导入”把这些条目存入静态ARP表,打开“ARP绑定设置”可以看到一个静态的ARP映射表已经建立。如果已经知道局域网内的电脑的MAC地址,也可以在这里手工输入MAC地址、IP地址来添加静态ARP映射条目。
对于这个静态ARP映射表,您可以进行修改、删除、取消绑定等操作。点击条目右边的“修改”就可以修改该条目的IP地址、MAC地址和绑定状态,“删除”删掉该条目。可以点击“取消所有绑定”把ARP表中的所有绑定条目暂时取消,当需要的时候点击“绑定所有条目”就可以重新绑定这些条目。当您不在需要这个静态ARP表的时候点击“删除所有条目”删除整个ARP表。
注意:
1.进行绑定置前要确认ARP表是正确的,
2.尽量手工设置电脑的IP地址,如果是采用DHCP动态获取IP地址,以后可能会出现获取到的地址与当前绑定的地址不一致而导致某些电脑不能上网。
3.当更换电脑网卡时要更新静态ARP映射表。否则更换了网卡的机子的MAC地址与ARP表中的不一致,也会无法上网