ARP欺骗解决方案
转自:http://www.antivirus-china.org.cn/diaocha2008/AVKnowledge/2008042605.htm
一、 什么是ARP
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。
在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的 MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓‘地址解析“就是主机在发送帧前将目标IP地址转换成目标MAC地 址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。
二、 ARP的工作原理
在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,在命令提示符下,输入“arp -a”就可以查看ARP缓存表中的内容了:
注:用“arp -d”命令可以删除ARP表的内容;用“arp -s”可以手动在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地址冲突;
硬件设备正常,局域网不通;
特定IP网络不通,更换IP地址,网络正常;
禁用-启用网卡,网络短暂连通;
网页被重定向。
……………………
五、 ARP欺骗解决方案:
方案A:IP-MAC绑定
通过双向IP-MAC绑定可以抵御ARP欺骗,解决由于ARP欺骗造成的网络掉线、IP冲突等问题,保证网络畅通。
1、客户机绑定网关IP-MAC:在客户机设置网关IP与MAC为静态映射,
将如下内容复制到记事本中并保存为staticarp.reg,(网关IP、网关MAC根据实际情况填写,例:"staticarp"="arp –s 192.168.0.1 00-01-02-03-04-05")
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/
CurrentVersion/Run]
"staticarp"="arp –s 网关IP 网关MAC "
将如下内容复制到记事本并保存到与staticarp.reg相同的文件夹位置,文件名为run.bat,(网关IP、网关MAC根据实际情况填写,例:"staticarp"="arp –s 192.168.0.1 00-01-02-03-04-05")
@each off
regedit /s ./runstaticarp.reg
arp -s网关IP 网关MAC
双击运行run.bat
2、利用APC的软件分发功能给客户机分发IP-MAC绑定程序
将staticarp.reg、run.bat保存到同一文件夹下,登录Ahnlab Plicy Center Admin,服务器管理—登录分发软件—添加,<要分发的文件夹>选中保存staticarp.reg、run.bat的文件夹,<执 行压缩文件名>中输入对所选择的文件夹压缩后生成的压缩文件的名称,<登录包名称>中输入应用程序名称,<说明>中输入简 单说明,<解压缩后执行文件>中输入run.bat,单击<确定>。
Ahnlab Plicy Center Admin—策略管理中选中需要分发的群组或客户机,点右键,紧急安全指令-分发,选中<一般软件>,选中要分发的软件,点击<确认>。
3、网关绑定客户机IP-MAC:使用支持IP/MAC绑定的网关设备,在网关设备中设置客户机的静态IP-MAC列表。
注:方案A可以抵御ARP欺骗,保证网络正常运行,但不能定位及清除ARP攻击源。
方案B:利用ARP命令及nbtscan定位ARP攻击源
1、确定ARP攻击源MAC地址
ARP欺骗发作时,在受到ARP欺骗的计算机命令提示符下输入arp –a,APP缓存中网关IP对应的MAC地址如果不是真实的网关MAC地址,则为ARP攻击源的MAC地址,一个MAC地址对应多个IP地址的为ARP攻 击源的MAC地址;在网关ARP缓存中一个MAC对应多个IP的为ARP攻击源的MAC地址。
2、定位ARP攻击源计算机
已全网面署APC2.5的环境:在Policy Center Admin 2.5中,查找agent,查找ARP攻击源的MAC地址,定位攻击源计算机。
未布署APC2.5的环境:运行Nbtscan MAC扫描器gui.exe,输入局域网IP地址范围,点击开始,显示局域网内IP、计算机名与MAC对应关系,查找ARP攻击源MAC对应的IP地址及 计算机名,根据IP地址及计算机名定位攻击源计算机。