ARP协议概述及局域网内预防和处理ARP攻击的方案

时间:2022-09-17 11:07:46

ARP协议概述及局域网内预防和处理ARP攻击的方案

中图分类号:TP393 文献标识码:A 文章编号:1003-2738(2011)11-0243-01

摘要:ARP协议是“Address Resolution Protocol”的缩写,将目的主机的IP地址转换成目的主机的硬件地址才能互相通信。它能够将不同的OSI模型中的不同层的协议最终解释成硬件地址,正是由于ARP完成的是将IP地址转换成以太网的硬件地址,所以它是必不可少的最后一步。ARP协议同样也应用到其他的不是基于以太网的网络中,比如Token Ring、FDDI或者IEEE 802.11。

关键词:ARP;硬件地址;IPV4;以太网;OSI层

国家计算机病毒应急处理中心对互联网监测发现,近期一些校园网、小区网、企业网以及网吧等局域网中的计算机系统受到一种“地址解析协议欺骗”(简称ARP欺骗)的恶意木马程序的入侵,当有ARP木马程序入侵局域网中的计算机系统时,木马会截获所在本网段络中所有计算机之间的通信信息,导致该网段经常性掉线,主机IP地址冲突, IE浏览器出错以及软件出现故障等问题,这是因为MAC地址冲突引起的,当带毒机器的MAC映射到如路由器、防火墙之类的NAT设备,导致全网断线;如果只映射到某网段内的计算机,则只有这部分机器出问题。

一、ARP协议概述

(一)什么是ARP协议

局域网按OSI模型的层次分属于第二层数据链路层,在局域网中传输的是“帧”,而帧里面包含目标主机的MAC地址的。一个主机要和另一个主机进行通信,最终要知道目地主机在网络上的唯一地址,它们是以48位以太网地址传输以太网数据包。因此,必须把目的IP的地址转换成以太网目的地址。这个目地MAC地址是如何获得的呢?它就是通过ARP协议获得的。

(二)ARP协议的工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP缓存表,在Windows中可以在“运行”―“CMD”―“arp a”查看如图1的IP地址与MAC地址的一一对应关系。

图1 MAC地址和IP地址的一一对应

以主机A(172.16.1.254)向主机B(172.16.1.252)发送数据为例。主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址加入到要发送的帧里面;如果没有,主机A就会在本网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,网络上其他主机并不响应ARP询问,只有主机B向主机A做出的回应:“172.16.1.252的MAC地址是00-C0-9F-3E-E2-1D”。这样,AB之间就能传递数据了。同时它还更新了自己的ARP缓存表。

二、ARP攻击类型和中毒的反应

(一)常见ARP攻击类型

(1)ARP扫描(ARP请求风暴)

通讯模式为:请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 请求 -> 应答 -> 请求 -> 请求 -> 请求…

在这种情况下,网络中出现大量ARP请求广播包,几乎都是对网段内的所有主机进行扫描。大量的ARP请求广播会极大的浪费网络带宽资源。

(2)ARP无请求应答(ARP欺骗)

ARP欺骗是黑客常用的攻击手段之一,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。

第一种ARP欺骗――截获网关数据。它通知有路由功能的设备一系列错误的局域网MAC地址,并按照一定的频率不断进行,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。

第二种ARP欺骗――伪造网关。一台主机建立成假网关,被这个假网关欺骗的主机向外传递数据时,不是通过正常的路由器途径上网,而其他计算机就上不了网了。

三、预防ARP病毒和查找感染了ARP病毒的主机的办法

在现今的网络上,各种病毒木马层出不穷,针对系统漏洞不断演变升级出许多的变种,在新的变种出来的一段时间内,普通用户很难将防御工作做得很好,这时很有可能受到ARP病毒的攻击。若在第一时间内发现和清除了ARP病毒,就能降低使用者数据泄漏的危险。一是可以在核心交换机上配置ACL策略,可以在源头上关闭ARP蠕虫病毒常用端口,二是可以在交换机上将IP地址和MAC地址进行绑定。查找感染了ARP病毒的主机一般使用Sniffer等抓包工具,监视ARP协议包,能在第一时间找到该病毒主机。

(一)在交换机上配置的ACL

