您的当前位置:首页正文

局域网ARP欺骗原理及其防御措施

来源:帮我找美食网
第8卷󰀁第5期󰀁2009年9月

漯河职业技术学院学报

JournalofLuoheVocationalTechnologyCollege

Vo.l8No󰀁5Sep󰀁2009

局域网ARP欺骗原理及其防御措施

于秀珍,徐󰀁立

1

1,2

(1.商丘职业技术学院,河南商丘476000;2.中国科学技术大学,安徽合肥230026)

󰀁󰀁摘要:介绍了ARP协议及其工作原理,分析了ARP欺骗攻击的实施,给出了实际应用效果较好的防范措施。

关键词:ARP协议;ARP欺骗;局域网

中图分类号:TP393.1󰀁󰀁󰀁文献标识码:A󰀁󰀁󰀁文章编号:1671-7864(2009)05-0062-02

󰀁󰀁当局域网内某台主机感染了ARP病毒时,会向本局域

网内(指某一网段,比如:10.10.75.0这一段)所有主机发送

ARP欺骗攻击,谎称自己是这个网端的网关设备,让原本流向网关的流量改道流向病毒主机,造成受害者正常上网。其最典型的表现就是导致网络不稳定,短时间内突然断网,反复掉线。这种情况严重影响网络的正常使用。

1󰀁ARP协议解析

ARP,全称AddressResolutionProtocol,中文名为地址解析协议,它工作在数据链路层,在本层和硬件接口联系,同时对上层(网络层)提供服务。

在以太网中,由于以太网设备并不识别32位的IP地址,所以数据包的传送不是通过IP地址,而是通过48位MAC地址(网卡的物理地址)来完成的。也就是说,在以太网中,一台主机要和另一台主机进行直接通信,必须要知道目标主机的NAC地址。但这个目标主机的MAC地址我们如何获得呢?它就是通过地址解析协议(ARP)获得的。ARP协议用于将网络中的IP地址解析为MAC地址,以保证通信的顺利进行。

发送数据为例,当发送数据时,主机A会在自己的ARP缓存表中寻找是否有目标IP地址。如果找到了,也就知道了目标MAC地址,直接把目标MAC地址写入帧里面发送就可以了;如果在ARP缓存表中没有找到相应的IP地址,主机A就会在网络上发送一个广播,目标MAC地址是 FF.FF.FF.FF.FF.FF!,这表示向同一网段内的所有主机发出这样的询问: 192.168.0.2的MAC地址是什么?!网络上其他主机并不响应ARP的询问,只有主机B接收到这个帧时,才向主机A做出这样的回应: 192.168.0.2的MAC地址是00-bb-bb-bb-bb-bb!。这样,主机A就知道了主机B的MAC地址,它就可以向主机B发送信息了。同时它还更新了自己的ARP缓存表,下次再向主机B发送信息时,直接从ARP缓存表里查找就可以了。ARP缓存表采用了老化机制,在一段时间内如果表中的某一行没有使用,就会被删除,这样可以大大减少ARP缓存表的长度,加快查询速度。另外,ARP协议工作原理还可详见图1和图2。

2󰀁ARP协议工作原理

在每台安装有TCP/IP协议的电脑里都有一个ARP缓

存表,表里的IP地址与MAC地址是一一对应的,而主机的IP地址到MAC地址的映射却总是存在于ARP缓存表中。如表1所示。

表1󰀁ARP缓存表

主机ABCD󰀂󰀂

IP地址196.168.0.1196.168.0.2196.168.0.3196.168.0.4

󰀂󰀂

MAC地址00-aa-aa-aa-aa-aaB00-bb-bb-bb-bb-bb

00-cc-cc-cc-cc-cc00-dd-dd-dd-dd-dd

󰀂󰀂

我们以主机A(192.168.0.1)向主机B(192.168.0.2)󰀁󰀁收稿日期:2009-05-19

作者简介:于秀珍(1965-),女,河南商丘人,商丘职业技术学院讲师,研究方向:网络安全。

第5期于秀珍等:局域网ARP欺骗原理及其防御措施󰀁63

󰀁󰀁源主机在传输数据前,首先要对初始数据进行封装,在该过程中会把目的主机的IP地址和MAC地址封装进去。在通信的最初阶段,我们能够知道目的主机的IP地址,而MAC地址却是未知的。这时如果目的主机和源主机在同一个网段内,源主机会以第二层广播的方式发送ARP请求报文。ARP请求报文中含有源主机的IP地址和MAC地址,以及目的主机的IP地址。当该报文通过广播方式到达目的主机时,目的主机会响应该请求,并返回ARP响应报文,从而源主机可以获取目的主机的MAC地址,同样目的主机也能够获得源主机的MAC地址。如果目的主机和源主机地址不在同一个网段内,源主机发出的IP数据包会送到交换机的默认网关,而默认网关的MAC地址同样可以通过ARP协议获取。经过ARP协议解析IP地址之后,主机会在缓存中保存IP地址和MAC地址的映射条目,此后再进行数据交换时只要从缓存中读取映射条目即可。

