APP下载

ARP地址欺骗原理及仿真实验设计

2016-10-22汪永生

赤峰学院学报·自然科学版 2016年18期
关键词:铜陵实验设计IP地址

汪永生

(铜陵学院数学 与计算机学院,安徽 铜陵 244000)

ARP地址欺骗原理及仿真实验设计

汪永生

(铜陵学院数学与计算机学院,安徽铜陵244000)

ARP采取了信任模式,从而造成了网络安全隐患.从ARP工作机制入手,深入分析ARP地址欺骗原理,并设计了ARP地址欺骗仿真实验,对ARP欺骗原理进行了验证.

ARP;ARP地址欺骗;仿真实验设计

早期互联网采取的是信任模式,追求网络功能与传输速率,主要在科研机构和大学内部局域网使用,对网络安全考虑较少[1].ARP是一个早期的网络协议,尤其以太网的洪泛特点,能够很方便的用来查询,但也为日后网络安全埋下了隐患.ARP地址欺骗通常有2种欺骗方式,一种是对路由器ARP表的欺骗,它会导致路由器将发送数据到错误的MAC地址,造成PC无法正常接收到真正主机发来的信息.另一种是对局域网PC网关进行欺骗,伪造网关,让被这欺骗的PC向假网关发送数据,造成同一网关所有PC无法正常访问网络[2].

1 ARP概念及工作机制

1.1ARP概念

ARP(Address Resolution Protocol)中文意思为地址解析协议.ARP位于国际标准化组织ISO(International Standard Organization)开放系统互联参考模型OSI(Open System Interconnect)的第二层,该协议属于数据链路层协议,它负责联系本层和硬件接口,同时对上一层网络层和下一层物理层提供相关的服务.

数据链路层传送的是数据帧,数据帧内包含了所要传送的源和目标48位物理地址,即MAC地址,以太网交换设备(常用设备有网卡、交换机和网桥等)就是根据MAC地址进行数据帧的传送.具体来说,在局域网内部IP数据包(或称分组)传送时不是以IP地址来识别目标主机,而是MAC地址.所以,ARP协议就是确定MAC地址与IP地址之间必须存在一种对应关系的协议[3].

1.2ARP工作机制

ARP工作机制主要实现IP地址和MAC地址的相互映射,解析本地ARP.ARP工作机制具体过程为:

源主机先发送出一个以太网广播请求数据包,该数据包中含有目标主机IP地址.目标主机收到该数据包后,则向源主机发出一个应答数据包,该数据包中含有目标主机IP和MAC地址对.源主机获得目标主机IP和MAC地址对后,并将该地址对存储在本机的ARP缓存表,以节约不必要的ARP通信.ARP缓存表通常采取老化机制[4],即缓存表中的某一行一段时间内如果没有被使用,就必须被删除,这样可以减少ARP缓存表中无效地址对,加快查询速度.

2 ARP地址欺骗原理

由于以太局域网内数据包传输依靠的是MAC地址,主机(包括网关)ARP缓存表存储IP地址和MAC对应的关系,以此来实现IP地址和MAC地址的映射.一般来说,ARP缓存表能够有效的保证数据传输的一对一性,例如,主机A与主机C之间的通讯只通过网关,象主机B之类的则无法截获主机A与主机C之间的通讯信息的.由于ARP协议是一种无状态协议,当主机接收到一个ARP的应答包后,它不会去验证自己是否发送过这个ARP请求,而是直接将应答包里的MAC地址与IP对应的关系替换掉原有的ARP缓存表里的相应信息.

一般情况下,ARP缓存表通过两种途径建立的.一种是主动解析,如果一台主机想与另一台不知道MAC地址的主机进行通信,则该主机主动发送ARP请求.另一种是被动解析,如果一台主机接收到了另一台主机的ARP请求,则在本地建立请求主机的IP地址和MAC地址的对应表.因此,ARP地址欺骗就是误导主机建立错误的ARP缓存表,利用ARP协议的无状态性,通过伪造不存在的MAC地址更新主机或网关中的ARP缓存表[5].当一个伪造的ARP应答报文被接受以后,ARP缓存表将被更新,任何发往目的IP主机的数据包可能被重定向到目标主机(实施欺骗的主机).

3 ARP地址欺骗仿真实验设计

本仿真实验环境为:服务器一台(安装有HTTP、FTP、TELNET、MALL、DHCP和 DNS等服务),中心设备一台,组控设备若干,智能网络设备若干,实验机(运行网络协议仿真软件).ARP地址欺骗仿真实验拓扑结构如图1所示:

图1 ARP地址欺骗仿真实验拓扑图

其中:

交换模块:专为网络协议仿真教学系统研制,是组控设备的主要组成部分,具有数据交换、转发和MAC地址学习等功能,是支撑系统网络拓扑结构的硬件设备.

共享模块:专为网络协议仿真教学系统研制,是组控设备的主要组成部分,可实现网络数据采集功能,是支撑系统网络拓扑结构的硬件设备.

