(通信与信息系统专业论文)基于关键词匹配的应用识别与跟踪.pdf_第1页
(通信与信息系统专业论文)基于关键词匹配的应用识别与跟踪.pdf_第2页
(通信与信息系统专业论文)基于关键词匹配的应用识别与跟踪.pdf_第3页
(通信与信息系统专业论文)基于关键词匹配的应用识别与跟踪.pdf_第4页
(通信与信息系统专业论文)基于关键词匹配的应用识别与跟踪.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

(通信与信息系统专业论文)基于关键词匹配的应用识别与跟踪.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中文摘要 基于关键词匹配的应用识别与跟踪 专业:通信与信息系统 硕士生:蔡巧琳 指导老师:李宁副教授 摘要 当前,随着网络上低层防御措施的加强,以往通常发生在低层的攻击,如分 布式拒绝服务( d i s t r i b u t e dd e n i a lo f s e r v i c e ,d d o s ) 攻击等,逐渐向应用层转移, 以高层服务器资源作为攻击目标。越来越多的网络攻击和病毒都出现在应用层, 因而在应用层级别上加强对网络的防护就成为了当务之急。在这种情况下,一项 创新的网络数据包检测技术便应运而生深度包检测技术d p i ( d e e pp a c k e t i n s p e c t i o n ) ,它采用状态监测和应用检测结合的方式,通过特征字符串的匹配, 以处理应用程序在网络中产生的流量。 本课题是国家8 6 3 项目“基于应用行为规范的网络主动实时防护系统 的一 个子课题,采用深度包检测原理,深入分析已知的常用应用层协议,如h t r p 协 议、f t p 协议、p o p 3 协议和s m t p 协议等,通过抓包软件w i r e s h a r k 等工具解 剖数据包,提取收集协议特征关键词,在l i n u x 的l 7 f i l t e r - u s e r s p a c e 平台上使用 多模式字符匹配算法来检测数据流中的关键词关键特征,识别数据流的应用; 在识别的基础上,跟踪数据流的状态,并对各个关键词间转移的时间间隔及字节 长度等进行统计,从而能够迅速检测出应用的异常行为,不再需要人工从海量的 数据中,判断是否存在攻击和威胁。 实验结果表明,本文设计的系统可以识别出h t t p 协议、f t p 协议、p o p 3 协议和s m t p 协议等的数据包,准确有效地检测数据包所包含的关键词关键特 征,把检测结果作为对应用会话过程的观测值,从而达到检测用户行为,发现有 害网络行为的目标。 关键词:应用层协议关键词关键特征a c 算法l 7 - f i l t e r - u s e r s p a c e 英文摘要 k e y w o r d - m a t c h i n gb a s e di d e n t i f i c a t i o na n dt r a c k i n go f a p p l i c a t i o np r o t o c o l s m a j o r : c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m n a m e : q i a o l i nc a i s u p e r v i s o r :a s s o c i a t ep r o f e s s o rn i n gl i a bs t r a c t n o w a d a y s ,a st h en e t w o r kl o w e r - l a y e rd e f e n s em e a s u r es t r e n g t h e n e d ,t h ea t t a c k s w h i c hu s u a l l yo c c u r e di nl o w e r - l a y e ri nt h ep a s t ,s u c ha sd d o s ( d i s t r i b u t e dd e n i a lo f s e r v i c e ) a a a c k s ,g r a d u a l l yt r a n s f e r r e dt ot h ea p p l i c a t i o nl a y e ra n dt o o kh i g h l e v e l s e r v e rr e s o u r c e sa st h ea t t a c kt a r g e t s m o r ea n dm o r en e t w o r ka t t a c k sa n dv i r u s e s o c c u ri nt h ea p p l i c a t i o nl a y e r a sar e s u l t ,i th a sb e c o m eat o pp r i o r i t yt os t r e n g t h e n p r o t e c t i o nf o rt h en e t w o r ki nt h e l e v e lo fa p p l i c a t i o nl a y e r i ns u c hc a s e s ,a n i n n o v a t i v en e t w o r k p a c k e t d e t e c t i o n t e c h n o l o g ye m e r g e s b e c a u s eo ft h e d e m a n d s - - - - - d p i ( d e e pp a c k e ti n s p e c t i o n ) ,w h i c hi si n t e g r a t e db ys t a t em o n i t o r i n g a n da p p l i c a t i o nd e t e c t i n g t oal a r g ee x t e n t ,i td e p e n d so nt h ec h a r a c t e r i s t i c ss t r i n g m a t c h i n gi no r d e rt od e a lw i t ht h ef l o wo fa p p l i c a t i o n s t h i sr e s e a r c ht o p i ci sas u b i s s u eo ft h en a t i o n a l8 6 3p r o g r a m “a na c t i v e r e a l - t i m en e t w o r kp r o t e c t i o ns y s t e mb a s e do nn o r ma p p l i c a t i o nb e h a v i o r t h i sp a p e r u s e st h ed p i p r i n c i p l et oa n a l y s et h ec o m m o n - u s e da p p l i c a t i o nl a y e rp r o t o c o l si n d e p t h ,s u c ha sh t t pp r o t o c o l ,f t pp r o t o c o la n dp o p 3p r o t o c o le t c w i t ht h e w i r e s h a r kt o o ld i s s e c t i n gp a c k e t s ,i te x t r a c t sa n dc o l l e c t st h ec h a r a c t e r i s t i ck e y w o r d s o fp r o t o c o l s ,a n du s e sm u l t i m o d em a t c h i n ga l g o r i t h mt od e t e c tk e y w o r d k e yf e a t u r e s o fd a t af l o wo nt h ep l a t f o r mo fl 7 一f i l t e r - u s e r s p a c ei nal i n u xs y s t e m ,i no r d e rt o i d e n t i f yt h ea p p l i c a t i o no fd a t af l o w b a s e do nt h ei d e n t i f i c a t i o n ,i tt r a c e st h es t a t u so f d a t af l o w ,a n dc a l c u l a t e ss t a t i s t i c so ft r a n s f e rt i m ei n t e r v a la n db y t e l e n g t hb e t w e e n k e y w o r d s ,w h i c hc a nq u i c k l yd e t e c ta b n o r m a lb e h a v i o ro ft h ea p p l i c a t i o n ,e l i m i n a t i n g t h en e e df o ra r t i f i c i a l l yd e t e r m i n a t i o no ft h ee x i s t e n c eo fa t t a c k sa n dt h r e a t sf r o m m a s sd a t a e x p e r i m e n t a lr e s u l t ss h o wt h a tt h es y s t e md e s i g n e db yt h i sp a p e rc a ni d e n t i f y p a c k e t so fh t t pp r o t o c o l ,f t pp r o t o c o la n dp o p 3p r o t o c o le t c i tc a na c c u r a t e l ya n d e f f e c t i v e l yd e t e c tt h ek e y w o r d k e yf e a t u r e so fd a t ap a c k e t sa n dt a k et h ed e t e c t i o n r e s u l t sa st h eo b s e r v a t i o no fa p p l i c a t i o nc o n v e r s a t i o np r o c e s s ,t h u sm e e t i n gt h eg o a l s o fr e g u l a t i n gi n d i v i d u a lu s e rb e h a v i o ra n dp r e v e n t i n gh a r m f u ln e t w o r kb e h a v i o r k e yw o r d s :a p p l i c a t i o n l a y e rp r o t o c o l ,k e y w o r d k e yf e a t u r e s ,a h o - c o r a s i c k a l g o r i t h m ,l 7 一f i l t e r - u s e r s p a c e 本人郑重声明: 原创性声明 所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成 果。除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表 或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体,均已在文中以 明确方式标明。本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:赫嘞砑 日期:如d 7 年r 月d 乒目 学位论文使用授权声明 本人完全了解中山大学有关保留、使用学位论文的规定,即:学校有权保留 学位论文并向国家主管部门或其指定机构送交论文的电子版和纸质版,有权将学 位论文用于非赢利目的的少量复制并允许论文进入学校图书馆、院系资料室被查 阅,有权将学位论文的内容编入有关数据库进行检索,可以采用复印、缩印或其 他方法保存学位论文。 学位论文作者签名:耆b 弓伟卜 日期:冲,月狮 聊躲聋子 嗍:呷朋冲日 中山大学碰学位论空蓦十关键目配的应用识别与跟踪 第1 章绪论 1 1 课题研究的背景与意义 1 9 6 9 年,a r p a n e t 的u c l a 第一节点与斯坦福研究院第二节点的连通,标 志着互联网络的正式诞生。经过4 0 年的发展,如今的互联网已成为人们生活和 工作的重要组成部分。当前政府、银行、企业等都在组建和发展自己的网络,并 且连接到h 联网,实现自己的核心业务以及充分共享、利用互联网的信息资源。 网络逐渐成为这些用户完成相关业务的不可或缺的重要手段,但随着网络的发 展,也产生了各种各样的问题,其中网络安全问题尤为突出。网页篡改、系统非 法入侵、网站欺骗、数据泄密、计算机病毒、服务瘫痪、漏洞非法利用等网络安 全事故时有发生,给企业用户造成重大经济损失。图1 1 是2 0 0 8 年c s i ( c o m p u t e r s e c u r i t yi n s t i t u t e ) 统计的由于外部入侵而造成损失的用户比例: f i g u r e l2 :p e r c e n t a g e o fl o s s e s d u e t o i n s i d e r 幽1 - lc s i 统计的外部入侵造成损失的h j 户比例”1 由图1 1 可看出,高达5 1 的受访者遭受的损失都是由网络外部入侵所造成 的,因此,了解网络面临的各种威胁,防范和消除这些威胁,实现真正的网络安 全已成为刚络发展中最重要的事情,而如何对网络进行有效防护也成为了计算机 网络通信的重要研究课题之一。 随着低层防御措施的加强,以往通常发生在低层的攻击,如使用s y n a c k 、 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 u d p 和i c m p 泛洪攻击的分布式拒绝服务( d i s t r i b u t e dd e n i a lo fs e r v i c e ,d d o s ) 攻击等,逐渐向应用层转移,以高层服务器资源作为攻击目标。由表1 1c s i 统 计的网络安全事故类型可以观察到传统的d o s 攻击所占比例逐年下降,而在 2 0 0 7 年开始出现了新类型僵尸网络( b o t n e t ) 。越来越多的网络攻击和病毒都 出现在应用层,因而在应用层级别上加强对网络的防护就成为了当务之急。 表1 1c s i 统计的网络安全事故类型1 1 t a b l e2 0 0 42 0 0 5 2 0 0 62 0 0 72 0 0 8 d e n i a lo f 3 9 3 2 2 5 2 5 2 1 s e r v i c e u n a u t h o r i z e d 3 7 3 2 3 2 2 5 2 9 a c e s s v i r u s 7 8 7 4 6 5 5 2 5 0 b o t s 2 1 2 0 d n sa t t a c k s6 8 在这种情况下,一项创新的网络数据包检测技术便应运而生深度包检测 技术d p i ( d e e pp a c k e ti n s p e c t i o n ) ,它是由状态监测和应用检测结合起来,很大程 度上依赖于特征字符串的匹配,以处理应用程序的流量。深度检测防火墙能够对 数据流量迅速完成网络层级别的分析,并作出访问控制决定;对于允许的数据流, 根据应用层级别的信息,对负载作出进一步的决策,防范目标系统免受各种复杂 的攻击。 虽然目前应用层关键词匹配已有部分实现,但仍存在着不足,而且未能达到 对于关键词之间转移状态的跟踪,因此基于关键词匹配的应用识别和跟踪是有很 大的研究意义的。因此,本文采用深度包检测原理,分析已知的常用应用层协议, 通过抓包软件等工具解剖数据包,提取收集协议特征关键词,使用多模式字符匹 配算法来检测数据流中的关键词关键特征,识别数据流的应用;在识别的基础 上,跟踪数据流的状态,并对各个关键词间转移的时间间隔及字节长度等进行统 计,从而能够迅速检测出应用的异常行为,不再需要人工从海量的数据中,判断 是否存在攻击和威胁。此外本文对于异常数据分组并不是采用阻止、过滤或者丢 弃等强硬控制措施,而是采取降低其优先等级的软控制措施,这也是本文的一个 创新点。 2 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 1 2网络安全防护技术发展现状及趋势 目前,现有的网络安全防护技术主要有以下几种: 1 防火墙v p n :允许阻止特定业务、v p n ( 虚拟专用网) 访问控制; 2 网关反病毒:扫描过往流量中的病毒、垃圾邮件、间谍软件、恶意软件、 钓鱼软件、内容过滤; 3 入侵检测防御:检测对主机或者网络有害的特征和协议异常; 4 网络访问控制:检查主机和系统的标识和完整性,将可能的危害杜绝在 接入网络之前。 另一类网络防护技术是蜜罐技术,它通过吸引可能的攻击,达到隐藏重要主 机并捕获攻击的目的。 然而现有的网络防护技术的不足是缺乏对应用层行为的了解,仅仅局限于检 测应用层内容的有害特征、协议的滥用和与正常历史的异常偏离,还不能实际了 解应用层正在发生的事情,并将所了解的信息用于网络防护策略。 但对应用行为的了解和发展对应用行为进行规范的措施是网络安全技术面 临的一个新挑战。现有6 0 0 多种网络协议、2 0 0 0 多种网络应用,各种新应用更是 层出不穷。目前还没有能够有效地对这些已知应用以及将来可能出现的新应用进 行自动分类、自动识别、自动分析和自动控制的方法。因此,发展一种能够了解 应用的过程和群体行为的通用方法,以及相应的在网络各个层次上对应用行为进 行规范的措施,将成为提高网络防护系统的适应性和有效性的关键技术问题。 1 3 深度包检测技术 随着网络技术的飞速发展以及针对网络应用层的病毒、黑客入侵和漏洞攻 击的不断爆发,应用层的数据安全也越来越受到人们的重视。数据包检测技术正 在从状态检测向深度包检测转变,即对数据包检查已经不再只限于网络层与传输 层,对数据包内容的检查将是未来安全检测技术的重要手段。深度包检测技术可 视为入侵检澳l j ( i n t r u s i o nd e t e c t i o n ) 和入侵阻止( i n t r u s i o np r e v e n t i o n ) 的整合。所谓 “深度是和普通的报文分析层次相比较而言的,普通报文检测仅分析i p 包的 四层以下内容,包括源地址、目的地址、源端口、目的端口以及协议类型,而深 3 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 度包检测除了对前面的层次分析外,还增加了应用层分析,识别各种应用及其内 容【2 1 。 深度包检测引擎以基于指纹匹配、启发式技术、异常检测以及统计学分析 等技术来决定如何处理数据包。深度包检测技术能成功解决普遍存在的拒绝服务 攻击( d d o s ) 、病毒传播和高级应用入侵等问题,代表着新一代主流防火墙的发 展方向【3 1 。运用深度包检测技术的防火墙能够防范恶意数据攻击,能识别恶意数 据流量,并有效地阻断恶意数据攻击,解决s y nf l o o d i n g 、l a n da t t a c k 、u d p f l o o d i n g 、f r a g g l ea t t a c k 、p i n gf l o o d i n g 、u n r e a c h a b l eh o s t 等攻击,有效地切断 恶意病毒或木马的流量攻击;能防范黑客攻击,识别黑客的恶意扫描【4 】。 c i s c o 以及其他一些厂商观察到深度包检测技术如今在网络上得到广泛应 用,于是提出一个观点“深度包检测技术将会被应用到a s i c 中,从而引起a s i c 的修改 。事实上,c i s c o 已经把基于正则表达式匹配的深度包检测技术集成到 自身的i o s ( i n t e r n e t w o r k i n go p e r a t i n gs y s t e m ) 中。一些需要运用深度包检测技术 的应用如下所示【5 】: 1 网络入侵检测和入侵阻止系统。它们通常检测分组的头部以及负载部 分,从中识别出常见安全威胁的已知特征。 2 七层的交换机以及防火墙。它们提供基于内容的过滤、负载均衡、身份 认证以及网络监测。比如,在数据中心的面向应用的w e b 交换机提供可扩展的、 透明的负载均衡服务。 3 基于内容的流量管理和路由。在根据分组中数据类型的基础上,它们可 以用来区分不同的流量类别。 1 4 研究的目的和意义 本课题是8 6 3 项目“基于应用行为规范的网络主动实时防护系统”的一个子 课题。本课题的目标是对目前已知的常用应用层协议进行识别和跟踪。通过对数 据分组的深度解析,根据应用层协议的关键词关键特征来识别应用;在识别的 基础上,跟踪数据流的状态,监测应用过程中的状态变化,从而识别和纠j 下偏离 正常的用户行为,规范个体用户的行为。 本文的研究意义在于,通过对已知的常用应用层协议的识别和跟踪可以发现 4 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 协议正常应用的规律和特征,从而规范应用层协议的用户行为,来保持网络正常 运行秩序,防范相关的网络攻击特别是未知的网络攻击。 1 5 本文的主要内容和安排 本文对目前最为常用的几种应用层协议如h t t p 协议、f t p 协议、p o p 3 协议 和s m t p 协议进行深入的学习,并通过抓包软件对这几类协议的数据分组进行分 析,从而收集了协议相应的关键词关键特征;同时还深入研究了l i n u x 平台下 l 7 f i l t e r - u s e r s p a c e 的实现原理以及i p t a b l e s 的使用方法,在此基础上运用多模式字 符匹配算法a h o c o r a s i c k 算法设计并实现了一个基于关键词匹配的应用识 别与跟踪系统。具体内容安排如下: 第1 章为绪论,主要介绍本文的研究背景,网络安全防护技术发展现状及趋 势、深度包检测技术、本文研究的目的和意义,以及论文的安排。 第2 章主要分析几种目前最为常用的应用层协议:h t t p 协议、f t p 协议、p o p 3 协议和s m t p 协议。 第3 章介绍深度包检测技术的基础和工作原理,研究l 7 f i l t e r - u s e r s p a c e 的实现 原理,l i n u x 内核 i p t a b l e s 模块的原理和使用方法以及多模式字符匹配算法。 第4 章是系统的设计与实现过程。收集以上几种协议的关键词关键词特征, 运用字符匹配算法从数据分组载荷中检测出关键词关键特征,对各关键词问转 移的状态、时间间隔及字节长度等进行统计,从而识别应用并跟踪其数据流状态。 第5 章在l i n u x 环境下,通过l 7 f i l t e r - u s e r s p a c e 和i p t a b l e s 对本文设计的应用识 别和跟踪方案进行具体实验测试,并统计实验数据。 第6 章是总结和展望,对全文进行总结并指出进一步研究的方向。 5 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 第2 章几种常用应用层协议分析 据统计,目前已有6 0 0 多种网络协议、2 0 0 0 多种网络应用。由于本文的篇 幅所限,在此仅就最为常用的几种应用层协议进行分析浏览类协议的h t t p 协议、文件传输类协议的f t p 协议以及电子邮件类协议的p o p 3 协议和s m t p 协议。系统的具体实现工作也主要是针对这几种协议展开。 2 1 h t t p 协议分析 2 1 1 h t t p 协议概述 万维网w w w ( w o r l dw i d ew e b ) 发源于欧洲日内瓦量子物理实验室c e r n , 正是w w w 技术的出现使得因特网得以超乎想象的速度迅猛发展。这项基于 t c p i p 的技术在短短的十年时间内迅速成为已经发展了几十年的i n t e r n e t 上规模 最大的信息系统,它的成功归结于它的简单、实用。在w w w 的背后有一系列 的协议和标准支持它完成如此出色的工作,这就是w e b 协议族,其中就包括 h t t p ( h y p e r t e x tt r a n s f e rp r o t o c 0 1 ) 超文本传输协议1 6 j 。 h t t p 协议在1 9 9 0 年由w w w 之父t i mb e m e r s l e e 提出,时至今日,一共 经历了0 9 、1 0 和1 1 三个阶段。0 9 协议是适用于各种数据信息的简洁快速协 议,包含s i m p l e r e q u e s t & s i m p l e r e s p o n s e d 的报文结构,但由于客户端和服务 器无法进行内容协商,故信息的交换仅仅限于文字,对于图片是无法显示和处理 的,这使得0 9 版本远不能满足日益发展的各种应用的需要。于是1 9 9 6 年发布 了h t t p 1 0 组件实现方案基础的国际评议规范请求,即r f c l 9 4 5 。1 0 版本出 现一个重大进步支持多种内容的形式,对应的就是常说的m e t a 类型,现 在网页上丰富多彩的应用,如图片、音频、视频等等,就是在此版本中规定的。 h t t p 1 0 特点是简单、易于管理,于是得到了广泛应用,但它仍存在以下缺点: 对用户请求响应慢、网络拥塞严重、安全性不够强等【_ 7 1 。为解决这些问题,人们 对h t t p 1 0 进行升级,h t t p 1 1 的草案标准r f c 2 6 1 2 于1 9 9 9 年发布,正式的 标准于2 0 0 1 年问世。h t t p 1 1 改变早期版本的每次连接只处理一个请求的模 6 中山 学硕士学位论空基十关键目匹配的心用识剐与跟踪 式,采用的是持久连接,即一旦客户打开了和特定服务器的连接,客户就让该连 接在多个请求和响应的过程中一直存在。当客户或服务器准备关闭连接时,则通 知另一端,然后关闭该连接。其中还使用了流水线技术,也就是在逐个地发送n 个请求信息时,不必等待响应。采用流水线方式可大大节省单独请求对响应的等 待时间,从而得到更快速的浏览。此外li 版本还定义了较为复杂的头部来解决 缓冲等问题,引入了多样的操作方法和明确的层次化中介机制。总而言之, h t t p 1l 在早期版本基础上有了很大改进,足一大研究热点。 2 1 2i t t y p 协议工作过程及连接方式 h 丌p 协议是t c p 以p 盯r a n s f e rc o n t r o lp r o t o e o l i n t e m e tp r o t o c 0 1 ) 协议簇中的 应用层协议即工作在i s o o s i 定义的7 层参考模型的应用层,它是一个通用的、 无状态的、面向对象的协议使用可靠的t c p 连接默认端口是8 0 。它采用 c s ( c l i e n t s c f v e r ,客户服务器) 工作模式。在该模式中,信息资源以w e b 页面 形式存储在w e b 服务器( s c r v o r ) 中,用户鹰询信息时执行一个简竹的客户端程序 ( c l i e n t ,电称为浏览器b r o w s e r 程序1 。c l i e n t 与s e r v e r 连接时,先是双方建立起 个t c p 连接,然后c l i e n t 向s 目v c r 发出清求,s e r v e r 根据c l i e n t 的请求内容 将保存的某个页面返回给c l i e n t ,c l i e n t 接收到页 h - 后对其进行解释,将图片、 文字、声音等画面呈现在用户面前,最后c l i e n t 与s e r v e r 断开连接。上述传输过 程基本上就足一次h t t p 协议工作过程【8 1 ,具体如图2 1 所示。h t t p 的这种简 单特性,对于在小型、低速的桌面计算机上实行客户j l l t 务器系统来说是快捷有 效的。 客户端 服务器 中山大学硕士学位论文一基于关键词匹配的应用识别与跟踪 对于连接方式,h t t p 给出了三种方案: 1 点对点的直连方式,客户端程序直接和w e b 服务器连接,发出请求。服 务器监听网络上的请求,一旦有请求到达,就建立新的线程处理请求,并将应答 内容传送给客户端。这种方式服务器的响应速度快,但在实际中较少使用。 2 引入了中间件代理服务器:客户端向代理服务器发出申请,代理服 务器再以客户端身份向w e b 服务器发送申请。w e b 服务器将应答内容传送至代 理服务器,再由代理服务器转发给客户端。代理服务器又可分为安全代理和缓存 代理两种。通过代理服务器可以有效地提高响应速度,减轻网络负载,节省上网 费用。 3 此种方式也涉及到中间件,称为隧道( t u n n e l ) 。隧道与代理服务器不同, 它只是介于客户端与服务器之间负责转发请求和响应的一种机制,通常用在非 t c p i p 的网络环境中传送h t t p 数据包【9 】。 2 1 3h t t p 协议的消息结构分析 为了在客户端与服务器之间交换信息,完成传输过程,h t t p 定义了一套完 整的消息结构。消息分为两类:客户方发出的请求消息以及服务器发出的应答消 息,这两者都依据制定传输类体( 亦即消息载体) 的r f c 8 2 2 规范中规定的通用消 息格式具体实施。通用格式如下( 其中“ 表示注释,“宰”表示可出现若干次, “? ”表示或者) : g e n e r i c m e s s a g e = s t a r t l i n e开始行s t a r t - l i n e = r e q u e s t - l i n e ? s t a t u s l i n e 木( m e s s a g e - h e a d e rc r l f ) c r l f c r l f 表示回车换行 m e s s a g e b o d y 解释:消息头域( m e s s a g e - h e a d e r ) 包括通用头( g e n e r a l - h e a d e r ) 、请求头 ( r e q u e s t h e a d e r ) 、响应头( r e s p o n s e h e a d e r ) 和实体头( e n t i t y - h e a d e r ) 四种类型。每个 头域由域名( 大小写无关) ,冒号( :) 和域值三部分组成,即 m e s s a g e h e a d e r = f i e l d n a m e : f i e l d - v a l u e 】 消息头域的内容主要为关于消息的消,自l , ( m e t a m e s s a g e ) ,如消息体数据的类 型、长度、有效日期等。简单的示例如:a c c e p t :t e x t h t m l 表示可接受文本文 8 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 件中的h t m l 类型文件;c o n t e n t - l e n g t h :1 4 5 卜表示消息体的数据长度为1 4 5 6 字节。这些信息对于接收方的处理来说是很重要的【9 】。 消息体( m e s s a g e - b o d y ) 是用来传递与请求或者响应相关的实体( e n t i t y ) 的。当 使用了传递编码时,消息体是经过编码( t r a n s f e r - c o d i n g ) 的实体;当未使用传递编 码时,消息体就是实体本身。传递编码主要是用来增强保密性或让支持这种编码 的接收者能正确接收。 1 客户端的请求消息( h t t pr e q u e s th e a d e r si n f o r m a t i o n ) 请求消息的格式为:请求行( 包括请求方法、u r l 、协议版本号) 、消息头( 包 括通用头、请求头、实体头) 、空白行、实体主体。具体如图2 2 所示: 图2 - 2 请求消息格式1 0 1 其中u r l ( u n i f o r mr e s o u r c el o c a t i o n ,统一资源定位符) 是请求消息中最重 要的参数,它向服务器指示用户所需要的请求资源和资源的位置。u r l 格式如 下: : m e t h o d 是传输协议名称,通过它可以区分申请服务的类型,常用的协议 有h t t p 、f t p 、t e l n e t 、m a i l t o 等。h o s t 指向消息所在的主机,它既可 以是域名,也可以是i p 地址。p o r t 指定了与主机建立连接时的端口,当使用 h t t p 协议的默认端口8 0 时可省略端口号。p a t h 和f i l e 用来确定资源在主机 中的位置。 9 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 请求消息的b n f 格式如下所示: r e q u e s t - l i n e 木( g e n e r a l h e a d e r ? r e q u e s t - h e a d e r ? e n t i t y - h e a d e r ) c r l f l b m e s s a g e b o d y 其中r e q u e s t l i n e = m e t h o ds pr e q u e s t - u r ls ph t t p - v e r s i o nc r l f ( s p 指空 格) ;m e m o d = o p t i o n s ? g e t ? h e a d ? p u t ? d e l e t e ? t r a c e ? e x t e n s i o n m e t h o d 一一 请求行中的方法是区分大小写的,它规定了w w w 服务器对r e q u e s t u r l 指定的资源进行的动作,最常用的方法为g e t 、h e a d 和p o s t 。 g e t :以实体方式得到由请求u r l 所指定资源的信息; h e a d :与g e t 几乎一样,区别在于h e a d 不让服务器在回应中返回任何 实体; p o s t :用来向目的服务器发出请求,要求它接受被附在请求后的实体,并 把它当作请求队列中请求u r l 所指定资源的附加新子项。 2 w e b 服务器的应答消,g ( h t t pr e s p o n s eh e a d e r si n f o r m a t i o n ) 应答消息的格式为:状态行( 包括协议版本号、状态码、描述码) 、消息头( 包 括通用头、响应头、实体头) 、空白行、实体主体。具体如图2 。3 所示: 图2 - 3 应答消息格式f l o 】 l o 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 应答消息的b n f 格式如下: s t a t u s l i n e 奉( g e n e r a l h e a d e r ? r e s p o n s e - h e a d e r ? e n t i t y - h e a d e r ) c r l f 【m e s s a g e - b o d y 其中s t a t u s l i n e = h t t p v e r s i o ns ps t a t u s c o d es pr e a s o n p h r a s ec r l f 状态码( s t a t u s c o d e ) 为一个三位数字的数值,表示服务方对客户请求进行处 理所得的结果状态;描述码( r e a s o n p h r a s e ) 对这个状态码进行更详细的描述。消 息l x x ( x 指0 到f 的十六进制数) 用于表示临时回应,临时回应由状态行及可选标 题组成,由空行终止;成功2 x x :表示客户端请求被成功接收、理解、接受;重 定向3 x x :表示用户代理要想完成请求,还需要发出进一步的操作:客户端错误 4 x x :表示请求有语法错误或不能被执行;服务器错误5 x x :表示服务器发生错 误,不能完成一个显然有效的请求。 3 四类消。g 头域( m e s s a g e h e a d e r ) 耄) r 1 1 】 1 ) 通用头域:包含请求和响应消息都支持的头域,包含c a c h e c o n t r o l 、 c o n n e c t i o n 、d a t e 、p r a g m a 、t r a n s f e r - e n c o d i n g 、u p g r a d e 、v i a 等。对通用头域 的扩展要求通讯双方都支持此扩展,如果存在不支持的通用头域,一般将会作为 实体头域处理。下面简单介绍几个常用的通用头域: c a c h e c o n t r o l :指定请求和响应遵循的缓存机制; c o n n e c t i o n :允许发送端为特定的连接指定选项,并且在进一步的连接中不 得通过代理进行通信; d a t e :表示消息发送的时间,时间描述格式由r f c 8 2 2 定义,所描述的时间 为世界标准时; p r a g m a 用来包含实现特定的指令,最常用的是p r a g m a :n o c a c h e ,在 h t t p 1 1 协议中,它的含义和c a c h e c o n t r o l :n o c a c h e 相同; t r a n s f e r - e n c o d i n g :表明消息体是经过何种编码转换,从而使得消息能在收 发双方间安全传输。 2 ) 请求头域:允许客户传递关于请求和客户自身的特点信息到服务器端。 下面简单介绍几种请求头域: a c c e p t :定义请求端可接收的响应信息的m i m e 数据媒体类型,由类型子 中山大学硕士学位论文一基于关键词匹配的应用识别与跟踪 类型组成; a c c e p t c h a r s e t :定义请求端可接收的响应消息的字符集类型; a c c e p t e n c o d i n g :定义请求端可接收的响应消息的m i m e 数据内容编码方 式; a c c e p t l a n g u a g e :定义请求端可接收的响应消息的首选自然语言类型; a u t h o r i z a t i o n :定义在服务器端认证用户代理( 浏览器) 的认证信息; h o s t :指定请求资源的i n t e r n e t 主机和端口号; u s e r - a g e n t :发出请求的用户信息,列出操作系统和浏览器的名称和版本。 3 ) 响应头域:允许在响应消息中存放与响应有关的而又不能在状态行中存 放的附加信息。这些信息主要是关于服务器和对由请求u r l 指定的服务器源端 的进一步访问的。其中,不能识别的响应头域被处理做实体头域。下面介绍几个 常用响应头域: a c c e p t r a n g e s :允许服务器表明对于请求可接受的范围是多少; a g e :反映了应答从源服务器发出后,在每一级c a c h e 中的停留时间和中间 每一级的网络时延,即应答的寿命; e t a g :根据客户请求产生的标签; l o c a t i o n :用于重定向接收者到一个新u r l 地址; s e r v e r :包含处理请求的原始服务器的软件信息,此域能包含多个产品标识 和注释,产品标识一般按照重要性排序; v a r y :服务器使用此字段来表明响应实体是服务器端根据具体的请求从不同 版本的有效响应缓存中选择出的最合适的响应。 4 ) 实体头域:包含关于实体的原信息。以下是几个常用的实体头域: a l l o w :指明了请求u r l 源端支持的方法( m e t h o d ) ; c o n t e n t e n c o d i n g :定义实体的内容编码; c o n t e n t l a n g u a g e :接收方接收使用何种自然语言来识别实体; c o n t e n t l e n g t h :实体的长度; c o n t e n t t y p e :实体的数据媒体类型用类型子类型表示; e x p i r e s :确定应该在什么时候认为文档已经过期,从而不再缓存它; l a s t m o d i f i e d :文件最后更新的时问。 1 2 中山大学硕士学位论文基于关键词匹配的应用识别与跟踪 2 2f t p 协议分析 2 2 1f t p 协议概述和工作原理 f t p ( f i l et r a n s f e rp r o t o c 0 1 ) 文件传输协议在1 9 7 1 年由a k b h u s h a n 提出1 1 2 , 最初是作为a r p a n e t 网络中计算机间进行文件传输所采用的协议,是由t c p i p 提供的标准机制,经过几十年的发展,现今f t p 已经成为使用最广泛的i n t e r n e t 服务之一。它作为一种通用的,具有一定安全性的并且作为移动数据的传输机制, 允许用户向服务器提供凭证,然后就可以列出文件夹并双向传输文件。f t p 允许 在客户机与f t p 服务器之间以及两个其他远程机器之间创建并且传输文件【1 3 1 。 f t p - v 作在应用层,使用的是t c p 传输,这说明客户和服务器在建立连接前 要经过一个“三次握手”的过程,保证客户与服务器之间的连接是可靠的,而且是 面向连接的,从而可以提供可靠的数据传输服务。利用f t p 程序,用户不用真正 登录到自己想要存取的计算机上成为完全用户就可以访问远程资源,以文件操作 方式( 如文件的增、删、改、查、传送等) 与另一主机相互通信,从而实现用户往 返传输文件、目录管理以及访问电子邮件等等,即使双方计算机可能配有不同的 操作系统和文件存储方式1 1

温馨提示

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

评论

0/150

提交评论