目前ARP蠕虫病毒是当前网络最大的危害,是造成当前很多网络堵塞的重要原因。它具有比较明显的扫描和连接特征,为了尽量减少ARP蠕虫病毒在网络上的传播,我们配置ACL关闭ARP蠕虫病毒常用的端口, 目前已知的常见端口有135、136、138、445、593等,因为不断会有病毒出现,要经常的更新危害严重的蠕虫端口。港湾多层交换机6805配置命令如下:

Harbour(config)#access-list 801 deny tcp dip any dst-port 135 sip any src-port any precedence 255.

(二)将端口和MAC地址绑定

交换机中保存着一份FDB,这个表是此交换机上的端口与MAC地址的对应表。当连接在此交换机上的客户机发送数据或开机时,FDB就会自动记录下MAC与端口的对应项。如果FDB是静态的,不允许交换机随意的、自动的更改FDB。使用静态FDB就实现了MAC、端口的绑定。

手工设置FDB的静态地址表项,有如下好处:

1.设备重新刷新地址的时候静态地址表项始终存在,不会被动态删除。

2.对于一个比较稳定的固定网络,手工添加静态地址表项可以减少网络中的广播流量。

3.可以实现MAC地址绑定策略。

港湾6805交换机支持对指定端口FDB学习的限制,用来防止恶意攻击,对交换机进行一定的保护。在端口的FDB数量到达一定的阀值的时候,系统就认为交换机受到攻击,系统就会自动把这个端口关闭一段时间。

配置实例:配置default vlan 中的端口3 为安全端口,允许MAC 地址为0011-2233-4455 的用户访问网络资源:Harbour(config)#interface ethernet 1/3Harbour(config-if-eth1/3)#learning disableHarbour(config-if-eth1/3)#exitHarbour(config)#fdbentry mac 0011.2233.4455 vlan default 1/3

(三)使用抓包工具找ARP包

常见工具有Sniffer pro,Ethereal。这里以 “科来网络分析系统”为例 ,它有如下特性:全局到节点的网络流量统计、捕获网络数据包、检测网络传输的所有数据、自动发现IP、端口、主机会话和物理端点、监测内网web访问情况、提供数据过滤与筛选,来调节检测范围、数据包解码分析、深入的数据分析、监测网络连接情况、找出会话最大的主机。按会话数来排序就是我们分析哪台主机中了ARP病毒的依据。

在“FILTER”过滤选项里编辑一个过滤器,全局抓包中 “过滤地址”按默认的全部IP或MAC,“协议”选项里列出了所有协议,如DHCP、DNS、BITTORRENT等,我们在图2中选则“ARP”就制定了ARP包的获取。

在这里ARP协议又按请求和响应被细分了,因为有的ARP是请求风暴型的,有的是响应型,我们可以根据具体需要选择,不过一般将所有类型的ARP协议勾上。在核心交换机上可以将所有的流过端口的数据镜像到一个端口上。在主界面上点击“开始”开始抓包工作。

在ARP―地址解析协议中,以太网对应的硬件类型为1。下面的长度都是以字节也就是8位来说明的,如硬件地址的长度为6,即48位,对应了48位的MAC地址。协议地址长度为4,即32位,对应了IP地址。从这里也可以验证ARP协议是将32位的IP地址解析成48位的硬件地址。而操作类型则表示ARP是请求,图示为1则表示是请求,为2的话则是响应。在下面我们还能看到目的和源的IP和MAC地址。如果某个IP的发出ARP请求或应答很多的话,我们就能认定这个IP对应的主机中了ARP病毒,最后就要将这台主机在网络上断开,并用杀毒软件查杀病毒。

参考文献:

[1](美)托德.拉莫尔(Todd Lammle).CCNA学习指南[M],北京:电子工业出版社,2005

[2] 秦相林.二层交换网络上的嗅探技术研究[J],自然科学报,2005

[3] 港湾网络有限公司.BigHammer6800系列交换机软件配置手册[M],北京,2005

[4] 赵鹏.计算机网络系统中基于ARP协议的攻击与保护[J] .网络安全技术与应用,2005

作者简介:周智谦(1982- ):男,汉族,湖北武汉人,武汉工业职业技术学院助教,主要研究方向:计算机网络。

上一篇:共同侵权行为之“共同性”问题新探 下一篇:浅析校园网建设