󰀁󰀁打开MS-DOS窗口,输入ping网关IP地址,询问网关MAC地址;

输入arp-a命令,即可获得网关MAC地址(图3)。

图3󰀁网关MAC地址

4.2.2󰀁绑定网关IP地址和MAC地址

输入 arp-s网关IP地址网关MAC地址!即可静态绑定网关IP地址和MAC地址(图4)。

3󰀁ARP欺骗攻击的实现

从ARP协议的工作原理中,我们可以看出,ARP协议的基础就是信任局域网内所有的计算机,那么就很容易实现在以太网上的ARP欺骗。对目标A进行欺骗,当A在其ARP表中无法找到C的MAC地址,就发一广播进行询问。此时,把C的MAC地址欺骗为00-dd-dd-dd-dd-dd,于是A发送到C上的数据包都变成发送给D的了。

如果欺骗的地址是一个不存在的MAC地址,那么,就会导致A无法正常和C进行通讯。如果完全掌握A与C之间的数据通讯,那么,D可以做 maninthemiddle!,进行ARP重定向。打开D的IP转发功能,A发送过来的数据包,D直接进行整个包的修改转发,捕获到A发送给C的数据包,全部进行修改后再转发给C,而C接收到的数据包完全认为是从A发送来的。不过,C发送的数据包又直接传递给A,倘若再次进行对C的ARP欺骗,现在D就完全成为A与C的中间桥梁了,对于A和C之间的通讯就可以了如指掌。其造成的危害可想而知。

图4󰀁网关IP地址和MAC地址

从图中我们可以看出,ARP列表中网关IP地址与MAC地址的Type类型由dynamic(动态)转变为static(静态)。

但是由于手工绑定在计算机关机重开机后就会失效,需要再次绑定,这显然是相当麻烦的事情。所以,我们可以编写一个批处理文件arp.bat,实现将交换机网关的MAC地址和网关的IP地址的绑定,内容如下:

@echooffarp-d

arp-s网关IP地址网关MAC地址

用户应该按照前面查找到的交换机网关的IP地址和MAC地址,填入arp?cls后面即可,同时需要将这个批处理软件拖到windows-开始-程序-启动中,以便用户每次开机后计算机自动加载并执行该批处理文件,对用户起到一个很好的保护作用。

4.3󰀁采用vlan技术隔离端口

局域网的网络管理员可根据本单位网络的拓卜结构,具体规划出若干个vlan,当管理员发现有非法用户在恶意利用ARP欺骗攻击网络,或因合法用户受病毒ARP病毒感染而影响网络时,网络管理员可利用技术手段首先查找到该用户所在的交换机端口,然后将该端口划一个单独的vlan将该用户与其它用户进行物理隔离,以避免对其它用户的影响。当然也可以利用将交换机端口disable掉来屏蔽该用户对网络造成影响,从而达到安全防范的目的。

4󰀁ARP欺骗攻击的防范

4.1󰀁网管交换机端绑定

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

在核心交换机上将所有局域网络用户的IP地址与其网卡MAC地址一一对应进行全部绑定。这样可以极大程度上避免非法用户使用ARP欺骗或盗用合法用户的IP地址进行流量的盗取。4.1.2󰀁MAC地址与交换机端口的绑定

根据局域网络用户所在的区域、楼体和用户房间所对应的交换机端口号,将用户计算机网卡的MAC地址和交换机端口绑定。此方案可以防止非法用户随意接入网络端口上网。网络用户如果擅自改动本机网卡的MAC地址,该机器的网络访问将因其MAC地址被交换机认定为非法而无法实现上网,自然也就不会对局域网造成干扰了。4.2󰀁客户机IP地址和MAC地址静态绑定

从ARP原理中,我们了解到,ARP表是动态存在的。为了防止ARP表被篡改,我们可以将ARP表设置成静态的,即静态绑定,从而达到防范的目的。4.2.1󰀁获得网关的IP地址和MAC地址

5󰀁结束语

ARP协议的缺陷正在被不断地利用,其危险性也正日

益增大。因此,除了做好防范以外,经常查看当前的网络状态,对网络活动进行分析、监控、采取积极、主动的防御措施,是保证网络的安全和畅通的重要和有效的方法。

参考文献:

[1]黄玉春.浅淡局域网中的嗅探原理和ARP欺骗[J].大众科技,2006,(8):84-84.

[2]徐美华.利用ARP欺骗实现网络捕包[J].网络安全技术与应用,2005,(8):33-34.

[3]辛志东.局域网中的ARP重定向攻击及防御措施[J].微计算机信息,2005,(2).

[责任编辑󰀁吴保奎]

因篇幅问题不能全部显示,请点此查看更多更全内容

Top