ARP协议

2024-08-13

ARP协议(精选12篇)

ARP协议 篇1

0 引言

随着网络的蓬勃发展, 社会对网络的依赖越来越严重, 但同时ARP欺骗类等病毒也给Internet甚至人们的生活和工作带来了很大的冲击。A R P欺骗类病毒一般属于木马病毒, 不具备主动传播的特性, 不会自我复制, 但是由于ARP病毒发作时, 会向全网发送伪造的ARP数据包, ARP病毒所到之处, 网络故障频繁, 网速突然变慢, 网络连接时断时续, 严重时可导致整个局域网瘫痪, 甚至造成无法弥补的损失。因此, 如何采取行之有效的措施防御ARP病毒, 已成为近期网络安全工作的重中之重。

1 ARP协议概述

1.1 概述

地址解析协议 (Address Resolution Protocol, ARP) , 它工作在数据链路层, 在本层和硬件接口联系, 同时对上层提供服务。在以太网中以太网设备并不识别32位的IP地址, 数据帧从一台主机到达网内的另一台主机, 主机是根据48位的MAC地址来确定接口的, 而不是根据32位的IP地址, 即数据包是靠48位MAC地址寻址的。因此在以太网中一个主机要和另一个主机进行直接通信, 必须知道目标主机的MAC地址。该MAC地址是通过ARP协议获得的, ARP协议的基本功能就是通过目标设备的IP地址, 查询目标设备的MAC地址, 进而建立IP地址与MAC地址之间的映射关系, 以保证通信的顺利进行。

1.2 ARP工作原理

下面看一个简单的例子来理解ARP的原理和作用。

(1) 在图1中所示有两台主机, 假定主机A的IP地址是192.168.1.1, 它准备和服务器C (IP:192.168.1.2) 进行通信, 主机A首先要检查本地的ARP缓存表, 查看是否有IP为192.168.1.2的ARP记录, 如果有, 就转到 (4) , 直接将数据包发送到这个M A C地址。

(2) 如果没有, A主机就向本地网段广播一个ARP请求, 广播包的目的MAC地址是FF-FF-FF-FF-FF-FF, 该ARP广播包里包含服务器C的IP地址。处在同一网段中的所有主机均会接收到该数据包。这样以此来请求192.168.1.2的MAC地址。

(3) 此时, 网段内的每台主机都会根据收到的广播包与自己的IP地址进行比较, 但只有服务器C会发送一个ARP响应数据包, 服务器C将自己的MAC地址响应给主机A, A接收到后更新自己的ARP缓存表, 并且获得与C的IP相对应的M A C地址。与此同时, 服务器C也将主机A的M A C地址和IP地址添加到自己的ARP列表中, 如果ARP表中已经存在该IP的信息, 则将其覆盖。

(4) 这样主机A查询本地的ARP表, 获取IP:192.168.1.2所对应的MAC地址, 然后封装在以太网头结构中, 之后再查找交换机的MAC地址表, 最后就通过相应端口把数据直接发送给服务器C。

那么这时使用arp-a命令来查看主机A的ARP缓存表, 就多出一条192.168.1.2所对应的MAC地址表项。当然, 如果你的数据包是发送到不同网段的目的地, 那么就一定存在一条网关的IP-MAC地址对应的记录。知道了ARP协议的作用, 就能够很清楚地知道, 数据包向外传输要依赖ARP缓存。一旦ARP缓存受到非法篡改, 数据包就很难向外发送了。

2 ARP协议的缺陷

因为局域网中的通信都是基于M A C地址的, 主机中的ARP缓存表通常是动态的, 可以手工添加、删除记录, 并且主机不会检查自己是否发送过ARP请求包, 也不管自己所接收的是否是合法的A R P应答, 只要所收到目标M A C是自己的ARP reply包或arp广播包, 都会接受并缓存。例如:假冒ARP应答, A未发ARP请求包, 有人假冒B主动向A发应答包, 这时A会更新自己的M A C地址表中主机B的M A C地址。这个缺陷导致了任何主机都可以向主机A发送假冒主机B的ARP应答包。所以一旦有人发送一个自己伪造的ARP应答, 网络可能就会出现问题。协议设计者当初并没有考虑到这些安全问题, 那么这就为ARP欺骗提供了可能。

3 欺骗形式

3.1 同网段下与网关关联的ARP欺骗

下面我们结合图2, 通过两个典型的实例分析同网段下与网关关联的ARP欺骗过程。

3.1.1 利用ARP reply广播包

利用ARP协议自身的缺陷, 攻击者C发送ARP reply广播包, 该包中的源IP地址是192.168.1.254、源MAC地址是00-3C-AA-00-36-02 (网关的虚假MAC地址) 、目的MAC地址是FF-FF-FF-FF-FF-FF。该网段下其他主机无条件接收ARP reply广播包, 会将攻击者C的源MAC地址00-3C-AA-00-36-02和源IP地址192.168.1.254添加到自己的ARP缓存表中, 自动更新自身的ARP缓存表。如果该欺骗一直持续下去, 那么该网段下所有主机向Internet发送的数据包总是发送到错误的网关硬件地址上, 自然就不能够访问Internet了。

3.1.2 利用ARP request广播包

攻击者C发送ARP request广播包, 该包中的源IP地址是192.168.1.254、源MAC地址是00-3C-AA-00-36-02 (网关的虚假MAC地址) 、目的MAC地址是FF-FF-FF-FF-FF-FF, 同样该网段下所有主机会无条件接收ARP request广播包。因为是ARP request广播包, 网段内其他主机会将攻击者的源MAC地址00-3C-AA-00-36-02和源IP地址192.168.1.254添加到自己的ARP缓存表中, 自动更新自身的ARP表。如此一来, 同样也就不能够访问Internet了。

3.2 基于以太网交换机的ARP欺骗

由于以太网交换机在数据传递过程中不用检查网络层的包头信息, 而是直接由第二层帧结构中的MAC地址来决定数据的转发目标, 连接交换机的各主机的MAC地址是存储在交换机的M A C地址表中, M A C地址表中记录的是各主机M A C地址和对应交换机的端口编号, 故也称为MAC地址-端口表。当交换机接收到源主机的一个数据帧时, 他会首先检查数据帧里的目标M A C地址, 如果该地址已经缓存在M A C地址表中, 他就会按照表中MAC地址对应的端口进行转发;如果该地址未缓存在M A C地址表中, 交换机就会利用A R P协议向所有其他端口发送目标MAC地址广播查询信息, 目标主机接收到该广播信息后, 会对交换机直接进行响应, 此时交换机会将目标主机的M A C地址以及对应的端口全部记录在其M A C地址中, 之后根据M A C地址对应的端口进行转发;所以交换机会自动把学习到M A C地址写入到M A C地址表里。那么为了达到网络侦听或者ARP欺骗的目的, 攻击者只要改变交换机上的MAC地址和端口的对应表, 则可以接收到本来无法进行侦听的数据。

另外交换机中的MAC地址表的大小是固定的, 这就导致了ARP欺骗的另一种隐患, 由于交换机可以主动学习主机的M A C地址, 并建立和维护这个M A C地址表, 当攻击者向交换机连续发送伪造的ARP应答数据包 (即制造连续大量的虚假MAC地址) , MAC地址表就会被迅速填满, 这样会导致交换机的MAC地址表溢出, 造成交换机负载过大, 网络缓慢和丢包甚至瘫痪。针对这类欺骗一般在网关上做MAC-IP-PORT绑定。

3.3 跨网段针对主机的ARP欺骗

如图3所示, 假如攻击者希望假冒主机A的身份192.168.11, 来登录服务器C192.168.1.2所开启的终端服务, 但是路由工作的机器和纯粹二层的工作机制不安全相同, 沿用同网段环境的攻击方式时, 路由器会发现攻击者所处的网段和服务器所处的网段相同而不会转发该地址。

首先, 攻击者需要ICMP重定向的协助, 并将同网段下的ARP欺骗和ICMP重定相结合, 以达到跨网段进行ARP欺骗的目的。在介绍跨网段ARP欺骗之前, 首先要介绍一下另外一种常见的攻击手段:ICMP重定向。

一般情况下主机的路由表中只有一个默认路由, 当主机的默认路由使用非优化路由时其网关将发送ICMP重定向报文, 主机会根据默认网关所发送的信息被动地改变路由表。这样攻击者可以有效地利用ICMP重定向把主机的连接转向一个不可靠的主机或路径。

对于特定的路由器而言, 在关闭IP路由的情况下, 路由器会接收伪造的ICMP重定向, 因此如果攻击者发送伪造的ICMP重定向报文, 路由器将被动的修改自身的路由表。这样攻击者就可以破坏或截获来自路由器上的通信。

介绍完ICMP重定向, 下面介绍如何利用ICMP重定向进行跨网段ARP欺骗, 首先攻击者需要将自己的非法IP数据包的TTL变得稍大一些, 然后寻找目标主机A的漏洞后导致目标主机A死机。攻击者发送一个ARP报文, 将IP地址192.168.1.1和攻击者主机的MAC地址构造为ARP报文。这时, 每台主机都只会在局域网中找这个地址而根本就不会把发送给192.168.1.1的IP包交给路由器。他还得构造一个ICMP重定向广播, 于是攻击者通过伪造ICMP重定向报文通知网络中的主机:“到192.168.1.1的最短路径不是局域网, 而是通过路由器, 因此优化本机路由表将指向192.168.1.1的路由重定向到路由器上”。在目标主机A所在网段内的主机接收到这个ICMP重定向报文后, 开始被动的修改本地的路由表, 将目的地址为192.168.1.1的数据包全部发往了路由器, 攻击者ARP欺骗的第一步就成功了, 接下来是如何获取主机A和服务器C之间进行身份认证的用户名和口令了。

4 ARP欺骗解决方案

本文以校园网的简易拓扑结构为例阐述ARP欺骗防御方案。

网络拓扑结构如图4。

4.1 采用VLAN技术

因为一个VLAN就是一个独立的广播域, VLAN之间的单播和广播都不能直接到达对方的区域, VLAN能够最大限度的控制广播的影响范围, 所以如图4所示在防火墙下联处增加一台核心交换机, 按照部门做好VLAN划分, 保证每个部门独立分配一个单独的IP地址段, 这样采用VLAN技术将各部门之间的客户机进行分离, 保证各部门之间的VLAN相对独立, 从而减少ARP广播风暴的发生, 轻松应对ARP病毒的攻击, 增强网络的安全性。

例如:在三层交换机 (DCRS-5526S) 划分虚网, 实现端口分离, 防范ARP欺骗。

(1) 划分VLAN10

(2) 划分VLAN 20等方法同上

(3) 设置T R U N K端口

注:对于一些特定的交换机, 可以不启用vlan1, 因为V L A N攻击往往是从这个V L A N发起的。

(4) 添加默认路由

(5) 另外, 如果在上述校园网中核心设备采用了路由器, 一般路由器具有DHCP snooping机制, 使用DHCP snooping来绑定A R P表可以有效防范A R P欺骗。本文在介绍跨网段ARP欺骗时重点介绍了ICMP重定向, 那么对于路由器而言, 还应该关闭ICMP重定向功能 (no ip icmp redirect) , 这是防范ICMP重定向以及跨网段ARP欺骗的有效手段。当然还可以使用具有ARP防护功能的路由器。

4.2 接入层网络设备上实现IP+MAC+端口绑定

例如:在二层交换机 (DCS-3629S) 实现mac+ip+port绑定, 其中客户机A连接在DCS-3629S端口5上。把客户机的ip和M A C绑定在端口5上。

(1) 打开交换机的防火墙功能

(2) 添加访问列表

(4) 把访问列表应用到端口

4.3 客户机安全设置

4.3.1 客户机安装360ARP防火墙

该软件在系统内核层直接拦截本机和外部的全部ARP攻击, 并提供本机ARP木马病毒准确追踪和及时查杀, 保持网络畅通及通讯安全。

4.3.2 客户机ARP静态绑定

对于客户机的配置, 最常用的方法就是做IP和MAC的静态绑定, 例如把其他主机以及网关的IP和MAC都做静态绑定。下面仅针对大多数用户介绍一种在命令提示符下绑定ARP缓存表的方法。

首先:在图4客户机A的命令提示符下输入arp-a命令, 显示如图5。

其中“dynamic”代表动态缓存, 即这项在收到一个ARP包时会被动态修改。如果“Type”项变成了“static”静态类型。那客户机接受到ARP包时是不会改变本地ARP缓存表, 从而有效的防止ARP欺骗。那么静态缓存表的建立用arp-s命令。例如:执行“arp-s 192.168.10.254 00-03-0f-0d-3a-e9”, 在本地静态绑定网关IP和MAC, 当然用同样的方法也可以绑定其他主机的IP和MAC, 进一步提高局域网的整体安全性。不过由于静态ARP缓存表在每次重启后都会自动恢复原来设置, 怎么办?这时我们可以编写一个简单的dat文件, 添加到启动项中。这样, 开机自动执行批处理文件并静态绑定A R P表。

4.3.3 关闭ICMP重定向

对于Windows主机而言, 一般还要修改注册表关闭ICMP重定向功能, 防范跨网段针对主机的ARP欺骗。

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters EnableICMPRedirect=dword:00000001 (默认值) , 其中默认值为1, 表示主机会改变其路由表以响应网络设备 (路由器) 发送给她的ICMP重定向报文。建议把值修改为0。

5 结论

