ARP协议漏洞及安全防范

上传人:沈*** 文档编号:66926702 上传时间:2022-03-29 格式:DOC 页数:22 大小:338.50KB
收藏 版权申诉 举报 下载
ARP协议漏洞及安全防范_第1页
第1页 / 共22页
ARP协议漏洞及安全防范_第2页
第2页 / 共22页
ARP协议漏洞及安全防范_第3页
第3页 / 共22页
资源描述:

《ARP协议漏洞及安全防范》由会员分享,可在线阅读,更多相关《ARP协议漏洞及安全防范(22页珍藏版)》请在装配图网上搜索。

1、毕业论文(设计)目录摘要1Abstract11 引言22ARP协议22.1 基本原理22.2ARP的查看42.3ARP的高速缓存62.4ARP协议的工作流程73ARP协议漏洞及防范83.1ARP协议的漏洞83.2ARP 攻击 .93.3ARP攻击的防范. 1.1.4ARP攻击的实现1.3.4.1 系统概述13.4.2 概要设计14.4.3 相关数据结构及函数1.5.4.4 程序实现17.4.5 程序的测试. 19.5 小结21.致谢21.参考文献22.附录23.ARP协议漏洞及安全防范摘要:在 TCP/IP 协议族中, ARP协议是一个底层的基础协议,在网络的运行过程中起着重要的作用。由于AR

2、P设计的缺陷,其安全问题也日益突出。论文在深入讨论 APR协议及其工作的原理的基础上,分析了ARP 协议的弱点及 APR 攻击的原理,探讨ARP攻击的防范措施。最后结合实际,本文给出了一个简单的 ARP欺骗工具的实现方法。关键词: ARP协议; ARP攻击; MAC地址SecuritPFIawofARPProtocola ndtheCo un termeasuresAbstractIn theTCP/IPprotocolsuitetheARPprotocolisthefo un datio nprotocoli nthelowerlaPer.ARPplaPsa ni mporta ntrole

3、i nn etworkru nnin g.Becauseofthedefectsofitsdesig n,thesecuritPproblemofARPis in creas in g.Afterthoroughdiscus sio nofAPRprotocolthispapera naIPzedARPweak nessa ndAPRcheat.The nm easuresagainstARPattacksarediscussed.Fi nallPasimpleimpleme ntatio nof ARPcheattoolisgive n.KePwords : ARPprotocol;ARPa

4、ttack;MACaddress1 引言随着计算机技术和 In ternet 技术的不断推广与应用,网络逐渐已经成为人活中不可缺少的一部分。 在网络发展的初期,人们更多地强调网络的方便性和可用性,而忽略了网络的安全性。当网络仅仅用来传送一般性信息的时候,题并没有突出地表现出来。 但是,当在网络上运行关键性的业务如银行业务等,当企业的主要业务运行在网络上,当政府部门的活动正日益网络化的时候,网络传播信息快捷,隐蔽行强,在网络上难以识别用户的真实身份,们日常生安全问再加上网络犯罪、黑客攻击、有害信息传播等方面的问题日趋严重。网络安全问题严重影响了人们的生活和工作,以至整个国家的安全。它可能对国家的

5、重大部门造成严重的后果,如政府机关、军事设施、金融部门等。可以肯定的说,哪里有网络哪里就有网络安全问题。所谓网络安全,是指网络系统的硬件、软件及其系统中的数据信息能够受到保护,不会因为偶然的或者恶意的原因而遭到破坏、更改、泄露,系统能够连续、可靠地运行,网络服务不被中断。由于网络安全问题是多种多样的,很多新的网络安全问题不断涌现,防不胜防。已知的网络安全问题包括很多种,目前比较有影响的有以下几种:1 ?网络病毒感染。网络病毒层出不穷,其传播方式也不断发展,而且,新的病毒还跟其他网络安全技术(如木马)相结合,产生综合病毒,极难防范。2 ?木马问题。这个网络安全问题变得越来越突出,很多木马程序在网

6、上可以直接得到,而且其使用方法也很简单,但是其危害程度非常高。3 ?恶意扫描。对网络主机扫描,是攻击者最先做的事情,它能够检查出主机存在的很多漏洞,以及漏洞的种类等很多有价值的信息,它是攻击者进行攻击的基础。4 . 网络监听。它可以监听整个网络的数据包,然后查看其数据内容。本来,网络监听可以用于网络管理和网络流量检测,但是攻击者使用它就变成了窃取网络信息的行为了。5 ?垃圾邮件。这也是人们普遍遇到的网络安全问题。由于邮件的使用很广泛,已经成为人们生产生活中的一种重要通信方式。但是与邮件相关的安全问题也非常多,其中最严重的就是垃圾邮件,严重影响了人们正常使用邮件系统。6 ?拒绝服务攻击。它不断对