3.1仿真实验设计方法

主机D伪造ARP报文发送至主机A和主机C,主机A和主机C建立错误的ARP缓存表,导致主机A和主机C之间通讯出现故障,从而达到欺骗的目的.

3.2仿真实验步骤

步骤一:主机A和主机C使用”arp–a”命令查看并记录ARP高速缓存.如图2和图3所示:

图2 实施欺骗前主机A ARP缓存表

图3 实施欺骗前主机C ARP缓存表

步骤二:分别启动主机A、C上的协议分析器,设置过滤条件,开始捕获数据,提取ICMP协议和ARP协议.在主机A上ping下主机C,并对主机A、C上捕获到的ICMP报文进行观察,记录报文中的MAC地址.

步骤三:启动主机D上的仿真编辑器,编辑向主机A发送的ARP请求报文(暂不发送).其中,

MAC层地址:

目的MAC地址:主机A的MAC地址.

源MAC地址:主机D的MAC地址;

ARP层:

目的MAC地址:000000-000000;

目的IP地址:主机A的IP地址.

源MAC地址:主机D的MAC地址;

源IP地址:主机C的IP地址;

步骤四:主机D向主机C编辑ARP请求报文(暂不发送).其中,

MAC层地址:

目的MAC地址:主机C的MAC地址.

源MAC地址:主机D的MAC地址;

ARP层:

目的MAC地址:000000-000000;

目的IP地址:主机C的IP地址.

源MAC地址:主机D的MAC地址;

源IP地址:主机A的IP地址;

步骤五:对步骤三和步骤四所编辑的数据包同时发送,观察并记录主机A和主机C的ARP高速缓存表.为防止其它未知报文更新主机A和主机C高速缓存表,可采取定时发送数据包方法,例如,每隔500ms发送一次.如图4和图5所示:

图4 实施欺骗后主机A ARP缓存表

图5 实施欺骗后主机C ARP缓存表

步骤六:在主机D上启动静态路由服务,目的是实现数据转发.具体操作方法:

在命令行方式下输入”staticroute_config”.同时,主机D要禁用ICMP协议.具体操作如下:

在命令行下输入”mmc”,启动微软管理控制台.单击”文件”菜单中的”打开”命令,打开“C:WINNTsystem32IPSecPolicystopicmp.msc”.单击“操作”菜单中的“所有任务”、“导入策略”,打开“C:WINNTsystem32IPSecPolicystopicmp.ipsec”.此命令执行成功后,“禁用ICMP”将出现在策略名称列表中.最后,启动策略.用鼠标选中“禁用ICMP”,单击右键,选择“指派”.

步骤七:主机A上ping主机C.

步骤八:主机A、C停止捕获数据,分析捕获到的数据.

3.3实验结果分析

实施ARP欺骗前,主机A和主机C均能建立正确的ARP缓存表,主机A和主机C之间网络通讯正常(见图2和图3所示).主机D向主机A和主机C发送伪造的ARP报文,欺骗主机A和主机C建立不正确的ARP缓存表,主机A建立主机C IP地址与主机DMAC地址的ARP绑定,而主机C则建立了主机AIP地址与主机DMAC地址的ARP绑定(见图4和图5所示).

主机A和主机C相互ping对方,均出现超时ping不通现象(见图6和图7所示),说明主机A和主机C因ARP地址欺骗而出现了网络通讯瘫痪故障.

图6 主机A访问主机C出现网络通讯故障

图7 主机C访问主机A出现网络通讯故障

4 结束语

利用ARP协议的固有缺陷来对内部网络实施攻击,常见的一种攻击方式就是ARP地址欺骗.本文介绍了ARP概念和ARP工作机制,详细分析了ARP地址欺骗原理,并设计了ARP地址欺骗仿真实验来对此进行验证,从而有助于设计出可行的安全防御措施,最大程度上防范ARP地址欺骗的攻击,保证网络的安全.

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

〔2〕邢金阁,刘扬.ARP欺骗攻击的检测及防御技术研究[J].东北农业大学学报,2012(8):74~77.

〔3〕秦丰林,段海新,等.ARP欺骗的监测与防范技术综述[J].计算机应用研究,2009,26(1):30-33.

〔4〕任侠,吕述望.ARP协议欺骗原理分析与抵御方法[J].计算机工程,2003,29(9):127-128.

〔5〕史隽彬,秦科.ARP攻击现状分析及一种应对ARP攻击的方法 [J].陕西理工学院学报,2013,29(2):45-49.

TP313

A

1673-260X(2016)09-0014-03

2016-05-09

铜陵学院校级教研课题(JY15013)

汪永生(1976-),男,助理实验师,硕士研究生,人工智能与计算机网络技术

猜你喜欢

铜陵实验设计IP地址
不同的温度
有趣的放大镜
亲亲的鸟
哪个凉得快?
铁路远动系统几种组网方式IP地址的申请和设置
其实冬天不可怕
无字天书
IP地址切换器(IPCFG)