漯河职业技术学院学报
JournalofLuoheVocationalTechnologyCollege
Vo.l8No5Sep2009
局域网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欺骗攻击,谎称自己是这个网端的网关设备,让原本流向网关的流量改道流向病毒主机,造成受害者正常上网。其最典型的表现就是导致网络不稳定,短时间内突然断网,反复掉线。这种情况严重影响网络的正常使用。
1ARP协议解析
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。
2ARP协议工作原理
在每台安装有TCP/IP协议的电脑里都有一个ARP缓
存表,表里的IP地址与MAC地址是一一对应的,而主机的IP地址到MAC地址的映射却总是存在于ARP缓存表中。如表1所示。
表1ARP缓存表
主机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)。
3ARP欺骗攻击的实现
从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掉来屏蔽该用户对网络造成影响,从而达到安全防范的目的。
4ARP欺骗攻击的防范
4.1网管交换机端绑定
在核心交换机上绑定用户主机的IP地址和网卡的MAC地址,同时在边缘交换机上将用户计算机网卡的MAC地址和交换机端口绑定的双重安全绑定。4.1.1IP和MAC地址的绑定
在核心交换机上将所有局域网络用户的IP地址与其网卡MAC地址一一对应进行全部绑定。这样可以极大程度上避免非法用户使用ARP欺骗或盗用合法用户的IP地址进行流量的盗取。4.1.2MAC地址与交换机端口的绑定
根据局域网络用户所在的区域、楼体和用户房间所对应的交换机端口号,将用户计算机网卡的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).
[责任编辑吴保奎]
因篇幅问题不能全部显示,请点此查看更多更全内容