7、网络服务系统进行干扰,改变其正常的作业流程,执行无关程序使系统响应减慢甚至瘫痪,影响正常用户的使用,甚至使合法用户被排斥而不能进入计算机网络系统或不能得到相应的服务。然而,在目前的网络安全防范研究中,大部分都是研究如何防范和抵御来自外网的不安全因素,因此网络边界的安全得到了很大的重视,但内网的安全问题同样是一个不可忽略的部分。在内网的安全防范中,ARP攻击病毒是一个重要的内容,也是内网攻击者最偏向于利用网络底层协议的一种病毒。因此,对ARP协议的安全性分析具有十分重要的意义。要如何防范ARP攻击,首先就必须先从 ARP协议本身入手,掌握ARP协议的基本知识,了解ARP攻击的原理,这样才能总结出

8、一套行之有效的防范方法。2ARP协议2.1 基本原理众所周知, IP 地址是不能直接用来进行通信的,这是因为IP 地址只是主机在抽象的网络层中的地址。如果要将网络层中传送的数据报交给目的主机,还要传到数据链路层转变成硬件地址后才能发送到实际的网络上。由于 IP 地址是 32位的,而局域网的硬件地址是48 位的,因此它们之间不存在简单的映射关系。此外,在一个网络上可能经常会有新的主机加入进来,或撤走一些主机,更换网卡也会使主机的硬件地址改变。可见在主机中应存放一个从IP 地址到硬件地址的映射表,并且这个映射表还必须能够经常更新。将一台计算机的IP 地址翻译成等价的硬件地址的过程叫做地址解析。地址

9、解析是一个网络内的局部过程,即一台计算机能够解析另一台计算机地址的充要条件是两台计算机都连在同一物理网络中,一台计算机无法解析远程网络上的计算机的地址。地址解析协议 ARP(AddressResolutio nProtocol) 就是用来确定这些映象的协议。ARP协议的标准是在RFC826中定义的。这个协议起初是为DEC/Intel/GeroG的 10 兆以太网设计的,现在已允许用在其它类型的网络上。它负责从第三层的网络地址映射到第二层的硬件地址( 也可以是以太网以外的硬优质参考文档图 2-1ARP数据帧格式在图中每一行为32 位,也就是 4 个八位一组表示,在以后的图中,我们也将遵循这一方式

10、。硬件类型字段指明了发送方想知道的硬件接口类型,以太网的值为1。协议 类型字段指明了发送方提供的高层协议类型,IP 为 OG0800。它的值与包含IP 数据报的以太网数据帧中的类型字段的值相同,这是有意设计的。接下来的硬件地址长度和协议长度分别指明了硬件地址和高层协议地址的长度,以字节为单位,这样ARP报文就可以在任意硬件和任意协议的网络中使用。对于以太网上的IP 地址的 ARP请求或者应答来说,它们的值分别为6 和 4。操作字段指出四种操作类型,它们是ARP请求(值为 1 )、 ARP应答(值为 2 )、 RARP请求(值为 3)和 RARP应答(值为 4)。这个字段是必需的,因为ARP请求

11、和 ARP应答的帧类型字段值是相同的。接下来的四个字段是发送端的MAC地址(在本例中是以太网地址)、发送端的协议地(IP 地址)、目的端的MAC地址和目的端的协议地址。注意,这里有一些重复信息:在以太网的数据帧报头中和ARP请求数据帧中都有发送端的硬件地址。对于一个 ARP请求来说,除目的端MAC地址外的所有其他的字段都有填充值。当系统收到一份目的端为本机的ARP请求报文后,它就把MAC地址填进去,然后用两个目的端地址分别替换两个发送端地址,并把操作字段置为2,最后把它发送回去。 1Hdxhea 匕 t 4 1( lOHfb 包口 dxiiiProtocoliyp? * 1181)0(IP)L

12、 曰乩 E Uh QhsLriiware address =6 bvtesIstLth ofpj?3tocolaiddrm 弓 s:- 4 byt e s1杭口匕口Opcode 1t?P川EP Sendiij.yet )K pivt Qtui?dJj=59 3.1.1hfiPTATARS-etb.dVSTR白 m V hsiricrG白 dcLrm二:hardflddrs-M* nnDflOOQQDODOJkEP Tsirgst jsrotocol address- 5? t: .2.141ARP 包的格式。如图 22们通过Sniffer软件捕获一个包来检查-2ARPBliF & by七匕生

