局域网ARP攻击原理与防范

时间:2022-10-01 05:21:51

摘要:局域网ARP攻击会导致网络大面积的瘫痪,威胁整个网络的安全。该文通过对ARP攻击的分析,详细讨论了ARP攻击原理,提出几种常用的防范ARP攻击的方法。

关键词:ARP攻击;ARP病毒;ARP欺骗;ARP防范

中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)32-1320-01

LAN ARP Attack Principle and Guard Against Attacks

TANG Xuan, LIU Juan

(Department of Computer Science and Technology, Bengbu College, Bengbu 233000, China)

Abstract: ARP LAN network attacks would lead to large areas of paralysis and threaten the security of the entire network. Based on the analysis of ARP attacks, this paper describes the ARP attacks principles and several commonly used methods to prevent the ARP attacks.

Key words: ARP attack; ARP virus; ARP spoofing; ARP defense

1 引言

常见的局域网ARP攻击是由ARP病毒导致的。一旦某台计算机中了ARP病毒,则威胁整个局域网的安全,导致整个局域网通信被监听,大面积掉线等情况,严重影响了局域网的安全。因此,防范ARP病毒攻击是一个局域网上刻不容缓的事情。

2 ARP工作原理

ARP全称是Address Resolved Protocol,地址解析协议,用于实现IP地址到网络接口硬件地址的映射。网络接口硬件地址一般是一个48位的值,这个地址通常被叫做MAC地址,它可以唯一地标识一个网络接口,局域网中数据通讯就使用这个地址来识别发送数据端和接收数据端。ARP就是通过一定的机制,把IP地址映射为这种硬件地址,获得数据的发送端和接收端地址,保证了数据的正确传输。

图1ARP协议工作原理

ARP是通过一个高速缓存表来实现这个映射的。在每个主机上设置了一个ARP高速缓存表,这个高速缓存表中存放着最近使用过的IP地址和网络接口硬件地址的映射记录。ARP高速缓存表里的映射关系主要有静态和动态的两种。静态的需要手工创建(使用arp -s命令)。动态创建的ARP高速缓存表中的映射关系一般在20分钟后自动过期清除。可以使用arp -a命令查看本机ARP高速缓存表。

图2本机ARP高速缓存表

局域网内,源主机若要和目的主机通信,必须知道其IP地址和MAC地址。假设源主机已经获知目的主机的IP地址,它会先查看本地ARP高速缓存表中是否存在包含目的主机IP地址的条目。如存在,则使用该条目中目的主机IP所对应的MAC地址。否则,源主机会向整个局域网广播一个ARP请求数据帧。在这个请求包中包含了源主机IP地址和目的地址,以及目的主机的IP地址。当局域网中其他主机接收到这个请求时,会检查自己的IP地址和ARP请求数据帧中的目的IP地址是否相同,如果不同,则抛弃;否则,便会发出一个ARP响应包,并记录源主机的IP地址至MAC地址的映射至本机ARP高速缓存表。该数据包中包含源主机IP、源主机MAC地址、目的主机IP地址、目的主机MAC地址。源主机接到这个ARP响应数据帧,便获得了目的主机的MAC地址,并把目的主机IP地址与MAC地址映射记入本机ARP高速缓存表。

3 ARP攻击原理

常见的ARP攻击表现形式为监听局域网中所有数据通信、提示IP冲突、频繁上网掉线。它是使用改变ARP高速缓存表的方法来进行攻击的。ARP攻击者构造一个自己设计的ARP响应包,循环发送给目标主机,直至目标主机ARP高速缓存被更改,从而达到自己的攻击目的。

假设,在局域网内有三台主机Host1、Host2、Host3,假设Host1的IP地址为192.168.0.1,MAC地址为11:11:11:11:11:11,Host2的IP地址为192.168.0.2,MAC地址为22:22:22:22:22:22,Host3的IP地址为192.168.0.3,MAC地址为33:33:33:33:33:33。

此时若Host3的使用者想监听Host1和Host2之间的通信,它就构造一个包含源IP地址为192.168.0.2、源MAC地址为33:33:33:33:33:33、目的IP地址为192.168.0.1、目的MAC地址为11:11:11:11:11:11的ARP响应数据帧循环发送至Host1,另外,再构造一

个包含源IP地址为192.168.0.1、源MAC地址为33:33:33:33:33:33、目的IP地址为192.168.0.2、目的MAC地址为22:22:22:22:22:22的ARP响应数据帧循环发送到Host2。若Host1和Host2使用这两个ARP响应包更新它们的本地ARP高速缓存表,使得Host1的ARP高速缓存表中192.168.0.2对应Host3的MAC地址、Host2的ARP高速缓存表中的192.168.0.1对应Host3的MAC地址。此时,Host1发送给Host2的数据将会发送至MAC地址为33:33:33:33:33:33的主机(即Host3),而Host2发送给Host1的数据也将会发送至Host3,从而达到监听Host1与Host2之间通信的目的。

若Host3发送伪装网关的ARP响应数据帧,即构造目的IP地址和目的MAC地址为广播地址、源IP地址为网关地址、源MAC地址为Host3的MAC地址的ARP响应数据帧,欺骗局域网内所有其他计算机,让它们认为Host3为网关。然后,循环向网关发送源MAC地址为Host3的MAC地址、源IP地址为实际主机IP地址来欺骗网关,使网关把发送给局域网内其他计算机的数据发至Host3。此时,局域网内所有计算机的通信都将经过Host3,只有Host3保存有正确的IP至MAC地址的映射关系,Host3再通过这个映射关系转发数据至正确的计算机,保证网络正常运行。这样,就实现了伪装网关的攻击,实现了监听整个网络的功能。

图3 ARP攻击原理

图4 网关欺骗

4 防范ARP攻击

知道了ARP攻击的原理,就可以制定防范ARP攻击的策略。常见的防止ARP攻击的方法有:

4.1 静态绑定ARP高速缓存条目

ARP攻击主要是更改了动态变化的本地ARP高速缓存表,因此,可以使用静态ARP高速缓存表。windows系统下,可以使用arp Cs命令来静态绑定ARP。如上例,对Host1执行

arp -s192.168.0.254xx-xx-xx-xx-xx-xx

arp -s192.168.0.222-22-22-22-22-22

使用这种方法需要对局域网中每台机器设置,而且,一但更换IP地址或MAC地址就需要重新设置。因为这种方法只适合比较小的网络。

4.2 使用支持MAC地址绑定的交换设备

一些交换机具有MAC地址和端口绑定的功能,可以避免MAC地址欺骗。同时,也具有一些防范ARP攻击的检测功能的交换设备,完全避免了ARP攻击。但它们的价格一般也比较高。

4.3 使用VLAN

VLAN可以隔离不同VLAN之间的通信,也就可以避免不同VLAN之间的MAC地址欺骗,但它导致了不同VLAN间的通信问题。

4.4 使用专用软件

某些专用软件可以用来防止ARP攻击,这些软件监控正确的IP与MAC地址映射,若这个映射发生变化,便通知用户并且恢复正确的映射关系,保证网络的畅通。但不能杜绝局域网的ARP攻击。

5 结束语

此外,我们要给自己的计算机打好补丁,装好防病毒,我们的计算机才不会感染ARP病毒,才能从一定程度上防止ARP攻击。

参考文献:

[1] Stevens.TCP-IP详解(卷一)[M].北京:机械工业出版社,2000.

[2] Stevens.TCP-IP详解(卷二)[M].北京:机械工业出版社,2000.

上一篇:利用VBA编写Excel中的工资条与工资查询窗口 下一篇:Delphi编程实现远程数据波形显示的方法