综上所述, 正是因为ARP协议以及ARP缓存表自身的缺陷, 所以给ARP欺骗的滋生提供了温床, 给局域网的安全带来很大的隐患。因为网络安全是一种过程, 它遵循“木桶”原理, 所以我们不但要掌握它的基本原理, 还要从多方面入手, 杜绝ARP欺骗, 那么本文就从客户端、VLAN、网络设备等多个方面同时建立起有效的立体防御机制, 在一定程度上来保障网络安全。

参考文献

[1]免费论文网.http://www.lw-cn.cn.

[2]李伟编著.网络安全实用技术标准教程.清华大学出版社.2006.

[3]谭敏, 杨卫平.ARP病毒攻击与防范[J].网络安全技术与应用.2008.

[4]石硕主编.交换机/路由器及其配置 (第2版) .电子工业出版社.2008.

[5]穆艺鑫.ARP欺骗在局域网中的分析及全面防御.中国论文下载中心.2008.

ARP协议 篇2

当一台主机将以太网数据帧发送到同一个局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的,设备驱动程序从不检查IP数据报中的IP地址,

ARP为IP地址和硬件地址之间提供动态映射,说是动态的,因为这个过程是自动完成的。

RARP是被那些没有磁盘驱动器的系统使用的,它需要系统管理员进行手动设置。

例子

用一个例子解释ARP的运行过程

敲入命令ftp bsdi

1. ftp客户端调用函数gethostbyname将主机名转换为32bit的IP地址。这个函数在DNS中被称为解析器。

2. ftp客户端用得到的IP地址建立TCP链接。

3. TCP发送一个连接请求分段到远端的主机,即用上述的IP地址发送IP数据报。

4. 如果目的主机在本地网络上,那么IP数据报可以直接发送到目的主机上;如果目的主机在一个远程网络上,那么就通过IP选路函数来确定位于本地网络上的下一站路由器地址。

5. 假定是一个以太网,那么发送端必须把32bit的IP地址变换成48bit的以太网地址。从逻辑Internet地址到对应的物理硬件地址需要进程翻译,这就是ARP的功能。

6. ARP发送一份ARP请求的以太网数据帧给以太网上的每个主机,该过程称为广播。其中,ARP请求数据帧中包含目的主机的IP地址,即如果你是这个IP地址的拥有者,请回答你的硬件地址。

7. 目的主机的ARP层识别出这份广播是发送端在寻问它的硬件地址,于是发送一个ARP应答。

8. 到ARP应答后,使ARP进行请求-应答交换的IP数据报现在就可以发送了。

9. 发送IP数据报到目的地址。

每一个网络接口都有一个48bit的硬件地址,在硬件层次上进行数据帧交换必须有正确的接口地址。但是知道主机的IP地址并不能发送一帧数据给主机。因为内核必须知道目的端的硬件地址才能发送数据,这也就是ARP的存在意义。

SLIP和PPP(点对点)链路不使用ARP。当设置这些链路时,需要告诉内核链路每一端的IP地址而不需要涉及硬件地址。

ARP高速缓存

每个主机上都有一个ARP高速缓存,用于存放最近Internet地址到硬件地址的映射记录。高速缓存中每一项的生存时间一般为20分钟,起始时间从被创建时开始算起(生存时间在再次使用后,重新更新为20分钟)。

ARP分组格式

ARP请求和应答帧格式

对比第二章中以太网分装的帧格式发现,首部是一样的,后面的ARP请求/响应字段就是数据段。

若以太网目的地址全1则是广播地址。

在ARP请求/应答分组格式中有重复信息:在以太网首部和ARP请求/应答帧中都有发送端的硬件地址。

对一个ARP请求来说,除目的端的硬件地址外其他都要填上,

当主机收到一份目的IP地址为本机的ARP请求后,它就把自己的硬件地址填进去,然后将填进去的目的端地址替换两个发送端地址,将发送端地址替换目的地址,最后发送。

对不存在主机的ARP请求

若网络号和子网号对应的网络确实存在,但是主机号不存在,就会有多次ARP请求,大约75s后TCP连接请求才放弃。

注意:直到ARP应答返回时,TCP报文段才可以被发送,因为这时才知道目的地的硬件地址。

ARP高速缓存超时设置

对完整的表项设置超时值为20min,对不完整的表项设置为3min。

ARP代理

如果ARP请求时从一个网络的主机发往另一个网络的和足迹,那么连接两个网络的路由器就可以回答这个ARP请求,该过程称为委托ARP或者ARP代理。这样可以欺骗发起ARP的发送端,认为路由器就是目的主机,而事实上目的主机在路由器的另一边。

ARP代理也称ARP混合和ARP出租,这些名字来源于ARP代理的其他用途:通过两个物理网络的路由器可以相互隐藏物理网络,这种情况下两个物理网络之间可以使用想用的网络号,只要把中间的路由器设置成ARP代理以响应一个网络到另一个网络的ARP请求。

免费ARP

免费ARP指主机发送ARP查找自己的IP地址。

免费ARP作用:

1. 通过它来确定另一个主机是不是设定了相同的IP。若有ARP响应则说明有另外一个主机设定了相同的IP地址。

2. 若发送免费ARP的主机正好改变了硬件地址(换网卡),那么免费ARP可以使其他主机高速缓存ARP中的旧的硬件地址进行更新。如果主机收到某个IP地址的ARP请求并且它已经在接收者的告诉缓存中,那么就要用ARP请求中的发送端的硬件地址对高速缓存中相应的内容进行更新。

一个例子:通过发送含有备份硬件地址和故障服务器的IP地址的免费ARP请求,使得备份服务器可以顺利的接替故障服务器进行工作。这使得所有目的地为故障服务器的报文都被送到了备份服务器那里,客户程序不必关心原来的额服务器是否出了故障。

RARP逆地址解析协议

引言

具有本地磁盘的系统引导时,一般从磁盘上的配置文件中读取IP地址。但无盘机如X终端和无盘工作站则需要采用其他方式获得IP地址。

无盘系统的RARP实现过程是从接口卡上读取唯一的硬件地址,然后发送一份RARP请求(一帧在网络上广播的数据),请求某个主机响应该无盘系统的IP地址(在RARP应答中)。

RARP请求以广播方式传送,RARP应答以单播方式传送。RARP的应答中包含发送端的IP地址,这样发送端就知道了自己的IP地址。当无盘系统从RARP应答中收到它的IP地址后,它将发送TFTP请求来读取引导映像。

RARP服务器设计

提供一个ARP服务器很简单,通常是TCP/IP在内核中实现的一部分。由于内核知道IP地址和硬件地址,因此当它收到一个询问IP地址的ARP请求时,只需用相应的硬件地址来提供应答就可以了。

RARP服务器要为多个主机(网络上所有的无盘系统)提供硬件地址到IP地址的映射。该映射包含在一个磁盘文件中。由于内核一般不读取和分析磁盘文件,因此RARP服务器的功能就由用户进程来提供而不是作为内核TCP/IP实现的一部分。

RARP请求是在硬件层进行广播的,它不经过路由器转发。通常在一个网络上要提供多个RARP服务器,为了让无盘系统在RARP服务器关机的状态也能引导。

浅议arp欺骗攻击 篇3

关键词:arp 欺骗 攻击

中图分类号:TP393.04文献标识码:A 文章编号:1006-8937(2009)03-0073-02

最近一段时间,很多校园局域网内的主机出现频繁断网的现象,引起这种现象的主要原因是局域网内部存在ARP 欺骗攻击。以下笔者就针对这种攻击的原理和防范方法进行了简单介绍。

1 ARP 协议的定义

要想了解ARP 欺骗攻击的原理,首先就要了解什么是ARP 协议,ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(IP层,也就是相当于OSI的第三层)地址解析为数据连接层(MAC层,也就是相当于OSI的第二层)的MAC地址。

我们知道,二层的以太网交换设备并不能识别32位的IP地址,它们是以48位以太网地址(就是我们常说的MAC地址)传输以太网数据包的。因此IP地址与MAC地址之间就必须存在一种对应关系,而ARP协议就是用来确定这种对应关系的协议。

ARP工作时,首先请求主机发送出一个含有所希望到达的IP地址的以太网广播数据包,然后目标IP的所有者会以一个含有IP和MAC地址对的数据包应答请求主机。这样请求主机就能获得要到达的IP地址对应的MAC地址,同时请求主机会将这个地址对放入自己的ARP表缓存起来,以节约不必要的ARP通信。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用(Windows系统这个时间为2分钟,而Cisco路由器的这个时间为5分钟),就会被删除。通过下面的例子我们可以很清楚地看出ARP的工作机制。

假定有如下五个IP地址的主机或者网络设备,它们分别是:

假如主机A要与主机B通信,它首先会检查自己的ARP缓存中是否有192.168.1.3 这个地址对应的MAC地址,如果没有

它就会向局域网的广播地址发送ARP 请求包,大致的意思是192.168.1.3的MAC地址是什么请告诉192.168.1.2,而广播地址会把这个请求包广播给局域网内的所有主机,但是只有192.168.1.3 这台主机才会响应这个请求包,它会回应192.168.1.2一个ARP包,大致的意思是192.168.1.3的MAC 地址是02-02-02-02-02-02。这样的话主机A 就得到了主机B 的MAC 地址,并且它会把这个对应的关系存在自己的ARP缓存表中。之后主机A与主机B之间的通信就依靠两者缓存表里的MAC地址来通信了,直到通信停止后2分钟,这个对应关系才会从表中被删除。

再来看一个非局域网内部的通信过程。假如主机A需要和主机D进行通信,它首先会发现这个主机D的IP 地址并不是自己同一个网段内的,因此需要通过网关来转发,这样的话它会检查自己的ARP缓存表里是否有网关192.168.1.1 对应的MAC地址,如果没有就通过ARP请求获得,如果有就直接与网关通信,然后再由网关C通过路由将数据包送到网关E,网关E 收到这个数据包后发现是送给主机D(10.1.1.2)的,它就会检查自己的ARP缓存,看看里面是否有10.1.1.2 对应的MAC地址,如果没有就使用ARP协议获得,如果有就是用该MAC地址与主机D通信。

2 ARP欺骗的含义

通过上面的例子我们知道,在以太局域网内数据包传输依靠的是MAC地址,IP地址与MAC对应的关系依靠ARP表,每台主机(包括网关)都有一个ARP缓存表。在正常情况下这个缓存表能够有效保证数据传输的一对一性,像主机B之类的是无法截获A与D之间的通信信息的。

但是主机在实现ARP缓存表的机制中存在一个不完善的地方,当主机收到一个ARP的应答包后,它并不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息。这就导致主机B截取主机A主机D之间的数据通信成为可能。

首先主机B向主机A发送一个ARP应答包说192.168.1.1 的MAC地址是02-02-02-02-02-02,主机A收到这个包后并没有去验证包的真实性而是直接将自己ARP列表中的192.168.1.1的MAC地址替换成02-02-02-02-02-02,02,同时主机B向网关C 发送一个ARP 响应包说192.168.1.2 的MAC 是02-02-02-02-02-02,同样,网关C 也没有去验证这个包的真实性就把自己ARP 表中的192.168.1.2 的MAC地址(下转第95页)(上接第73页)替换成02-02-02-02-02-02。当主机A 想要与主机D 通信时,它直接把应该发送给网关192.168.1.1 的数据包发送到02-02-02-02-02-02 这个MAC 地址,也就是发给了主机B,主机B 在收到这个包后经过修改再转发给真正的网关C,当从主机D返回的数据包到达网关C后,网关也使用自己ARP表中的MAC,将发往192.168.1.2 这个IP 地址的数据发往02-02-02-02-02-02 这个MAC 地址也就是主机B,主机B 在收到这个包后再转发给主机A完成一次完整的数据通信,这样就成功地实现了一次A R P 欺骗攻击。

因此简单点说,ARP 欺骗的目的就是为了实现全交换环境下的数据监听。大部分的木马或病毒使用ARP 欺骗攻击也是为了达到这个目的。

3 如何发现及清除

局域网内一旦有ARP 的攻击存在,会欺骗局域网内所有主机和网关,让所有上网的流量必须经过A R P 攻击者控制的主机。其他用户原来直接通过网关上网,现在却转由通过被控主机转发上网。由于被控主机性能和程序性能的影响,这种转发并不会非常流畅,因此就会导致用户上网的速度变慢甚至频繁断线。另外ARP 欺骗需要不停地发送ARP 应答包,会造成网络拥塞。

一旦怀疑有ARP 攻击我们就可以使用抓包工具来抓包,如果发现网内存在大量ARP 应答包,并且将所有的IP 地址都指向同一个M A C 地址,那么就说明存在A R P欺骗攻击,并且这个MAC 地址就是用来进行A R P 欺骗攻击的主机M A C 地址,我们可以查出它对应的真实IP 地址,从而采取相应的控制措施。另外,我们也可以到路由器或者网关交换机上查看IP 地址与M A C地址的对应表,如果发现某一个MAC 对应了大量的IP 地址,那么也说明存在ARP 欺骗攻击,同时通过这个MAC 地址查出用来ARP 欺骗攻击的主机在交换机上所对应的物理端口,从而进行控制。

4 如何防范

我们可以采取以下措施防范ARP 欺骗。

第一,在客户端使用arp命令绑定网关的真实M A C 地址命令如下:

arp (先清除错误的ARP表)

arp 192.168.1.1 03-03-03-03-03-03 (静态指定网关的MAC 地址)

第二,在交换机上做端口与MAC 地址的静态绑定。

第三,在路由器上做IP 地址与MAC 地址的静态绑定。

第四,使用“ARP SERVER”按一定的时间间隔广播网段内所有主机的正确IPMA C 映射表。

ARP协议漏洞分析 篇4

关键词:ARP协议,ARP协议漏洞,ARP攻击