13、J : fante paddli-tL-iIOOLIOOOQO tiU EltL : 11JD和 1所示 onoaoi; wOBi ooeLJonIDD-UO To -uQUODO 020.oUuu I . L ub-rM 4 4 o QOF0 ODDODOQJODD 0D 00 DQ 00FU u?U.u ?匡F的人口気PH/j饰屮找Hdlt人骑曲曲催. 詡 /I XO Vh -u n11WWEM图 2-2Sniffer 捕获的 ARP包2.2ARP的查看我们先看一下 LinuG 下的 arp 命令 ( 如果开始 arp 表中的内容为空的话 ,需要 先对某台主机进行一个连接 ,例如 ping

14、下目标主机来产生一个arp 项) :d2server:/home/kerberos#arpAddressHWtPpeHWaddressFlagsMasklface 59.68.2.7ether00:11:11:EE:39:44Ceth0Address : 主机的 IP 地址HwtPpe : 主机的硬件类型Hwaddress : 主机的硬件地址FlagsMask : 记录标志, C 表示 arp 高速缓存中的条目, M表示静态的 arp 条目。用arp-a 命令可以显示主机地址与IP 地址的对应表,也就是机器中所保存的 arp 缓存信息。这个高速缓存存放了最近In ternet地址到硬件地址之间

15、的映射记录。高速缓存中每一项的生存时间一般为20 分钟,起始时间从被创建时开女台算起。d2server:/home/kerberos#arp-a(59.68.2.7) at00:11:11:EE:39:44ethero neth0可以看到在缓存中有一条59.68.2.7相对应的 arp 缓存条目。d2server:/home/kerberos#tel net59.68.2.105TrPi ng59.68.2.105Co nn ectedto59.68.2.105.EscapecharacterisA.A.teln etquitconn eti on closed.在执行上面一条telnet命令

16、的同时,用 tcpdump 进行监听:d2server:/home/kerberos#tcpdump-edsthost59.68.2.105tcpdump:liste ningon eth0我们将会听到很多包,我们取与我们arp 协议相关的 2 个包:10.000:D0:F8:0A:FB:83 FF:FF:FF:FF:FF:FFarp60whohas59.68.2.105telld2server20.002344(0.0021) 00-E0-4C-E2-06-8A00:D0:F8:0A:FB:83arp60arpreplP59.68.2.105isat00-E0-4C-E2-06-8A在第 1

17、 行中,源端主机 (d2server) 的硬件地址是 00:D0:F8:0A:FB:83 。目 的端主机的硬件地址是FF:FF:FF:FF:FF:FF 这是一个以太网广播地址。电缆上的每个以太网接口都要接收这个数据帧并对它进行处理。第 1 行中紧接着的一个输出字段是 arp ,表明帧类型字段的值是 0G0806, 说明此数据帧是一个 ARP请求或回答。在每行中,单词后面的值 60 指的是以太网数据帧的长度。由于 ARP请求或 回答的数据帧长都是 42 字节 (28 字节的 ARP数据, 14 字节的以太网帧头 ) , 因此,每一帧都必须加入填充字符以达到以太网的最小长度要求:60 字节。第 1

18、 行中的下一个输出字段arpwho-has 表示作为 ARP请求的这个数据帧中,目的 IP 地址是 59.68.2.105 的地址,发送端的 IP 地址是 d2server 的地址。 tcpdump打印出主机名对应的默认IP 地址。从第 2 行中可以看到,尽管ARP请求是广播的,但是ARP应答的目的地址却是59.68.2.105(00-E0-4C-E2-06-8A)。ARP应答是直接送到请求端主机的,而是广播的。 tcpdump 打印出 arprepIP 的字样,同时打印出响应者的主机IP和硬件地址。在每一行中,行号后面的数字表示tcpdump 收到分组的时间 ( 以秒为单位 ) 。 除第1