ARP (Address Resolution Protocol) 协议是实现将IP地址转换成MAC地址的一种网络协议。近年来, 网络中的非法入侵者利用ARP协议设计上的缺陷, 通过篡改IP与MAC之间的对应关系, 非法获取并替换他人的MAC, 以达到非法监听和获取他人在网络上所传输的信息的目的。要想有效地防范ARP攻击, 首先就必须掌握ARP协议的基本知识, 洞悉ARP协议的漏洞之处, 了解ARP攻击的原理。

1 ARP协议概述

众所周知, IP地址是不能直接用来进行通信的, 因为IP地址只是主机在抽象的网络层中的地址。要想把网络层中传送的数据报交给目的主机, 还要传到数据链路层转变成硬件地址后才能发送到实际的网络上。由于IP地址是32位的, 而硬件地址是48位的, 因此它们之间不存在简单的映射关系。此外, 在一个网络上可能经常会有新的主机加入进来, 或撤走一些主机, 更换网卡也会使主机的硬件地址改变。可见在主机中应存放一个从IP地址到硬件地址的映射表, 并且这个映射表还必须能够经常更新。将一台计算机的IP地址解析成等价的MAC地址的过程叫做地址解析。ARP地址解析协议就是用来确定这些映象的协议。ARP协议的标准是在RFC826中定义的。这个协议起初是为DIX的10M以太网设计的, 现在已允许用在其它类型的网络上。它负责从第三层的网络地址映射到第二层的硬件地址。

在以太网上解析IP地址的时候, ARP请求和应答的数据包帧的格式如表1所示。

其中, 硬件类型字段指明了发送方想知道的硬件接口类型, 以太网的值为1。协议类型字段指明了发送方提供的高层协议类型, IP为Ox0800。它的值与包含IP数据报的以太网数据帧中的类型字段的值相同。硬件地址长度和协议长度分别指明了硬件地址和高层协议地址的长度, 以字节为单位。操作字段指出4种操作类型, 它们是ARP请求 (值为1) 、ARP应答 (值为2) 、RARP请求 (值为3) 和RARP应答 (值为4) 。接下来的4个字段是发送端的MAC地址、发送端的IP地址、目的端的MAC地址和目的端的IP地址。

对于一个ARP请求来说, 除目的端MAC地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后, 它就把MAC地址填进去, 然后用两个目的端地址分别替换两个发送端地址, 并把操作字段置为2, 最后把它发送回去。

2 ARP协议工作原理

2.1 同网段内ARP工作原理

同网段内ARP协议的工作原理的流程图如图1所示:

由流程图很容易看出, 同网段内ARP协议的解析过程为: (1) 初始化ARP请求, 对照该IP地址的网络号, 若确定为同网段内的IP地址, 则可直接在ARP缓存表中查找对应的MAC地址。如果不能在缓存表中找到映射, 则建立一个ARP请求, 该请求中包含有源主机IP和MAC地址的信息, 之后通过广播, 使所有网段内的主机能接受并处理该请求。 (2) 同网段内的每台主机收到广播后判断请求中的IP地址是否与自己的相符。当目标主机断定请求中的IP与自身的IP相符时, 直接发送一个ARP答复, 将自身的MAC地址传递给源主机, 同时将发送端的MAC地址和IP地址添加到自己的ARP列表中, 如果ARP表中已经存在该IP的信息, 则将其覆盖, 然后给源主机发送一个ARP响应数据包, 告诉对方自己是它需要查找的MAC地址, 源主机收到应答后便建立起了通信关系。

2.2 跨网段ARP工作原理

跨网段ARP协议的工作原理的流程图如图2所示:

由流程图很容易看出, 跨网段ARP协议的解析过程较同网段内增加了一个步骤, 即, 如果目的主机和源主机地址不在同一个网段内, 源主机发出的IP数据包会送到交换机的默认网关, 而默认网关的MAC地址同样可以通过ARP协议获取。经过ARP协议解析IP地址之后, 主机会在缓存中保存IP地址和MAC地址的映射条目, 此后再进行数据交换时只要从缓存中读取映射条目即可。

3 ARP协议漏洞

尽管ARP是数据链路层中一个高效的协议, 但是由于其设计初衷是为了方便数据传输, 设计的前提是在网络绝对安全和信任的情况下进行工作, 因此ARP协议存在一些漏洞:

(1) 一台主机的IP地址和MAC地址映像在另一台主机的ARP缓存表中后, 它就会被当作是可信任的计算机。而该主机并没有提供检验IP地址到MAC地址对应表真实性的机制, 使得大多数主机保存了通过ARP协议得到的映射, 不考虑它的真实性、有效性, 也不维护一致性, 所以ARP协议可能把几个IP地址映射到同一物理地址上。

(2) 主机地址映射表是基于高速缓存、动态更新的。由于正常的主机间MAC地址刷新都是有时间限制的, 这样假冒者如果在下次更新之前成功地修改了被攻击计算机上的地址缓存, 就可以进行假冒或者拒绝服务攻击了。

(3) ARP请求是以广播的方式进行。由于主机不知道通信对方的MAC地址, 需要进行ARP广播请求。这样, 攻击者就可以伪装ARP应答, 与广播者真正要通信的计算机进行竞争。攻击者还可以确定子网内计算机什么时候会刷新MAC地址缓存, 以确保最大时间限度地进行假冒。

(4) 任何ARP响应都是合法的, ARP应答无需认证。由于ARP协议是无状态的, ARP协议并未规定主机在未受到查询时就不能发送ARP应答包, 任何主机即使在没有请求的时候也可以做出应答, 而且许多系统会接受未请求的ARP响应, 并用其信息篡改其缓存。

4 ARP攻击

在使用TCP/IP协议的网络中, 一个IP包发往哪里、如何转发是根据路由表的信息确定走向的, 但是, 当IP包到达某网段后, 哪台机器响应这个IP包却是靠该IP包中所包含的MAC地址来识别。也就是说, 只有机器的MAC地址和该IP包中的MAC地址相同的机器才会应答这个IP包。

4.1 同一网段的ARP攻击

如图4所示, 假设三台主机:

A:IP地址210.68.29.136硬件地址00-11-22-AA-AA-AA

B:IP地址210.68.29.137硬件地址00-11-22-BB-BB-BB

C:IP地址210.68.29.138硬件地址00-11-22-CC-CC-CC

假设某入侵者想用主机B入侵主机A, 可是这台主机上安装有防火墙。通过收集资料他知道这台主机A的防火墙只对主机C有信任关系。如果主机A和主机C之间的信任关系是建立在硬件地址的基础上, 这个时候需要用ARP攻击的手段让主机A把自己的ARP缓存中的关于210.68.29.138映射的MAC地址改为主机B的MAC地址。可以设计一个arp_reply的响应包, 发送给主机A。由于协议并没有规定必须在接收到arp_echo后才可以发送响应包, 因此, 设计的包中可以指定ARP包中的源IP、目标IP、源MAC地址, 目标MAC地址, 这就可以通过虚假的ARP响应包来修改主机A上的动态ARP缓存达到攻击的目的。步骤如下: (1) 先研究210.68.29.138这台主机, 直到发现这台主机的漏洞, 然后使主机C瘫痪掉, 暂时停止工作; (2) 这段时间里, 入侵者把自己的IP改成210.68.29.138, 再用工具发一个源IP地址为210.68.29.138, 源MAC地址为00-11-22-BB-BB-BB的包给主机A, 要求主机A更新自己的arp转换表; (3) 主机更新了arp表中关于主机C的IP->MAC对应关系, 防火墙失效了, 入侵者的IP变成合法的MAC地址, 从而实现攻击主机A。

显然这个攻击过程是发生在同一网段的主机之间的, 如果B和C处于不同网段的时候, 所给的方法将不起作用。

4.2 跨网段的ARP攻击

如图5所示, A、C位于同一网段而主机B位于另一网段, 它们的IP和MAC地址如下:

A:IP地址210.68.29.136硬件地址00-11-22-AA-AA-AA

B:IP地址210.68.30.137硬件地址00-11-22-BB-BB-BB

C:IP地址210.68.29.138硬件地址00-11-22-CC-CC-CC

把ARP攻击和ICMP重定向结合在一起就可以基本实现跨网段攻击的目的。ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下, 当路由器检测到一台机器使用非优化路由的时候, 它会向该主机发送一个ICMP重定向报文, 请求主机改变路由。路由器也会把初始数据报向它的目的地转发。步骤如下: (1) 为了使自己发出的非法IP包能在网络上能够存活长久一点, 开始修改IP包的生存时间TTL为下面的过程中可能带来的问题做准备; (2) 寻找主机C的漏洞, 按照这个漏洞使主机C瘫痪掉。在该网络的主机找不到原来的210.68.29.138后, 将更新自己的ARP对应表, 于是他发送一个原IP地址为210.68.29.138, 硬件地址为00-11-22-BB-BB-BB的ARP响应包; (3) 这时每台主机都知道了一个新的MAC地址对应210.68.29.138, 一个ARP攻击完成了, 但是, 每台主机都只会在局域网中找这个地址而根本就不会把发送给210.68.29.138的IP包丢给路由, 因此, 还得构造一个ICMP的重定向广播; (4) 自己定制一个ICMP重定向包告诉网络中的主机:到210.68.29.138的路由最短路径不是局域网, 而是路由, 请主机重定向你们的路由路径, 把所有到210.68.29.138的IP包丢给路由; (5) 主机A接受这个合理的ICMP重定向, 于是修改自己的路由路径, 把对210.68.29.138的通讯都丢给路由器。于是, 入侵者可以在路由外收到来自路由内的主机的IP包了, 从而实现攻击主机A。

5 ARP攻击的防范

防范ARP攻击的措施有:

(1) 用网关监听网络。利用网关截取每一ARP数据包, 分析该数据包包头的源地址、目标地址和ARP数据包的协议地址是否匹配。

(2) 在用户端计算机上绑定交换机网关的IP和MAC地址。首先, 要求用户获得交换机网关的IP地址和MAC地址, 用户在dos提示符下执行arp-a命令。然后用命令“arp-s IP地址MAC地址”将交换机网关的MAC地址和网关的IP地址的绑定。

(3) 在核心交换机上绑定用户主机的IP地址和网卡的MAC地址, 同时在边缘交换机上将用户计算机网卡的MAC地址和交换机端口绑定为双重安全绑定方式。

(4) 对网络中传输的重要数据进行加密处理。由于加密后的数据的安全性已有所提高, 即使加密后数据在传输过程中被截获, 也将加大攻击方取得重要数据的时间成本。

(5) 设置ARP服务器。指定局域网内部的一台机器作为ARP服务器, 专门保存并且维护可信范围内的所有主机的IP地址与MAC地址映射记录。该服务器通过查阅自己的ARP缓存的静态记录并以被查询主机的名义响应局域网内部的ARP请求。同时设置局域网内部的其它主机只使用来自ARP服务器的ARP响应。

(6) 采用VLAN技术隔离端口。局域网的网络管理员可根据本单位网络的拓扑结构, 具体规划出若干个VLAN, 当管理员发现有非法用户在恶意利用ARP攻击网络, 或因合法用户受ARP病毒感染而影响网络时, 网络管理员可利用技术手段首先查找到该用户所在的交换机端口, 然后将该端口划一个单独的VLAN将该用户与其它用户进行物理隔离, 以避免对其它用户产生影响。

6 结束语

ARP是TCP/IP协议族中一个非常重要的协议, 它的作用是将一台计算机的IP地址解析成相应的MAC地址。由于其设计初衷是为了方便数据传输, 设计的前提是在网络绝对安全和信任的情况下进行工作, 因此, ARP协议存在一些漏洞。正是由于它存在这些漏洞, 导致入侵者可以利用它们进行ARP攻击。本文针对这一问题深刻剖析了ARP协议的漏洞之处, 并给出了一些防范措施。

参考文献

[1]David C Plummer.An Ethernet address resolution protocol[R].RFC 826, 1982.

[2]谢希仁.计算机网络[M].北京:电子工业出版社, 2003.

[3]陈伟斌, 薛芳, 任勤生.ARP欺骗攻击的整网解决方案研究[J].厦门大学学报 (自然科学版) , 2007 (2) .

ARP协议 篇5

实验名称

利用wireshark分析ARP协议

实验编号

6.1

姓名

学号

成绩

2.6常见网络协议分析实验

一、实验室名称:

电子政务可视化再现实验室

二、实验项目名称:

利用wireshark分析ARP协议

三、实验原理:

Wireshark:Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试获取网络包,并尝试显示包的尽可能详细的情况。网络包分析工具是一种用来测量有什么东西从网线上进出的测量工具,Wireshark 是最好的开源网络分析软件。

当一台主机把以太网数据帧发送到位于同一局域网上的另一台主机时,是根据48bit的以太网地址来确定目的接口的.设备驱动程序从不检查IP数据报中的目的IP地址。地址解析为这两种不同的地址形式提供映射:32bit的IP地址和数据链路层使用的任何类型的地址。

ARP根据IP地址获取物理地址的一个TCP/IP协议。ARP为IP地址到对应的硬件地址之间提供动态映射。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存。

四、实验目的:

目的是通过实验加深对数据包的认识,网络信息传输过程的理解,加深对协议的理解,并了解协议的结构与区别。

利用wireshark捕获发生在ping过程中的ARP报文,加强对ARP协议的理解,掌握ARP报文格式,掌握ARP请求报文和应答报文的区别。

五、实验内容:

利用wireshark分析ARP协议

六、实验器材(设备、元器件)

运行Windows的计算机,带有并正确安装网卡;wireshark软件;具备路由器、交换机等网络设备的网络连接。

七、实验步骤:

1、查看本机WLAN接口IP,得到192.168.1.112。