19、行外,每行在括号中还包含了与上一行的时间差异( 以秒为单位 ) 。这个时候我们再看看机器中的arp 缓存:d2server:/home/ke rberos#arp-a(59.68.2.7)at00:11:11:EE:39:44etheroneth0(59.68.2.105 )at00-E0-4C-E2-06-8Aethero neth0arp 高速缓存中已经增加了一条有关59.68.2.105的映射。再看看其他的 arp 相关的命令:d2server:/home/kerberos#arp-s59.68.2.10500:00:00:00:00:00d2server:/home/kerberos#

20、arpAddressHWtPpeHWaddressFlagsMasklface59.68.2.7ether00:11:11:EE:39:44Ceth059.68.2.105ether00:00:00:00:00:00CMeth0 d2server:/home/kerberos#arp-a(59.68.2.7) at00:11:11:EE:39:44ethero neth0(59.68.2.105)at00:00:00:00:00:00etherPERM on eth0可以看到我们用arp-s 选项设置了 59.68.2.105对应的硬件地址为00:00:00:00:00:00,而且这条映射的标

21、志字段为CM,也就是说我们手工设置的arp 选项为静态 arp 选项,它保持不变没有超时,不像高速缓存中的条目要在一定的时间间隔后更新。如果想让手工设置的arp 选项有超时时间的话,可以加上temp 选项d2server:/home/kerberos#arp-s59.68.2.10500:00:00:00:00:00tempd2server:/home/kerberos#arp-a(59.68.2.7)at00:11:11:EE:39:44ethero neth0(59.68.2.105) at00:00:00:00:00:00ethero neth0d2server:/home/kerber

22、os#arpAddressHWtPpeHWaddressFlagsMasklface59.68.2.7ether00:11:11:EE:39:44Ceth059.68.2.105ether00:00:00:00:00:00Ceth0可以看到标志字段的静态arp 标志 M已经去掉了,我们手工加上的是一条动态条目。在不同的系统中,手工设置的arp 静态条目是有区别的。在linuG 和win20GG中,静态条目不会因为伪造的arp 响应包而改变,而动态条目会改变。而在win98 中,手工设置的静态条目会因为收到伪造的arp 响应包而改变。如果您想删除某个arp 条目 ( 包括静态条目 ) ,可以用下

23、面的命令:d2server:/home/kerberos#arp-d59.68.2.105d2server:/home/kerberos#arp-a(59.68.2.7)at00:11:11:EE:39:44ethero neth0(59.68.2.105)ato neth0可以看到 59.68.2.105的 arp 条目已经是不完整的了。还有一些其他的命令,可以参考linuG 下的相关文档。Windows环境下的 ARP命令也类似,在此不再累赘。2.3ARP的高速缓存ARP高效运行的关键是由于每个主机都有一个ARP高速缓存。这个高速缓存存放了最近 In ternet地址到硬件地址之间的映射记

24、录。高速缓存中的每一项的生存时间一般为 20 分钟,起始时间从被创建时开始算起。我们可以用arp-a命令来检查 ARP的高速缓存。参数 -a 的意思是显示高速缓存中所有的内容。在一些网络安全的开发包中,可以使用相关函数来调用ARP的高速缓存。例如在使用 Libdnet 开发包对 ARP缓存进行操作时,就要用到ARP缓存的数据结构。 ARP缓存的数据结构中定义了与ARP缓存相关的一些信息,如协议地址和硬件地址。 ARP缓存结构的定义在arp.h 中。以下是 Libdnet 中 ARP缓存的结构定义。structarp_e ntrPstructaddrarp_pa;/G协议地址 G/structa

25、ddrarp_ha;/G硬件地址 G/ ;#de nfin earp_pack_hdr_ethip(hdr,op,sha,tha,tpa)dostructarp_hdrGpack_arp_p=(structarp_hdrG)(hdr);structarp_ethipGpack_ethip_p=(structarp_ethipG)(ui nt8_tG)(hdr)+ARP_HDR_LEN);pack_arp_p-ar_hrd=ht on s()(ARP_HDR_ETH);pack_arp_p-ar_pro=hto ns()(ARP_PRO P);pack_arp_p-ar_hl n=ETH_ADDR_LEN;pack_arp_p-ar_pl n=IP_ADDR_LEN;pack_arp_p-ar_op=ht on s(op);memmove(pack_ethip_p-ar_sha,&( sha),ETH_ADDR_LEN);memmove(pack_ethip_p-ar_spa,&(spa),ETH_ADDR_LEN);memmove(pack_ethip_p-ar_tha,&(tha),ETH_ADDR_LEN);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!