2、利用arp –a命令在本地的ARP 缓存中查看IP-MAC对应表。

3、找到与接口192.168.1.112,有过连接的IP,本实验选择192.168.1.109。

4、利用arp-d 192.168.1.109,删除相应缓存记录。

5、打开wireshark网络分析器,选择捕获数据接口,WLAN接口,开始捕获。

6、输入命令,ping 192.168.1.109。

7、此时wireshark会捕获到相应分组数据,停止捕获。

八、实验数据及结果分析

1、请求报文:

由最上方报文信息可以看到,由于之前删除了IP-MAC对应表中IP:192.168.1.109的缓存,因此进行广播,发送查找IP为192.168.1.109的主机,并要求将结果返回给IP地址为192.168.1.112的主机即本机,使用的协议是ARP协议。(1)分析第一行,帧的基本信息:

由结果分析可以得到: 帧的编号(Frame Number):856 帧的长度(Frame Length):42个字节 捕获到的长度(Capture Length):42个字节

帧被捕获的日期和时间(Arrival Time):2016年5月29日,23点15分45.851354000秒

距离前一个帧的捕获时间(Time delta from previous captured/displayed frame0.442497000秒

距离第一个帧的捕获时间差(Time since reference or first frame):181.741785000秒 帧装载的协议:eth:ethertype:arp

(2)分析第二行,数据链路层:

由结果分析得到:

目的地址(Destination):Broadcast(ff:ff:ff:ff:ff:ff)源地址(Source):HonHaiPr_3f:8a:55(b0:10:41:3f:8a:55)协议类型:ARP(0x0806)

(3)分析第三行,ARP协议:

由结果分析得到:

硬件类型(Hardware type):Ethernet(1)协议类型:IPv4(0x0800)硬件信息在帧中占的字节数(Hardware size):6 协议信息在帧中占的字节数(Protocol size):4 操作命令为:request(1)请求

发送方的MAC地址(Sender MAC address):HonHaiPr_3f:8a:55(b0:10:41:3f:8a:55)发送方的IP地址(Sender IP address):192.168.1.112 目标的MAC地址(Target MAC address):00:00:00_00:00:00(00:00:00:00:00:00)目标的IP地址(Target IP address): 192.168.1.109

2.响应报文:(1)截图:

由最上方报文信息可以看到,IP地址为192.168.1.109主机接收到该ARP请求后,就发送一个ARP的REPLY命令,其中包含自己的MAC地址。(1)分析第一行,帧的基本信息:

由结果分析可以得到: 帧的编号(Frame Number):857 帧的长度(Frame Length):42个字节 捕获到的长度(Capture Length):42个字节

帧被捕获的日期和时间(Arrival Time):2016年5月29日,23点15分41.911804000秒 距离前一个帧的捕获时间(Time delta from previous captured/displayed frame)0.060450000秒

距离第一个帧的捕获时间差(Time since reference or first frame):181.802235000秒 帧装载的协议:eth:ethertype:arp

(2)分析第二行,数据链路层:

由结果分析得到:

目的地址(Destination): HonHaiPr_3f:8a:55(b0:10:41:3f:8a:55)源地址(Source):HonHaiPr_ e1:3e:71(d0:7e:35:e1:3e:71)协议类型:ARP(0x0806)(3)分析第三行,ARP协议:

由结果分析得到:

硬件类型(Hardware type):Ethernet(1)协议类型:IPv4(0x0800)硬件信息在帧中占的字节数(Hardware size):6 协议信息在帧中占的字节数(Protocol size):4 操作命令为:reply(2)回应

发送方的MAC地址(Sender MAC address): HonHaiPr_e1:3e:71(d0:7e:35:e1:3e:71)发送方的IP地址(Sender IP address):192.168.1.109 目标的MAC地址(Target MAC address): HonHaiPr_3f:8a:55(b0:10:41:3f:8a:55)目标的IP地址(Target IP address): 192.168.1.112

九、实验结论

网络层使用IP地址,但在实际网络的链路上传送数据帧时,最终使用的是该网络的硬件地址。IP地址和下面的网络的硬件地址之间格式不同,在ARP的高速缓存中,存在其映射表。当一台主机在本局域网上向另一个主机发送IP数据包时,先在ARP高速缓存中查看是否其IP地址,再进行确定目的接口。发送时只知道目标IP地址,不知道其MAC地址,在数据链路层也不检查IP数据报中的目的IP地址。因此会使用ARP协议,根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息,以保证通信的顺利进行。

十、总结及心得体会

本实验利用wireshark抓取网络通信数据,分别给出了数据链路层和网络层数据传输的方式。直观的体现了当数据链路层不能解析IP地址时,ARP协议的作用。

在本次实验中,我掌握了wireshark的基本操作,加深了对数据包的认识,更进一步的理解了网络信息传输过程,对协议的理解也更为深刻,包括协议的结构与区别。与ARP有关的cmd命令,了解了IP/MAC信息的作用,更加直观的体会了主机间通信的过程。利用wireshark捕获发生在ping过程中的ARP报文,我加强了对ARP协议的理解,掌握了ARP报文格式以及ARP请求报文和应答报文的区别。

十一、对本实验过程及方式、手段的改进建议

1.首先要启动wireshark,并进行数据捕获,然后再去执行ping命令,避免捕获数据不及时。

2.在捕获到ping命令之后的数据后,及时停止捕获,避免捕获数据过多而不便于后续分析。

有效抑制ARP病毒横行 篇6

善于绑定,抑制ARP病毒

对于普通上网来说,要是局域网遭遇到了ARP病毒的攻击,首要的任务就是想办法抑制ARP病毒影响自己的客户端系统正常上网。ARP病毒攻击造成的最常见威胁就是引发IP地址冲突现象,从而导致客户端系统上网速度缓慢或不能上网。为了避免由ARP病毒引起的IP地址冲突现象,我们可以想办法将自己客户端系统的IP地址与对应网卡物理地址绑定在一起。要做到这一点,我们可以按照下面的方法来进行:

首先在自己的客户端系统中依次单击“开始”、 “运行”命令,在弹出的系统运行文本框中,输入字符串命令“cmd”,单击回车键后,进入DOS命令行工作窗口,在该窗口中执行“ipconfig/all”字符串命令,返回如图1所示的结果信息,从这里我们发现本地客户端系统的IP地址为10.176.34.166,网卡物理地址为00-0B-DB-C5-41-D4;

其次在DOS命令行中,执行字符串命令“arp—s10.176.34,166 00-0B-DB-C5-41-D4”,就能将本地客户端系统的IP地址与网卡物理地址绑定在一起了,那样一来本地系统的IP地址就不会受到ARP病毒的冲击了。

这种抑制ARP病毒的措施在规模不大的局域网中非常适用,不过这种方法操作起来会比较繁琐一点,要是上网的客户机数量比较多,而且客户端系统频繁发生变化的话,比方说在培训机房中上网用户是培训学员的话,每期都有新学员报到和老学员毕业的情况,这个时候要是采用地址绑定的方法来抑制ARP病毒时,那么网络管理员的工作量将是比较大的,同时也很难实施。如果地址绑定操作在局域网的交换机中进行时,会存在地址绑定记录较多影响交换机运行性能的现象发生,最终会影响整个网络的运行性能。

自动绑定,抑制ARP病毒

如果局域网的组网规模很大,同时使用客户端系统的用户不停变化,那么采用手工绑定地址的方法来抑制ARP病毒,难度就十分大了。为了解决这种难题,现在不少接入层交换机甚至核心交换机都自带有动态ARP检查技术和DHCP嗅探技术,巧妙将这两种技术结合起来使用,就能对局域网中所有上网客户端系统的IP地址和网卡物理地址完成自动绑定操作了。动态ARP检测功能会自动截取来自不信任网络端口发送过来的ARP数据请求,同时会自动验证对应数据包的数据绑定行为是否合法,看看它的地址绑定关系与DH CP绑定表中的是否一致,如果一敛的话就对ARP数据包进行放行,要是不一致的话就对ARP数据包进行丢弃,这项功能可以有效防止局域网用户自行修改网卡物理地址和IP地址,避免局域网中发生地址冲突现象。

要实现自动绑定地址的目的,我们需要先在接入交换机中成功启用动态ARP检测功能以及DHCP嗅探功能,日后交换机的DHCP嗅探功能在读取转发的DHCP报文的同时,自动在本地生成一个地址绑定记录表;在客户端系统发出ARP应答请求信息时,接入交换机会将ARP应答请求信息保存在本地系统缓存中,然后将它与本地的地址绑定记录表进行对比,一旦发现ARP应答请求信息是不合法的话,那么接入交换机就会自动将它丢弃,否则的话会将它广播出去。

这种抑制ARP病毒的措施非常高效,它不需要人工的参与,任何恶意的ARP攻击数据包是无法在局域网中传播的,这样就能有效保证局域网的运行稳定性。只是该方法技术含量较高,不但需要高性能的交换机支持动态ARP检测功能以及DHCP嗅探功能,而且还需要网络管理员必须具有较高的专业技术,所以这种方法只适合组网规模较大的单位用户使用,而不适合个人用户使用。巧用命令,揪出ARP毒源

一般来说,在自己的客户端系统中只要安装了“ARP防火墙”之类的安全工具,日后就能在系统遭遇ARP病毒攻击时,自动接收到报警提示了。既然发现了ARP病毒攻击,那么我们该如何揪出ARP毒源呢?其实很简单,我们不需要使用专业的工具,也不需要很高的安全技能,只需要使用Windows系统自带的ARP命令,就能轻松找到ARP病毒攻击究竟来自哪个IP地址了。

当我们接收到病毒报警提示时,立即打开本地系统的运行对话框,任其中执行“cmd”字符串命令,将系统运行状态切换到DOS命令行状态,在该状态下先执行“arp-d”字符串命令,将本地ARP映射表中的记录内容清除掉;

之后,再次输入“arp—a”字符串命令,单击回车键后,ARP映射表中的记录内容就会被自动刷新显示,在这里我们会发现有一条记录指向局域网的网关地址或重要主机地址,将本地命令执行的结果全部保存下来;

下面,反复执行“arp—d”、“arp-a”字符串命令,并将每次返回的结果信息保存下来,然后仔细对比每次执行结果,找出出现记录最多的那一条,该条记录中对应的IP地址就是病毒主机的IP地址。最后,根据IP地址与网卡物理地址等信息,找到具体的病毒主机,将该主机从网络中隔离出来,并使用专业工具清除掉ARP病毒。

虽然这种揪出ARP毒源的方法比较简单,但是要是ARP病毒攻击只是进行恶意破坏,而不带有明显的控制目的时,那么单纯通过“arp-a”字符串命令,就不一定能查看到ARP毒源的IP地址了。自动清除,阻止ARP欺骗

大家知道,一旦局域网中存在ARP病毒攻击,那么病毒就会不停地向网络中发送病毒数据包,强制客户端系统更新本地ARP映射表中的记录内容,那样一来客户端系统就会被ARP病毒欺骗,从而造成不能上网的故障现象。在手头没有专业工具可以利用的情况下,我们可以想办法自动清除本地系统ARP映射表中的记录内容,让客户端系统不向病毒网关发送上网请求信息,这样就能保证上网正常了。要实现这个目的,我们可以按照下面的方法来进行:

首先依次单击本地系统中的“开始”、“程序”、“附

件”、“记事本”选项,在弹出的文本编辑窗口中,输入下面的命令代码::Sarp-dping 2.2.2.2- n1-W100goto s

其中“arp-d”命令主要是用来清除本地系统中的ARP记录,“ping 2.2.2.2-n1-w100”命令主要是用来控制清除ARP缓存记录的间隔时间,这里的“2.2.2.2”IP地址是任意设定的地址,“100”表示间隔时间为“0.1”秒;

其次在确认上面的代码输入无误后,依次单击文本编辑窗口中的“文件”、“保存”命令,将上述命令代码保存成批处理文件,假设我们将上面的代码内容保存为了aa.bat文件;

其次用鼠标双击aa.bat批处理文件,随后系统屏幕上会出现一个DOS命令行窗口,在该窗口中我们会发现aa.bat文件会一直循环执行下去,只要我们不关闭DOS命令行窗口,那么aa.bat文件就能频繁地删除ARP映射表中的记录内容,这样一来就能确保本地系统不受ARP病毒的欺骗了。

这种方法解决由ARP病毒攻击引起的无法上网故障非常有效,并且该方法的适用范围也是非常广泛,几乎能用于各种不同的网络环境。遗憾的是,该方法会不停地向网络发送ARP广播包,容易导敛本地系统和本地网络的运行负担加重。善用日志,定位ARP位置

如果局域网中的交换机支持日志记录功能以及网络管理功能,那么局域网中一旦遭遇ARP病毒的攻击,我们就可以通过系统日志信息,快速定位ARP毒源。比方说,局域网中使用的交换机是H3CS3100系列产品,该产品支持日志记录功能以及网络管理功能;登录进入该交换机后台系统,执行“systeiil”字符串命令,将后台系统切换到全局配置模式,在该模式下执行“display logbuff”字符串命令,从其后返回的结果信息中,看看是否存在类似“%Mar 9 12:11:11 2010ZZZZ W P8500 ARP/4/DUPIFIP:Slot=4;Duplicateaddress 10.112.116.12 onVLAN26,sourced by OOaO-3c66-20d 3”这样的记录内容,假设该记录存在的话,那么就意味着ARP病毒位于局域网的VLAN26中,同时引起网关地址冲突现象的ARP病毒来自OOaO-3c66-20d3的客户端系统,那么这个客户端系统究竟位于局域网的什么位置呢?

一般来说,每个交换端口上都贴有描述性信息的标签,描述目标交换端口是连接到哪台客户端系统的,所以我们现在只要找出OOaO-3c66-20d3地址的客户端系统,究竟位于局域网交换机的哪一个端口,之后再根据端口上的标签描述信息,就能快速定位ARP病毒的位置了。依照这样的分析思路,我们只要在交换机的后台系统执行“display mac”命令,从其后返回的结果信息中,找到对应OOaO-3c66-20d3地址的端口记录,再从记录中找到对应的交换端口,那么这个交换端口下面连接的客户端系统就是ARP病毒的源头。

这种定位ARP病毒位置的方法操作性很强,执行效率也是非常的高,非常适合大型网络环境,同时所有的网管型交换机几乎都支持这种功能,所以这种方法经常会被网络管理员用到。

ARP协议 篇7

关键词:ARP协议,ARP欺骗,判定,防范

0前言

近期,ARP欺骗攻击反复袭击,致使因特网用户网络经常断线,上网时出现网络时断时续的现象,甚至长时间无法上网,严重影响了正常网络用户的学习、工作和生活,也给网络管理带来了极大的压力和困扰。而且随着ARP攻击的不断升级,目前一些局域网内发现的“ARP欺骗攻击”系列病毒已经有了几十个变种,因此有效地防范ARP欺骗攻击已成为了保证网络畅通的必要条件。

1 ARP协议概述

1.1 什么是ARP协议

ARP协议是“Address Resolution Protocol”(地址解析协议)的缩写。在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的。在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC地址。但这个目标MAC地址是如何获得的呢?它就是通过地址解析协议获得的。所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。

1.2 ARP协议的工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP高速缓存(ARP Cache),里面存放本机目前知道的IP地址到MA地址的映射表。在Windows操作系统的命令行窗口输入"arp-a"命令可查看本机当前的ARP缓存表,ARP缓存表保存的就是IP地址与MAC地址的对应关系,如图1所示。

下面我们以主机A(192.168.1.1)向本局域网内的主机B(192.168.1.2)发送数据为例来说明ARP协议的工作原理(如图2)。

当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相对应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是“FF.FF.FF.FF.FF.FF”,这表示向同一网段内的所有主机发出这样的询问:“192.168.1.2的MAC地址是什么?”网络上其他主机并不响应ARP询问,只有主机B接收到这个帧时,才向主机A做出这样的回应:“192.168.1.2的MAC地址是“bb-bb-bb-bb-bb-bb”。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。A和B还同时都更新了自己的ARP缓存表(因为A在询问的时候把自己的IP和MAC地址一起告诉了B),下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制(即设置了生存时间TTL),在一段时间内(一般15到20分钟)如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。

2 ARP欺骗攻击的实现过程

2.1 ARP协议的缺陷

ARP协议是建立在信任局域网内所有节点基础上的,它高效,但却存在着不可忽视的安全漏洞。在基于原始的TCP/IP实现中,并不存在对报文信息的真实性校验,ARP报文也不例外,所以无法识别出伪造的ARP报文;它是无状态的协议,不会检查自己是否发过请求包,也不管(其实也不知道)是不是合法的应答,只要收到目标MAC是自己的ARP reply包或arp广播包(包括ARP request和ARP reply),都会接受并缓存。这就为ARP欺骗提供了可能,恶意节点可以发布虚假的ARP报文,从而影响网内节点的通信,甚至可以做“中间人”,实施信息的窃取。

2.2 ARP欺骗攻击

ARP欺骗就是指通过伪造假的ARP应答报文,以一个比ARP缓存失效短的时间间隔不停地发送,从而修改目标的ARP缓存表,使得目标在进行IP与MAC的转换时由于先查缓存表而得到一个被欺骗的MAC地址,从而影响报文投向正确的目标物理地址,同时也影响了报文在网络中的传输和被接收情况。

ARP欺骗攻击最早用于盗取密码之用,网内中毒电脑可以伪装成路由器,盗取用户的密码,后来发展成内藏于软件,扰乱其他局域网用户正常的网络通信。

下面我们简要阐述ARP欺骗的原理:

第一步:假设这样一个网络,一个交换机连接了3台机器,依次是计算机A,B,C

A的地址为:IP:192.168.1.1 MAC:AA-AA-AA-AA-AA-AA

B的地址为:IP:192.168.1.2 MAC:BB-BB-BB-BB-BB-BB

C的地址为:IP:192.168.1.3 MAC:CC-CC-CC-CC-CC-CC

第二步:正常情况下,A和C进行通信,在A计算机上运行ARP-A查询ARP缓存表应该出现如下信息:

Interface:192.168.1.1 on Interface 0x1000003

Internet Address Physical Address Type

192.168.1.3 CC-CC-CC-CC-CC-CC dynamic

第三步:在计算机B上运行ARP欺骗程序,来发送ARP欺骗包。

B向A发送一个自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.1.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A可不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只有192.168.1.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD MAC地址。

第四步:欺骗完毕我们在A计算机上运行ARP-A来查询ARP缓存信息。你会发现原来正确的信息现在已经出现了错误。

Interface:192.168.1.1 on Interface 0x1000003

Internet Address Physical Address Type

192.168.1.3 DD-DD-DD-DD-DD-DD dynamic

此时在主机A上Ping 192.168.1.3,结果当然不能Ping通C,那么A和C也就表现为不能通信了。如果在第三步中B向A发送的伪造ARP应答,MAC地址是BB-BB-BB-BB-BB-BB,那么A发往C的数据就会错误地发送到B,此时,B就可以窃取C的数据。这样就可以实现在一台普通计算机上通过发送ARP数据包的方法来控制网络中任何一台计算机的上网与否,甚至还可以直接对网关进行攻击,让网络上的计算机发来的数据无法发送到正常网关,无法正常上网,造成这些计算机无法访问外网。而且局域网中所有机器的数据,却都可能流经它,被它窃取。

3 ARP欺骗攻击的判定

ARP欺骗攻击存在时,会出现的现象:网络掉线,但网络连接正常,内网的部分PC机不能上网,或者所有电脑不能上网,无法打开网页或打开网页慢,局域网时断时续并且网速较慢等。如果用户发现网络有这样的一些状况,可以通过以下步骤进行ARP欺骗行为的判定。

(1)检查本地计算机上的ARP缓存列表

点击“开始”菜单,选择“运行”,然后输入“CMD”,点击“确定”按钮,在命令提示符窗口中输入“arp-a”。ARP缓存列表中网关IP地址所对应的MAC地址与真正的网关MAC地址不符,一般显示为攻击者本身的MAC地址。

(2)监听数据报

当有ARP攻击的时候,攻击源一般会向本网段内的所有主机发送ARP广播报文。因此可以利用一些网络协议分析工具,如Sniffer、Ethereal、OmniPeek等进行抓包,如果发现有大量的ARP请求报文从某一台机器发出,那么这台机器极有可能就是攻击源。

(3)查看网关ARP缓存

ARP攻击时最主要的攻击对象就是网关。因此可以查看作为网络中网关的路由器或者三层交换机上的ARP缓存列表,如果有很多个IP地址都指向同一个MAC地址,那么就说明存在ARP欺骗攻击,这个MAC地址对应的主机就是ARP攻击源。

(4)检查计算机是否有“ARP欺骗攻击”木马进程

同时按住键盘上的“Ctrl+Shift+Delete”键,选择“任务管理器”,点选“进程”标签,察看其中是否有一个名为“MIR0.dat”的进程。如果有则说明已经中毒(多数ARP欺骗木马的名称都是这个,但也有一些其他的,请仔细辨别),如图3。

(5)运行tracert–d命令。如果第一跳显示的不是网关而是其他的IP地址,那么第一跳中显示的IP即为中了ARP病毒计算机的IP地址。

4 ARP欺骗攻击的防范策略

由于ARP欺骗攻击主要利用的是ARP协议自身的安全漏洞,因此没有彻底的方法来防御ARP欺骗攻击。但ARP欺骗攻击也存在一些局限性,如:计算机arp表中的记录一段时间后就会自动刷新,当时间一到或者正确的网关发出正确的信息之时,受欺骗的计算机就能得到正确的信息,待到ARP病毒再次攻击。所以,我们可以通过一些安全策略来提高网络的安全性,使欺骗攻击对网络正常运行的影响最小化。通常我们可以使用下面的一些方法来积极防范和解决ARP欺骗攻击。

4.1 已经受到ARP欺骗攻击的计算机临时上网解决方法

第一步,首先进入命令行模式。然后运行arp–a命令,该命令是查看当前arp表,可以确认网关IP地址和对应的MAC地址是否与已知的网关的IP地址和MAC地址一致。如果不一至就说明该主机已被欺骗,会造成用户无法上网。而被欺骗的电脑可能会出现多个IP对应同样的MAC,如图4所示,可以看出192.168.1.1地址和192.168.1.252地址对应的MAC地址都是00-0f-3d-83-74-28,很显然,这就是arp欺骗造成的。这个时候记住要记下那个IP对应的错误MAC地址,这个地址很可能就是中了木马的电脑,以方便接下来的查杀。

第二步,确认之后,可以输入arp-d命令,以删除当前计算机的arp表,方便重新建立arp表。

第三步,接下来可以绑定正确的arp网关。输入arp-s***.***.***.***(网关IP)**-**-**-**-**-**(网关MAC)。

第四步,再用arp-a查看,这时,类型变为静态(static),就不会再受攻击影响了。

4.2 预防ARP欺骗攻击

预防ARP欺骗攻击,减小ARP病毒对网络造成的影响,应注意以下几个方面:

(1)安全上网意识。用户要增强网络安全意识,不要轻易下载、使用盗版和存在安全隐患的软件;或浏览一些缺乏可信度的网站;不要随便打开不明来历的电子邮件,尤其是邮件附件;不要随便共享文件和文件夹,即使要共享,也得设置好权限,一般指定特定账号或特定机器才能访问,另外不建议设置可写或可控制,以免个人计算机受到木马病毒的侵入给网络的安全带来隐患。

(2)软件防护。及时下载和更新系统补丁程序,安装使用防病毒软件(如金山毒霸、瑞星等)和网络防火墙,并及时更新病毒库。网络防火墙在防病毒过程中也可以起到至关重要的作用,能有效地阻挡来自网络的攻击和病毒的入侵,防范ARP协议欺骗。安装常见的防范ARP欺骗攻击的工具软件。针对ARP欺骗攻击出现了一些可以保护客户端的网关MAC地址不被修改的工具软件,并且报警当前是哪个MAC地址在攻击网络。如Antiarp,WinArpAttacker,OmniPeek等网络协议分析软件。

(3)采用静态绑定方法。即用arp-s命令在各主机上绑定网关的IP和MAC地址,同时在网关上绑定各主机的IP和MAC地址。如果是Windows系统主机可编写一个名为rarp。Bat的批处理文件,内容如下:

实际操作时,文件中的将网关IP地址和MAC地址应改为用户所在的网关IP地址和MAC地址。

若想让系统每次启动时都能自动的加载静态ARP,则可将这个批处理软件拖到“windows--开始--程序--启动”中。采用这样双向绑定的方式是比较保险的,但使用静态ARP缓存增大了网络维护量,在较大或经常移动主机的网络中这样做工作量大,不易维护。而且,使用静态ARP缓存只能防止ARP欺骗,对IP地址冲突、Flood攻击仍然没有办法阻止。

(4)使用具有ARP防护功能的网络设备。近年来,基于病毒的ARP攻击愈演愈烈,各网络设备厂家也积极应对ARP欺骗攻击的特点提供了相应的解决策略。如在锐捷S21系列二层交换机上可以通过开启Anti-ARP-Spoofing功能,防止同一网段内针对用户的ARP欺骗攻击;神州数码网络公司从客户端程序、接入交换机、汇聚交换机,一直到网关设备,都研发了ARP攻击防护功能,客户可根据自己网络的特点,灵活选取相关网络设备和方案。其他厂家的设备也有类似功能。

(5)可采用Super VLAN或PVLAN技术,所谓Super VLAN,也叫VLAN聚合,这种技术在同一个子网中化出多个Sub VLAN,而将整个IP子网指定为一个VLAN聚合(Super VLAN),所有的Sub VLAN都使用Super VLAN的默认网关IP地址,不同的Sub VLAN仍保留各自独立的广播域。子网中的所有主机只能与自己的默认网关通信。如果将交换机或IP DSLAM设备的每个端口化为一个Sub VLAN,则实现了所有端口的隔离,也就避免了ARP欺骗。

PVLAN即私有VLAN(Private VLAN),PVLAN采用两层VLAN隔离技术,只有上层VLAN全局可见,下层VLAN相互隔离。如果将交换机或IP DSLAM设备的每个端口化为一个(下层)VLAN,则实现了所有端口的隔离。

5 结束语

由于ARP协议存在安全方面的固有缺陷,所以我们只有清楚地了解该协议的工作原理和其漏洞之后,我们才能够有效地检测和防御相应的欺骗攻击。本文通过分析ARP协议的工作原理,探讨了基于ARP协议漏洞的欺骗攻击的实现过程,提出了多种可行的安全防御策略。要全面而有效地防范ARP欺骗攻击,一般需要多种方案配合使用。如果要从根本上解决这一问题,最好的方法将是重新设计一种安全的地址解析协议。IPV6中就采用了更加安全的方式(通过ND(Neighbor Discovery邻居发现)协议取代了ARP协议)来解决这一问题。

参考文献

[1]Angus Mackinnon,Tony MoGregor,and James Breen.Overview of Internet Protocol Security.Technical Report94-10.Monash University.Australia.October27.1994.

[2]谢希仁.计算机网络[M].电子工业出版社.2008.

[3]杨玮莹,局域网中的ARP欺骗[J].黑龙江科技信息.2008.

[4]田维珍,窦为伟,庞雄昌.ARP欺骗攻击防控方法研究[J].计算机与信息技术.2010.

[5]http://publish.it168.com/2004/0316/200403160005101.shtml.

[6]http://network.51cto.com/art/200509/3644.htm.

基于ARP协议的局域网访问控制 篇8

关键词:ARP,协议,局域网,访问控制,网络监听

1. 局域网存在的安全问题

当今社会,计算机已经广泛应用在人类生活的各个领域中。首先,网络技术、通信技术特别市局域网技术的迅猛发展,使得数据通信、资源共享等成为现实,极大地方便了工业、军事、科研等领域。与此同时,网络管理的也愈发显得重要,因为网络本身具有复杂性,而且正常运行需要多方面的安全保障,以确保没有任何问题。

正因如此,计算机的网络安全成为一个国际化的问题,各国国家信息化发展与建设的关键,也是国家与国防安全的重要组成部分。由于局域网网络架构简单、管理方便,使得其得到广泛应用,数量庞大。但是,外部入侵、内部入侵以及对各个单位内部系统的破坏和泄密等安全问题日益引起人们的重视。为了杜绝非法的局域网络访问,使得局域网络访问得到控制,通过科学的管理是可以实现的。本文就将ARP协议(地址解析协议,Address Resolution Protocol)应用于局域网的访问控制中,提出了一种局域网访问控制的方法策略,实现了对局域网内数据资源的保护和管理。

2. ARP协议

一般的局域网是基于以太网技术的。以太网中有两种地址,一种是IP地址,它是由软件分配的。MAC地址,也叫网卡地址,是存储在各个网卡中的,是不可以改变的,而且是全球唯一的,它在协议层次上低于IP地址。以太网中的每一台计算机都具有这两种地址。

地址解析协议,即ARP协议(Address Resolution Protocol),是属于TCP/IP协议族的。它的主要作用是网络地址的转换,转换对象是第三层(OSI的IP层)网络层的IP地址和第二层(OSI的MAC层)数据链路层的MAC地址。在IPv4中,把32bit的网络层地址转换为48bit的MAC地址就是AR P的作用。它在交换机中,存有一个IP地址和硬件地址的表,二者一一对应,用于ARP的地址解析。

AR P协议是TCP/IP网络协议族中一个重要协议,是属于网络层的。当局域网中的一台主机向另一台主机发送数据时,它是根据48位的MAC地址来确定目的主机的。因此,在网络传输中,向目的主机发送数据,目的主机的介质访问控制层即MAC层(Media Access Control)的地址是必须的。而ARP协议就是用来获取目的主机MAC地址的。地址解析协议(AR P协议)的工作原理是通过提供IP地址与MAC地址的动态的映射来得到对应MAC地址的,即通过目的主机的IP地址在映射表中查询到其对应的MAC地址。获取到的目的主机的MAC地址,是存储在实际的网络传输数据帧中的。另外,还有一种将MAC地址转换为IP地址的协议,叫做反向地址解析协议(R AR P,R everse Address R esolution protocol)。

AR P协议运行的核心是在于AR P缓存表,它存在于网络中的每台主机。每台主机最近的IP地址到MAC地址的直接映射记录就存在于这个缓存表中。要查看本机的ARP缓存表的记录,可以输入arp-a的命令。下面通过一个例子来说明,主机1要向主机2发送数据。主机1首先在本机的ARP缓存表中查找是否有主机2的IP地址,如果有,则可将主机2IP地址对应的MAC地址取出,写入要发送的数据帧即可。如果没有找到,主机1就会向同网段发送一个广播,来询问主机2的MAC地址。当主机2收到该广播后,会将自己的MAC地址作为应答发送回主机1,其余主机则不响应此广播。

这样,主机1就得到了想要的主机2的MAC地址,可以完成信息的发送。然后,主机1还要对本机的ARP缓存表进行更新,当下次再给主机2发送信息时可以不用发广播报文。图1为AR P的工作原理图。

另外,不仅仅在寻找目的主机时要进行ARP广播的发送,当一台主机初次登陆网络建立网络连接时,也要发送ARP广播。这样,要进行访问控制,就可以根据每个用户的访问权限来改变主机的ARP缓存表的信息。

AR P的缓存表机制决定了AR P缓存表必须要进行定时刷新,这样可以缩小ARP缓存表的长度,从而加快查询的速度,提高效率。ARP缓存表的缺省设置是这样的,当发送目的主机的网络地址在缓存表中不存在时,ARP便将此条项目自动添加到表中,这使得缓存表条目增加。如果表中的某行数据在一个时间段内没有被使用,则就将此条目删除,使得缓存表缩小。这样就保持了ARP缓存表的动态刷新。

3. 网络监听和访问控制

网络监听是指,将在网络中正在传播的信息通过某种方法捕获或截取,然后对其进行分析处理。网络监听实施的范围比较广泛。

在信息发送的过程中,以太网数据报的包头中包含了目的主机的MAC地址,而且其工作方式是将数据报发送给连接在一起所有的主机。被发送的数据报必须由网络层传送到数据链路层,ARP协议就是工作在这个过程中,将IP地址转换为48位的物理地址。

在信息的接收过程中,以太网的物理线路通过网卡得到包含MAC地址的信息帧。倘若是在集线器的使用过程中,集线器会在接到信息后,再将其发送到与其相连的每一条线路。工作正常时,当一台主机的网络接口收到数据帧时,首先会对其进行检查,以确定是否应该将其上交给上面IP层的软件。

但是也有所有数据帧都会被交给上层协议处理的情况,那就是在监听模式下工作的时候。以太网卡恰恰具有这个功能,当其工作在混合模式的情况下,上层协议就可以查看所有数据信息了,这样,数据报的监听程序利用这个模式就可以轻而易举的实现了。

网络监听会获取很大数量的数据信息,然后对其进行很大数量的处理分析。由此看出,网络监听处理带来的开销是不可忽视的,必须对其进行过滤处理。另外,网络监听具有实时性,必须在分析过程中还要继续接收新的网络数据包。因此,为截取到的数据分配缓存,进而进行处理,两个动作间的时间差要进行合理设计。

4. 基于ARP协议的访问控制的实现

基于ARP协议的局域网访问控制的实现方案中,最关键的问题是,对于本网域内合法机器,可以通过权限的设定使得它们之间无障碍的互相访问,而对于外来的非法机器,进行探测并杜绝其访问。其中最要关注的技术点就是访问机器的身份确认以及其权限的分配和控制。综合来看,结合网络监听和分析需求,ARP请求/响应数据报可以为网络监听和分析使用。这样,在提高了监听和分析处理数据效率的同时,也完成了对非法登录局域网主机的发现和探测。

在基于ARP协议的局域网访问控制的具体实现中,可以将整个局域网结构分为三个层次,中央认证服务器、部门服务器和客户机三层。而具体的系统设计可以规划为五个部分,首先是主机管理,作用是整个网内的主机注册、认证管理,存在于局域网服务器端。其次是网络监测,用来监听非法的主机登录,并且对其作出虚假的回应,它也存在于局域网服务器端。第三是部门管理,用来设置访问权限,管理部门主机,存在于部门服务器端。第四是主机注册,用来认证注册和登录信息,存在于局域网客户端。最后是缓存的刷新,它是根据权限信息更新ARP缓存表的数据,存在于局域网的客户端。基于ARP协议的局域网访问控制的实现过程如下。

首先,对局域网合法主机进行注册。

在局域网内,通过中央认证服务器注册过的主机,定义为合法主机。它的识别方式是唯一的,由本机的MAC地址、本机的其他相关系统鉴别信息和管理员分配的网域内IP地址来进行识别的。这样,通过MAC地址、IP地址的绑定,就可以确定主机是否合法,再加上其他相关的系统鉴别信息,更加严密的防范了修改MAC地址、盗用IP地址等一系列威胁局域网的不安全因素。

网络正常工作时,主机管理程序为每台合法的主机生成一个注册文件,并进行加密,主机注册启动后根据这个文件的信息进行注册,同时获得主机其他相关系统信息,发送到中央注册服务器完成注册。通过后服务器维护注册信息数据表,每次启动时都进行登录认证是否合法。如果检测到不合法,则将其功能锁定。

第二,在合法主机之间进行访问控制。

部门管理对部门主机的访问权限进行设置,可以根据实际情况添加拒绝访问主机列表,其缺省值为全部可以访问。每台机器的访问权限都会保存在中央认证服务器的权限数据库中,修改后数据库也会随之改变。根据惯例,申请访问必须经过对方确认才能完成,而拒绝访问可以单方面进行设置。

完成访问控制权限的设置后,再进行客户端ARP缓存的更改。缓存刷新程序是在后台运行,采用系统进程的方式。启动主机后,首先从认证服务器读取本机的访问权限数据,并且将拒绝访问主机的IP地址进行处理,即将其写入ARP缓存表中,与一个虚假的MAC地址对应。系统设定写入ARP缓存的信息条之间的时间差为10毫秒,为了保证权限设定的实时性和ARP缓存表的查询效率问题,程序设计为多线程的形式。

最后,对非法主机登录的监听及处理。

AR P请求/应答数据的分析和处理监测是由网络监测程序来实现的。数据报的截取可以通过直接调用驱动程序的应用编程接口来实现,然后分析捕获的ARP数据报,根据得到的数据报中的源主机的网络地址和MAC地址,通过与数据库中合法主机表对比来判断发送ARP请求的主机是否是合法主机。

根据上述方法分析后,如果探测到是非法主机试图访问,则根据合法主机的IP信息,获取ARP缓存表中构造的虚假MAC地址,调用特定方法对其进行欺骗处理。另外,根据系统的实际性能和网络的负荷情况,可以自主控制和更改欺骗信息的发送时间间隔。

5. 结束语

随着计算机网络的不断发展,再加之网络本身的复杂性,非法入侵和网络安全已经成为人们广泛关注的问题。由于局域网应用的广泛性和普遍性,局域网的访问控制和安全问题也成为了刻不容缓的重要课题。本文利用ARP协议的运行机制和网络主机的ARP高速缓存表的应用,设计并实现了一种局域网访问控制的策略方案,解决了信息入侵等一系列的网络安全问题,可以帮助多种网络管理实现局域网的监测、权限设置、访问控制等服务。

参考文献

[1]徐丹黎,俊伟,高传善.基于Ethernet的网络监听以及ARP欺骗[J].计算机应用与软件,2005,22(11):105-107.

[2]庆秋辉,徐同阁.MAC-IP地址绑定的一种软件实现方法[J].现代电子技术,2006,29(8):74-77.

[3]聂晓伟,张玉清,杨鼎才等.基于ARP欺骗的交换式网络监听[J].北京电子科技学院学报,2004,12-2:55-59.

[4]汪洋,祝跃飞,刘胜利等.交换式局域网监听技术研究与实现[J].计算机应用研究,2005,22(11):205-207.

[5]董文生,李刚.浅谈内网的安全问题与对策(一)[J].信息安全与通信保密,2003(8):55-56.

[6]谢希仁.计算机网络[M],4版.北京:电子工业出版社,2003.

ARP协议 篇9

1 ARP协议概述

ARP即地址解析协议, 作用是将IP地址解析为设备的物理地址, 每台主机都有一个ARP缓存表, 用来记录IP地址与MAC地址的对应关系。假设主机A要和B通信, 它先在本地缓存中查询B的IP, 如果找到对应的MAC地址, 就直接发送数据给这个地址;否则会广播发送一个ARP请求包, 其中包含A的IP和MAC以及B的IP, 各主机收到后将请求包中的目的IP同自身IP相比较, 不同则忽略, 只有B会发现请求包中目的IP与自己的相同, 它先将A的IP和MAC记录到自己的ARP列表中, 如之前已存在该IP的信息, 则进行覆盖, 然后向A发回ARP响应包, 其中添加了它的MAC, A收到响应包后, 将B的MAC与B的IP记录到自己的ARP缓存中, 然后就可以发送数据。如果A一直没收到响应包, 则说明ARP查询失败。

2 ARP欺骗原理及危害

大部分操作系统在接收到ARP响应后不做检查便直接更新其ARP列表, ARP欺骗的原理就是伪造一个ARP响应包发送给被骗主机, 响应包中的源IP和MAC的关系是伪造的, 被骗主机收到后, 更新ARP列表, 从而建立IP与MAC之间错误的对应关系, 发送数据到该IP时, 无法到达正确的主机。下面是几种典型的ARP欺骗。

(1) 伪造网关。其原理是在局域网的同一网段内建立假网关, 发送ARP欺骗攻击给网络中的所有主机, 被其欺骗的主机不能向正确的网关发送数据, 而是将数据发送给了这个假网关, 因而会导致主机与网关之间无法正常通信, 对网络用户来说就是计算机无法正常上网。

(2) 对路由器的欺骗。其原理是给路由器发送ARP欺骗攻击, 使路由器获取到一系列错误的MAC地址信息, 并按照特定的频率不断进行刷新, 因而真实的MAC地址信息也不能通过更新而存入路由器, 这样, 路由器中的所有数据都被发送到了错误的MAC地址, 主机也就不能正常收到路由器的信息。

(3) ARP双向欺骗。假设主机A和网关之间能正常通信, 主机B为攻击者, 它首先向A发一个非法的ARP应答, 告诉A网关IP对应的MAC为B的MAC, A收到后会将本机ARP缓存中网关的MAC改为B的MAC。同理, 主机B以同样的方式欺骗网关, 使网关中A的MAC更新为B的MAC。这样, 通信双方的数据都会到达B, B作为中间人窃取信息并转发给对方。

ARP欺骗具有严重的危害性。一旦某台主机感染ARP病毒, 就会迅速蔓延至整个局域网, 导致该网络中的主机无法正常通信, 如果网关被欺骗, 则所有主机都会和外界失去联系, 通常的攻击都是频繁在网络中发送ARP欺骗, 会耗费大量的带宽, 即使能通信网速也会很慢, 这些将严重影响到学校的正常工作。ARP的双向欺骗虽不影响网络正常通信, 但其对数据信息的窃取, 直接威胁到高校网络的信息安全。

3 ARP欺骗防范措施

3.1 建立静态ARP缓存

在主机中建立静态ARP缓存, 主机向其它计算机或网关发送数据时, 直接从静态缓存中查找目的IP对应的MAC。当收到欺骗的ARP响应包时, 设置好的IP与MAC的对应关系不会被更新, 因而攻击者无法达到其欺骗的目的。此方法只能人工设置, 工作量巨大, 校园网中设备数目较大, 不可能一一设置, 因此综合校园网的情况, 可以对其中某些重要的小型子网以及网关之间采取这种方法, 既不用投入过多的网络管理成本, 又能有效保障网络的安全稳定。

3.2 绑定主机MAC地址与交换机端口

在局域网的交换机上将各端口与其所连主机的MAC进行绑定, 通过这个端口的数据帧的MAC是固定的, 如端口发现数据中的MAC与其绑定的MAC不同, 则锁定该端口, 与其相连的主机则无法接入局域网。当攻击者发送伪造的ARP响应时, 会立即被端口检测到其MAC值不同并中断连接。此方法适用于高端交换机, 可有效防止攻击者接入局域网, 但是合法主机更换端口也必须重新绑定, 增加了网管工作量。在校园网中, 通常对重要的服务器和相关安全设备所连接的交换机应用此方法。

3.3 安装ARP防欺骗软件

目前大部分安全软件都含有ARP防火墙, 如360安全卫士、腾讯电脑管家等, 可以有效抵御ARP病毒的侵入, 启动ARP防火墙后, 系统会将网关与本机的IP与MAC地址进行绑定, 当其遭受ARP欺骗攻击时会进行警告。ARP防欺骗软件可以有效拦截ARP攻击, 但需要不断地在网络中广播正确的IP和MAC地址信息, 会占用一定的网络负载。同时ARP防欺骗软件也可阻止攻击者修改主机ARP缓存, 能有效保障主机在局域网中的正常通信。

参考文献

[1]李爱贞.高校防范ARP病毒攻击的策略和方法[J].计算机安全, 2010 (12) .

[2]向磊, 贺琦.浅析校园网ARP病毒的防范[J].计算机光盘软件与应用, 2011 (2) .

[3]王和平.校园网环境中ARP的欺骗原理与防范方法[J].软件工程师, 2010 (12) .

[4]戴桂钦.校园网ARP欺骗攻击及其对策思考[J].计算机光盘软件与应用, 2010 (10) .

ARP协议 篇10

随着网络应用范围的不断扩大, 对网络的各类攻击与破坏行为与日俱增。而ARP欺骗作为一种典型的欺骗类攻击, 通过构造伪造的ARP请求和ARP应答而在局域网中骗取信任关系, 从而能够达到获取指定主机通信数据甚至恶意破坏其正常网络通信等攻击目的。

1 ARP工作原理

1.1 ARP协议简介

ARP全称为Address Resolution Protocol, 中文名为地址解析协议。所谓“地址解析”就是主机在发送数据包前将目标主机IP地址转换成目标主机MAC地址的过程。在局域网中, 一台主机要和另一台主机进行通信, 必须要知道目标主机的IP地址, 但是最终负责在局域网中传送数据的网卡等物理设备是不能识别IP地址的, 只能识别其硬件地址即MAC地址。每一块网卡都有其全球惟一的MAC地址, 网卡之间发送数据, 只能根据对方网卡的MAC地址进行发送, 这时就需要一个将高层数据包中的IP地址转换成低层MAC地址的协议, 而这个重要的任务将由ARP协议完成。

1.2 ARP工作过程

(1) 首先每台主机都会在自己的ARP缓冲区 (ARP Cache) 中建立一个ARP列表, 以表示其他主机的IP地址和MAC地址的对应关系。

(2) 当源主机需要将一个数据包要发送到目的主机时, 会首先检查自己的A R P列表中是否存在该I P地址对应的MAC地址。如果有, 就直接将数据包发送到这个MAC地址;如果没有, 就向本地网段发起一个ARP请求的广播包, 查询此目的主机对应的MAC地址。此ARP请求数据包里包括源主机的IP地址、MAC地址以及目的主机的IP地址。

(3) 网络中所有的主机收到这个ARP请求后, 会检查数据包中的目的IP是否和自己的IP地址一致。如果不相同就忽略此数据包;如果相同, 该主机首先将发送端的MAC地址和IP地址添加到自己的ARP列表中, 如果ARP表中已经存在该IP的信息, 则将其覆盖, 然后给源主机发送一个ARP响应数据包, 告诉对方自己是它需要查找的M A C地址;

(4) 源主机收到这个ARP响应数据包后, 将得到的目的主机的IP地址和MAC地址添加到自己的ARP列表中, 并利用此信息开始数据的传输。如果源主机一直没有收到ARP响应数据包, 表示ARP查询失败。

但是上述数据传送机制有一个严重的缺陷, 即它是建立在对局域网中所有主机完全信任的基础上的, 即其前提为所有在局域网中传送的ARP数据包都是正确的。那么一旦局域网中存在着恶意或非法者, 就会出现网络安全隐患。

2 ARP欺骗原理及其攻击方式

2.1 ARP欺骗原理

以同一以太网中的三台主机A、B、C为例, 其IP地址和物理 (MAC) 地址对应关系如表1所示。

假设主机C是ARP欺骗攻击方。C可以向A发送一个自己伪造的ARP应答, 这个应答中发送方IP地址是192.168.0.20 (B的IP地址) , MAC地址是C的:00-30-6b-84-a1-1a (B的MAC地址本来应该是00-22-45-c4-63-cd, 这里被伪造了) 。由于大多数的操作系统在接收到ARP应答后会及时更新ARP缓存, 而不考虑是否发出过真实的ARP请求。所以当A接收到C伪造的ARP应答后, 就会更新本地的ARP缓存建立新的IP/MAC地址映射对, 即B的IP地址192.168.0.20→C的MAC地址00-30-6b-84-a1-1a。这样就会导致以后凡是要发送给B, 也就是IP地址为192.168.0.20这台主机的数据, 都将会发送给C即MAC地址为00-30-6b-84-a1-1a的主机, 这就形成了ARP欺骗。

2.2 ARP欺骗攻击方式

ARP欺骗主要包括以下3种攻击方式:中间人攻击、拒绝服务攻击与克隆攻击。

(1) 中间人攻击

中间人攻击就是攻击者将自己的主机插入两个目标主机通信路径之间, 使其主机如同两个目标主机通信路径上的一个“中间人”, 这样攻击者就可以监听两个目标主机之间的通信。这种攻击方式就是利用了2.1中提到的ARP欺骗最基本的原理来实现。

(2) 拒绝服务攻击

拒绝服务攻击就是使目标主机不能响应外界请求, 从而不能对外提供服务。如果攻击者将目标主机A R P缓存中的MAC地址全部改为根本就不存在的地址, 那么目标主机向外发送的所有以太网数据帧会丢失, 也就导致目标主机产生拒绝服务。

(3) 克隆攻击

在这种方式中攻击者将先对目标主机实施拒绝服务攻击, 然后再将自己的IP与MAC地址分别改为目标主机的IP与MAC地址, 这样攻击者的主机变成了与目标主机一样的副本。

3 ARP欺骗的防护措施

3.1 静态ARP表

静态ARP表是防止ARP欺骗的较好方法, 它的特点是永不过期。因此静态ARP表中的IP/MAC地址对不会动态更新, 一般是由网络管理员对网段上的每台主机进行静态登记, 所以执行欺骗行为的ARP应答就会被忽略。但是生成静态ARP表和维护表项的及时更新代价比较高, 需要网络管理员付出大量工作。

3.2 设置ARP服务器

为了对上述维护静态记录的大量分散工作进行集中和动态的管理, 可以指定局域网内部的一台主机作为A R P服务器, 专门保存并且维护可信范围内的所有主机的IP地址与M A C地址映射记录。该服务器通过查阅自己的A R P缓存的静态记录并以被查询主机的名义响应局域网内部的A R P请求。同时可以设置局域网内部的其他主机只使用来自ARP服务器的ARP响应。

3.3 RARP反向IP检测

在服务器级, 文件服务器或者路由器收到ARP响应时, 为了证实它的真实性, 根据反向地址解析协议 (RARP) 就用从响应报文中给出的MAC地址再生成一个RARP请求。这样就会查询到这个MAC地址对应的IP地址, 比较这两个IP地址, 如果不同, 则说明对方伪造了A R P响应报文, 因而存在着ARP欺骗行为。

3.4 ARP行为异常检测

可以在网络中调置一台ARP行为检测主机来记录所有的ARP请求与响应等行为并定期向由网络管理员控制的分析管理主机报告其ARP缓存的内容。这样分析管理主机上的程序就会查找出两台主机报告信息的不一致, 以及某一主机在前后报告中内容的变化。这些情况反映了潜在的安全问题。网络管理员也可以利用网络嗅探工具来连续监测网络内主机硬件地址与IP地址对应关系的变化, 从而分析出是否有ARP欺骗的行为存在。

4 总结

网络欺骗攻击作为一种非常专业化的攻击手段, 给网络安全管理者带来了严峻的考验。由于ARP协议制定的时间比较早, 因此当时对协议的缺陷考虑得并不周全。ARP欺骗是一种典型的欺骗攻击类型, 它利用了ARP协议存在的安全隐患, 并使用一些专门的攻击工具, 使得这种攻击变得普及并有较高的成功率。文中通过分析ARP协议的工作原理, 探讨了ARP欺骗的原理及对其的防范措施。而在实际处理过程中, 针对不同情况需要应对不策略, 一般要综合运用这些防护方法。

参考文献

[1]Douglas E.Comer.Internetworking With TCP/IP Vol I:Principles.Protocols, and Architectures (5th Edition) [M].北京:人民邮电出版社.2006.

[2]范建华, 胥光辉, 张涛等译.W.Richard Stevens.TCP/IP详解卷1:协议.北京:机械工业出版社.2000.

黑客攻防之ARP欺骗技术 篇11

【关键词】ARP欺骗技术 网络安全

一、ARP及ARP欺骗原理

ARP(Address Resolution Protocol)即地址解析協议,是一种将IP地址转化成物理地址的协议。不管网络层使用什么协议,在网络链路上传送数据帧时,最终还是必须使用硬件地址的。而每台机器的MAC地址都是不一样的,具有全球唯一性,因此可以作为一台主机或网络设备的标识。目标主机的MAC地址就是通过ARP协议获得的。

ARP欺骗原理则是通过发送欺骗性的ARP数据包致使接收者收到数据包后更新其ARP缓存表,从而建立错误的IP与MAC对应关系,源主机发送数据时数据便不能被正确地址接收。

二、ARP协议的漏洞分析

ARP协议是一个高效的数据链路层协议.但是设计初衷是方便数据的传输.设计前提是网络绝对安全的情况.ARP协议是建立在局域网主机相互信任的基础之上.ARP具有广播性、无状态性、无认证性、无关性和动态性等一系列的安全缺陷。

(1)ARP协议寻找MAC地址是广播方式的。攻击者可以应答错误的MAC地址.同时攻击者也可以不问断地广播ARP请求包.造成网络的缓慢甚至网络阻塞;

(2)ARP协议是无状态和动态的。任意主机都可以在没有请求的情况下进行应答.且任何主机只要收到网络内正确的ARP应答包.不管它本身是否有ARP请求。都会无条件的动态更新缓存表;

(3)ARP协议是无认证的。ARP协议默认情况下是信任网络内的所有节点.只要是存在ARP缓存表里的IP/MAC映射以及接收到的ARP应答中的IP/MAC映射关系.ARP都认为是可信任的.并没有对IP/MAC映射的真实性,有效性进行检验.也没有维护映射的一致性。

三、ARP欺骗的分类

从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。

第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。

四、ARP欺骗相关工具

常用工具:ARPsniffer、局域网终结者、网络执法官

ARPsniffer工作原理:

在使用该工具时,它会将网络接口设置为混杂模式,该模式下工具可以监听到网络中传输的所有数据帧,而不管数据帧的目的地是自己还是其他网络接口的地址。嗅探器会对探测到的每一个数据帧产生硬件数据中断,交由操作系统处理,这样就实现了数据截获。

局域网终结者工作原理:

一个主机接收到与自已相同IP发出的ARP请求就会弹出一个IP冲突框来。利用局域网终结者可以伪造任一台主机的IP向局域网不停地发送ARP请求,同时自已的MAC也是伪造的,那么被伪造IP的主机便会不停地收到IP冲突提示,致使该主机无法上网。这便构成了局域网终结者的攻击原理。

网络执法官工作原理:

网络执法官原理是通过ARP欺骗发给某台电脑有关假的网关IP地址所对应的MAC地址,使其找不到网关真正的MAC地址。

五、ARP欺骗的危害

ARP欺骗带来的危害可以分为几大类,

1. 网络异常。具体表现为:掉线、IP冲突等。

2. 数据窃取。具体表现为:个人隐私泄漏(如MSN聊天记录、邮件等)、账号被盗用(如QQ账号、银行账号等)。

3. 数据篡改。具体表现为:访问的网页被添加了恶意内容,俗称“挂马”。

4. 非法控制。具体表现为:网络速度、网络访问行为(例如某些网页打不开、某些网络应用程序用不了)受第三者非法控制。

六、ARP欺骗的防护方案

1、. 划分VLAN 众所周知ARP报文是一种广播报文,也就是说它只能在一个广播域内传输。所以这就决定了ARP欺骗不能跨网段实施,通过VLAN技术隔离广播域,从一定的程度上减少ARP攻击的范围,使ARP欺骗局限于一个被感染的虚拟局域网内,不会影响整个局域网的运行。但是虚拟局域网技术是需要高端的网络设备才可以实现的,低端的网络设备是没有网络管理配置功能的,也就无法实现VLAN技术。

2. 信息加密 基于ARP欺骗原理,监听不易为通信双方察觉。如果通信双方对信息进行加密,即便信息被攻击者获取也因没有方法解密而无法获得有用信息,从而保证网络传输的安全性。但此方法是一种消极的防护策略。一旦受到ARP欺骗,该方法不能使网络通信保持正常状态。

ARP协议 篇12

短波通信因其通信距离远、抗毁性强等优点,是军事通信指挥中不可或缺的重要手段。近年来,电子信息技术领域里的新技术、新工艺等在短波通信信道和终端设备的大量应用,使得短波通信无论在传输速率还是在可靠性方面均得到了大幅提升,大大改善和提高了自身通信能力。大批新型短波通信设备陆续投入使用,各种短波通信网也因此初步形成。一些短波网络经过不断地试验改进,构成了更大范围的短波广域网(HFWAN)[1]。图1显示了由三个通过短波无线电相互连接的节点所构成的短波广域网。其中各短波电台都带有IP子网。各子网的地址可以独立指定,但子网内部各终端的地址一般具有相同的前缀[2]。

路由是网络的一种关键技术。在无线网络中,链路一般具有较低的带宽和更高的误码率,节点的移动可能导致网络拓扑结构的频繁变化。因此,用于解决这些独特难题的无线路由协议应运而生。其中最优链路状态路由协议[3](OLSR)是一种典型的无线路由协议。

1 OLSR路由协议

OLSR(Optimized Link State Routing,最优链路状态路由)协议是一个先应式路由协议。它不断地监视着网络节点间的连通性并且向全网广播连通信息来更新网络中每一个节点的路由表。

OLSR的一个特点就是通过减少同一个区域内相同控制消息的重复转发次数来减少网络中广播分组的数量。早先的链路状态路由都是将一个节点的控制消息以泛洪的方式发送给它所有的邻居节点,收到消息的节点继续以泛洪的方式将消息发送给自身所有的邻居节点,直到网络中的所有节点都发送过此消息为止。

不同的是,OLSR网络中的每一个节点选取其邻节点的一个子集用于转发节点发送的控制消息,这些被选择的节点就称为该节点的MPR(Multipoint Relaying)。每个节点都独立选择自己的MPR集,使得该节点通过该集合转发的消息能够覆盖该节点所有的两跳范围的邻居节点。

OLSR采用周期性地广播Hello消息来侦听邻居节点的状态,节点之间无线链路的状态包括:非对称链路,对称链路和连接MPR的链路。某节点发送的广播消息通过MPR转发能到达此节点的邻节点的两跳范围以外的其他节点。对于节点的非MPR,收到的广播消息,只进行读取和处理,但不进行转发。为了实现这一点,每个节点都维护着一张MPR Selector列表,记录当前有哪些节点选择它作为MPR。

每个被其他节点选为MPR的节点就会周期性的发送一个TC(Topology Control)分组。为了压缩TC分组的长度,TC分组中并没有包含源节点所有邻居节点的信息,而只包含了它的MPR Selector集合信息,然后通过MPR机制来控制TC分组在网络中广播的规模,减少控制分组给网络带来的负荷,同时避免形成广播风暴。

网络中的每一个节点根据收到的TC分组以最短路径优先原则独立地计算路由表。这个路由表包括一些[目的节点,上一跳节点]对。每一对中的目的节点可以通过连续的上一跳节点到达。这一链路通过TC分组广播。OLSR路由就是通过这些节点对将发送节点与目的节点穿成一串。

2 HFARP(短波地址解析协议)

OLSR协议在数据链路层使用ARP[4]为网络层协议地址和对应的链路层硬件地址提供动态映射。ARP分组主要提供发送节点和目的节点的协议与硬件地址。

无线网络中经常是一个或多个子网公用一个无线节点的MAC地址。而标准ARP是为有线网设计的,不能将一个MAC地址与通过这个MAC地址能够连接的一个或多个子网地址建立映射关系。文献[5]中提出的一种ARP的改进方式WARRP通过给标准ARP协议数据单元(PDU)增加一个子网地址列表来解决这个问题。WARRP分组中不但携带有无线节点的MAC地址,而且有与此节点连接的用户和子网的IP地址。

根据WARRP的思想,本文提出HFARP(HF Address Resolution Protocol,短波地址解析协议)。与WARRP只能严格的工作在按需驱动的模式不同,HFARP既可以工作在按需模式(即仅当有地址解析的需要并且缓存中不存在地址映射关系或地址映射失效时,才发送请求),也可以周期性地广播请求。

HFARP和ARP的主函数都试图找出一个需要发送业务并且已知协议地址的网络的MAC地址。请求分组中包含有目的主机的协议地址,以及源主机的协议地址和MAC地址。由于请求分组以广播方式发送,所以所有主机都可以接收到请求,但只有被请求的主机会对该请求进行处理。目的主机首先把请求分组中的源主机的协议地址和MAC地址存入自己的HFARP缓存中。然后目的主机创建HFARP响应分组,在分组中填入自身的MAC地址发送给源主机。这个响应不再以广播形式发送,而是以单播形式直接发送给源主机。

ARP高效运行的关键是由于每个节点上都有一个ARP高速缓存。这个高速缓存存放了最近的协议地址到硬件地址的映射记录。高速缓存中每一项都有生存时间,以保证过期的地址映射不再保留在高速缓存中。HFARP也像ARP一样将经过解析的地址映射关系缓存起来。

HFARP分组格式(表1)通过向类似于ARP的分组中附加一个可变数,提供了子网的信息。分组头部的一个计数(Count)字段显示了附加到分组中的子网数目。

标准的ARP分组不能超出路由的限制,只能在所属网段内广播。而HFARP对ARP中的操作数进行了扩展,使得HFARP分组能跨越一跳(one hop)路由。HFARP的操作数不但能区分请求和应答,还能够区分目的节点、中继节点等。这就使HFARP具有了一定的路由能力。在两跳之内,无需通过路由协议即可完成路由功能。

3 OLSR损耗分析

短波通信带宽低,所以其路由和地址解析所带来的损耗速率是短波通信网的重要指标参数。

OLSR有两个重要的控制消息:Hello和TC。值得注意的是,由于OLSR的特性,用户业务对路由损耗没有直接的影响。但是,用户业务将影响到HFARP地址解析的损耗。

Hello消息由各节点以固定速率在邻居节点范围内广播,不能被转发。则全网中所有的Hello消息发送速率[3]为:

其中Nnetwork为网络中的节点数、THello为Hello消息发送时间间隔(单位:s)。

TC消息也是由每一个MPR节点以固定的最小速率广播。尽管当探测到拓扑结构改变时会触发更高频率的TC更新,但这样的TC更新在短波网络中还是有一个最小的时间间隔TTC。TC消息会被通过MPR列表转发。设Nrelay为网络中的平均中继节点数(0代表全连接网络)、NMPR为中继节点的平均MPR集大小(0代表网络尺度≤2跳)。网络中的全部TC消息业务由初始化发送和转发组成,所以全网中所有的TC消息产生速率[3]为:

其中NrelayNMPR为每个TC分组的转发数量。

如果ARP被用于地址解析,当ARP缓存时间大于ARP缓存器生存时间TARP并且有业务需要提供地址解析时,ARP缓存将被刷新[4]。用户信息仅被发往一跳邻居。每一个ARP请求促发一个应答,所以整个网络中的ARP包业务为:

当采用按需驱动的HFARP提供地址解析时,除了初始化拓扑请求和应答,HFARP只在链路失效时才产生损耗。而且只有当尝试发生数据失败时才能发现链路失效。对于链路失效的响应,将广播一个HFARP请求,然后每一个一跳邻居都向请求节点返回一个HFARP应答。

链路失效的发现速率依赖于拓扑结构改变的速率和受影响链路的业务速率[6]。因为只有尝试发送用户业务时才能发现链路失效。假设每次拓扑结构改变都将产生一个HFARP请求加上每个一跳邻居返回的HFARP应答,则HFARP的损耗传输速率存在一个上限:

其中Thold为拓扑结构保持不变的平均时间。当网络为静态网络时,Thold为无穷大,RHFARP则为零。

4 仿真分析

由于短波通信距离远,一跳通常为数百甚至在两跳之内完成。因此,设计了两种拓扑结构如图2所示。

一个是完全连接的8节点网络,其每一个节点都能与任一其他节点进行通信。另一个是部分连接的8节点网络,其中间的节点能与任一其他节点进行通信,但是任何一侧的节点都不能与另一侧的节点进行通信。

分别对两种拓扑结构下ARP扩展前后的OLSR的损耗进行仿真。图3显示了这四种情况中OLSR损耗传输速率与Hello消息发送时间间隔的关系。

仿真结果表明,全连接网络的损耗小于部分连接网络的损耗,而采用HFARP提供地址解析功能后OLSR的损耗显著降低了。随着Hello消息发送时间间隔的增大,四种情况下的损耗都逐渐减小。

由此可知,要进一步降低损耗需要继续增大路由中Hello这一类控制消息的发送时间间隔。一种极限的想法是可采用仅当有用户业务需要传输时才发送控制信息的路由协议,即按需驱动路由协议[7]。

5 总结和展望

标准的ARP协议是链路层协议,ARP分组不能跨越路由,只是在一个网段内广播。在HFARP的设计中,对ARP进行了扩展,使得HFARP分组能跨越一跳路由。这是因为短波的传输距离比一般的无线载波远。正是利用短波传输距离远的这个特性,让HFARP分组传得更远。可是这样就会碰到路由的限制。所以设计了一个机制,让HFARP分组能跨越一跳路由。但是如果完全取消路由的限制,让HFARP分组传得尽量远也会产生问题。当网络较大节点较多时,发送的HFARP分组多了,所引起的分组竞争和碰撞,将会降低网络效率,抵消短波传输距离远所带来的好处。事实上,当短波网络不断建设和融合,覆盖范围变广,通信距离多于两跳时,HFARP的性能会严重下降。因此,如何解决多于两跳时的路由问题将成为下一步的工作。

网络层采用表驱动路由协议时,链路层采用按需驱动的HFARP可获得较小的损耗。同时,与之相反的设想也变得有意义。

链路层采用周期性广播的HFARP、网络层采用按需驱动路由协议是一个有前瞻性的设想。由于OLSR等表驱动路由协议,链路层使用的标准ARP也是周期性广播的,所以HFARP和ARP的损耗基本相同(HFARP周期性广播时损耗略大一些)。但表驱动路由协议需要周期性广播路由信息,而按需驱动路由只有在有业务时才发起路由请求,再加上HFARP在两跳以内可以完成路由功能,只在多于两跳时才启动按需驱动路由的寻路功能。因此,链路层采用周期性广播的HFARP、网络层采用按需驱动路由协议比链路层采用ARP、网络层采用表驱动路由协议的损耗要小。而由于周期性广播HFARP的路由功能加入后,两跳以内的路由发现时延[8]比传统按需驱动路由小。这就成了一种结合表驱动和按需驱动优点的针对短波网络的新路由。

6 结束语

在现代化战争中,无线电通信是战场指挥的重要手段。覆盖范围广、性能优越的短波广域网能够有效的增强指挥信息的传输能力。通过数学分析和仿真,本文验证了HFARP能有效降低OLSR的损耗,并提出了链路层采用周期性广播的HFARP、网络层采用按需驱动路由协议的设想。对短波广域网路由协议的研究和我国短波通信的发展提供了一个很好的参考。

参考文献

[1]D.G.Kallgren,J-W Smaal,M.Gerbrands,M.Andriesse.An Ar-chitecture for Internet Protocol over HF:Allied High-Fre-quency Wide-Area Networking using STANAG 5066[R],NC3A,Netherlands,NATO/PFP UNCLASSIFIED-AP-PROVED FOR INTERNET TRANSMISSION(RTO-IST-054).

[2]NATO Standardization Agreement 5066:Profile for High Frequency(HF)Radio Data Communications,version 1.2,NATO Standardization Activity reference 0114-C3/5066,2004.

[3]T.Clausen,et al.Optimized Link State Routing Protocol.IEEEINMIC,Pakistan,2001.

[4]W.Richard Stevens.TCP/IP Illustrated Volume 1:The Proto-cols[M].2000.

[5]E.E.Johnson,et al.Routing in HF Ad-Hoc WANs.Proceedings of MILCOM 2004,Monterey,CA,2004.

[6]E.E.Johnson,M Balakrishnan and Z Tang.Performance of Routing Protocols in HF Wireless Networks.Proceedings of MILCOM 2005,IEEE,Atlantic City.NJ,2005

[7]C.E.Perkins,E.M.Royer and S.R.Das.Ad Hoc On-Demand Distance Vector(AODV)Routing.Proc.IEEE Workshop on Mobile Computing Systems and Applications,1999.

上一篇:医学英语教师下一篇:绘本与作文教学