毕业设计(论文)基于DPI的应用层协议解析.doc
《毕业设计(论文)基于DPI的应用层协议解析.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于DPI的应用层协议解析.doc(39页珍藏版)》请在三一办公上搜索。
1、摘要随着互联网在中国的迅速发展,全国各大网络运营商的网络规模都在不断扩张,网络结构日渐复杂,网络业务日趋丰富,网络流量高速增长,这使得网络管理的要求和难度都大大提高。因此,网络运营商需要利用协议分析对网络进行可靠、有效的监测与控制,而传统依靠端口识别的协议分析已经无法实现对协议的准确识别。在这种情况下,如何通过一种新的协议分析方法对网络进行流量控制、网络计费、内容过滤、以及流量管理,为用户提供一个良好的网络环境成为了一个热门的研究课题。首先,对应用层协议解析的研究现状和已有的检测方法进行了分析和介绍,在此基础上采用了深度包检测(DPI)技术对应用层协议解析;其次,对应用层协议解析系统的系统架构
2、及各子系统的功能做了概要介绍,同时将协议分析模块(包括HTTP分析、DHCP分析)作为核心模块详细加以说明;再次,对整个应用层协议解析做了详细设计,阐述了各个模块的设计原理及实现流程,并通过系统测试,证实了系统设计方案的可行性和正确性。最后,对研究工作进行了总结与展望,肯定了其研究意义和价值,同时也指出了系统存在的不足及今后的改进方向。关键词:深度包检测,应用层协议解析,数据包捕获函数库,超文本传输协议AbstractWith the rapid development of Internet in China, the major network operators, network siz
3、e in the ever-expanding, increasingly complex network structure, network operations are becoming increasingly rich, high-speed network traffic growth, which makes networkmanagement requirements and greatly increase thedifficulty.Therefore, network operators need to network a reliable effective monit
4、oring and control, in this case, how to protocol analysis of network flow control, network billing, content filtering, and traffic management, to provide users with a good network environment has become a hot research topic.First ,the artical has analysised on the research present situation and the
5、existing detection method on the application layer protocol analysis, and based on this, it used the depth inspection packet (DPI) technology for application layer protocolanalysis;Second, the article given an overview on the system architecture of the application layer protocol analysis system and
6、subsystem functions,and at the same time, it gaven a detailed description on the analysis of hypertext transfer protocol (HTTP: hypertext transport protocol) as the core module;Three, the article given a detailed design on the application layer protocol analysis system, described the design principl
7、es and processes of each module, and system testing, confirmed the feasibility of the system design.Finally, this paper summarized the research work and looking, ensured its significance and value, and also pointed out the shortcomings of the system and the future direction of the improvement.Keywor
8、ds:deep packet inspection, the application layer protocol analysis, libpcap, hypertext transfer protocol analysis目录摘要IABSTRACTII1 绪言1.1 课题背景及研究的目的和意义11.2深度数据包检测(DPI)国内外研究概况21.3 应用层协议概述31.4论文的组织结构112 应用层协议解析系统设计方案的研究2.1 系统需求分析132.2 基于DPI的应用层协议解析系统设计方案142.3 协议分析系统设计方案152.4 系统开发语言、工具及环境163 基于DPI的应用层协议解
9、析与设计3.1数据包捕获模块173.2 HTTP分析模块233.3 DHCP分析模块254 系统测试4.1 测试指标284.2 测试环境284.3 测试步骤及结果分析285 总结与展望30致谢31参考文献321 绪言1.1 课题背景及研究的目的和意义1.1.1 课题背景在如今Internet高速发展,网络的内容安全是网络安全的重要组成部分。对于网络管理来说,最重要的就是识别和区分网络流量,通过协议识别可以对网络进行流量控制、网络计费、内容过滤、以及流量管理。传统的协议识别采用的是端口识别,如检测到端口号为80时,则认为该应用代表着普通上网应用。这种识别能达到较高的速率,但是现在大量的应用层协议
10、为了避免识别,逃避防火墙的检查,不使用固定的端口进行通信。这不仅包括众多近年新出现的P2P协议,而且包括了越来越多的传统协议,比如BitTorrent、eMule等P2P协议,其采用动态端口进行通信;而Skype、QQ等协议则共用80端口。并且当前网络上的一些非法应用会采用隐藏或假冒端口号的方式躲避检测和监管,造成仿冒合法报文的数据流侵蚀着网络2。越来越多诸如此类协议的产生,采用L2L4层的传统检测方法已无能为力了,因此近年来很多的研究工作都致力于开发新的方法来识别应用层协议。1.1.2 课题研究的目的和意义DPI(Deep Packet Inspection,深度包检测)技术就是近年来出现的
11、一种协议识别技术。DPI技术不同于传统的协议(如图1.1)。传统报文检测仅仅分析IP包的四层以下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型。而是在在分析包头的基础上,增加了对应用层的分析,是一种基于应用层的流量检测和控制技术,当IP数据包、TCP或UDP数据流经过基于DPI技术的网络设备时,DPI引擎通过深入读取IP包载荷的内容来对OSI 7层协议中的应用层信息进行重组,从识别出IP包的应用层协议。随着对应用层协议解析的要求越来越高,对基于DPI的应用层协议解析技术的研究也变得越来越重要。图1.1 两种报文检测的区别1.2深度数据包检测(DPI)国内外研究概况深度数据包检测(D
12、PI)是一项已经在流量管理、安全和网络分析等方面获得成功的技术,同时该技术能够对网络数据包进行内容分析,但又与header或者基于元数据的数据包检测有所不同,这两种检测通常是由交换机、防火墙和入侵检测系统IPS设备来执行的。通常的DPI解决方案能够为不同的应用程序提供深度数据包检测。只针对header的处理限制了能够从数据包处理过程中看到的内容,并且不能够检测基于内容的威胁或者区分使用共同通信平台的应用程序。DPI能够检测出数据包的内容及有效负载并且能够提取出内容级别的信息,如恶意软件、具体数据和应用程序类型。随着网络运营商、互联网服务提供商(ISP)以及类似的公司越来越依赖于其网络以及网络上
13、运行的应用程序的效率,管理带宽和控制通信的复杂性以及安全的需要变得越来越重要。DPI恰好能够提供这些要求3,寻求更好的网络管理以及合规的用户企业应该把DPI作为一项重要的技术。DPI技术能够将数据包组装到网络的流量中20,23,数据处理(包括协议分类)接着可以从流量内容中提取信息,流量重组和内容提取都需要大量处理能力,尤其是在高流量的数据流中。成功的DPI技术必须能够提供基本功能,如高性能计算和对分析任务的灵活的支持。DPI的识别技术可以分为三大类:基于“特征字”的识别技术,应用层网关识别技术和行为模式识别技术。(1)基于“特征字”的识别技术1。不同的应用通常依赖于不同的协议,而不同的协议都有
14、其特殊的指纹,这些指纹可能是特定的端口、特定的字符串或者特定的Bit 序列。基于“特征字”的识别技术通过对业务流中特定数据报文中的“指纹”信息的检测以确定业务流承载的应用。根据具体检测方式的不同,基于“特征字”的识别技术又可以被分为固定位置特征字匹配、变动位置的特征匹配以及状态特征匹配三种技术。通过对“指纹”信息的升级,基于特征的识别技术可以很方便的进行功能扩展,实现对新协议的检测。(2)应用层网关识别技术。某些业务的控制流和业务流是分离的,业务流没有任何特征。这种情况下,我们就需要采用应用层网关识别技术。应用层网关需要先识别出控制流,并根据控制流的协议通过特定的应用层网关对其进行解析,从协议
15、内容中识别出相应的业务流。对于每一个协议,需要有不同的应用层网关对其进行分析。(3)行为模式识别技术。行为模式识别技术基于对终端已经实施的行为的分析,判断出用户正在进行的动作或者即将实施的动作。行为模式识别技术通常用于无法根据协议判断的业务的识别。1.3 应用层协议概述应用层(Application layer)是七层OSI模型4,5(如图1.2所示)的第七层。应用层直接和应用程序接口并提供常见的网络应用服务。下面对几种常见的应用层协议的通信过程进行简单的分析。1.3.1 HTTP协议HTTP协议6,7(hypertext transport protocol,超文本传输协议)是一个属于应用层
16、的面对对象协议,它是工作在TCP/IP协议体系的TCP(Transfer ControlProtocol, 传输控制协议)之上可靠传输,采用的是C/S(客户端/服务器)的工作模式,如图1.3所示。图1.2 OSI七层网络模型HTTP协议的通信过程如下:(1)由客户端向服务器发起建立链接的请求,请求过程通过 TCP三次握手来完成;(2)客户端继续向服务器发出请求,告知服务器自己的请求信息;(3)服务器通过响应向客户端返回其需要的信息;(4)最后通过 TCP 四次握手关闭链接,从而完成一次基本的通信过程。图1.3 HTTP工作模式图在HTTP通信过程中,HTTP 的请求报文分为请求行、请求头部和请
17、求数据三部分组成,一般格式如图 1.4 所示。请求方法空格URL空格协议版本换行符回车符换行符回车符头部字段名:值换行符回车符头部字段名:值换行符回车符实体主体(通常不用)请求头部请求数据请求行图1.4 HTTP请求报文一般格式其中请求方法是指当前 HTTP请求报文中对所请求的资源的操作类型,常用的方法8包括 GET、POST、HEAD、PUT、CONNECT、DELETE、TRACE和OPTION;URL (Uniform Resource Locator, 统一资源定位符)是统一资源定位符,用来指出请求资源的路径;请求头部说明了浏览器、服务器或者报文主体的一些信息。而HTTP 响应报文的格
18、式如图 1.5 所示。版本空格状态码空格解释状态码换行符回车符换行符回车符头部字段名:值换行符回车符头部字段名:值换行符回车符实体主体(部分响应不用)请求头部请求数据请求行图1.5 HTTP相应报文一般格式响应报文的一部分内容跟请求报文一致,不同的主要是状态码和解释状态码的短语。状态码是用来表示当服务器收到客户端的请求报文之后返回的一个响应状态,表示请求是否被理解或被满足。解释状态的短语是对前面状态码的进一步的说明。HTTP 协议有固定的状态码以及其表达的信息,分别是:1xx 表示信息类,2xx 表示成功类,3xx 表示重定向类,4xx 表示客户端错误类, 5xx 表示服务器错误类。1.3.2
19、 DHCP协议DHCP(Dynamic Host Configuration Protocol,动态主机设置协议)是TCP/IP协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。DHCP协议的通信过程如下:(1)发现阶段,即dhcp客户端寻找dhcp服务器的阶段。客户端以广播方式发送dhcp_discover报文,只有dhcp服务器才会对此响应。 (2)提供阶段,即dhcp服务器提供ip地址的阶段。dhcp服务器接收到客户端的dhcp_discover报文后,从ip地址池中挑选一个尚未分配的ip地址分配给客户端,向该客户端发送包含出租ip地址和其它设置的dhcp_offer报文。服务器
20、在发送dhcp_offer报文之前,会以广播的方式发送arp报文进行地址探测,以保证发送给客户端的ip地址的唯一性。 (3)选择阶段,即dhcp客户端选择ip地址的阶段。如果有多台dhcp服务器向该客户端发来dhcp_offer报文,客户端只接受第一个收到的dhcp_offer报文,然后以广播方式向各dhcp服务器回应dhcp_request报文,该信息中包含dhcp服务器在dhcp_offer报文中分配的ip地址。(4)确认阶段,即dhcp客户端确认所提供ip地址的阶段。客户端收到dhcp_ack确认报文后,广播arp报文,目的地址是被分配的ip地址。如果在规定的时间内没有收到回应,客户端才
21、使用此地址。DHCP协议中传输的报文由链路层头(承载链路层信息),IP头(标准IP协议头,20B),UDP头(8B)和DHCP报文四部分组成。其中DHCP报文格式如图1.6所示。其中各字段的说明如下:op:报文的操作类型,分为请求报文和响应报文,1为请求报文;2为响应报文。具体的报文类型在 option字段中标识。htype:硬件地址类型。hlen:硬件地址长度。系统目前只对以太网支持,硬件地址长度固定为 6。hops:DHCP 报文经过的 DHCP 中继的数目。DHCP 请求报文每经过一个DHCP中继,该字段就会增加 1。图1.6 DHCP报文格式xid:由客户端软件产生的随机数,用于匹配请
22、求和应答报文。secs:客户端进入 IP 地址申请进程的时间或者更新 IP 地址进程的时间;由客户端软件根据情况设定。目前没有使用,固定为 0。flags:标志字段。第一个比特为广播响应标识位,用来标识 DHCP 服务器响应报文是采用单播还是广播方式发送,0 表示采用单播方式,1 表示采用广播方式。其余比特保留不用。ciaddr:DHCP客户端的 IP地址。yiaddr:DHCP服务器分配给客户端的 IP地址。siaddr:DHCP客户端获取 IP地址等信息的服务器 IP地址。giaddr:DHCP客户端发出请求报文后经过的第一个 DHCP中继的 IP地址。chaddr:DHCP客户端的硬件地
23、址。sname:DHCP客户端获取 IP地址等信息的服务器名称。file:DHCP服务器为 DHCP客户端指定的启动配置文件名称及路径信息。options:可选变长选项字段,包含报文的类型、有效租期、DNS 服务器的IP地址、WINS服务器的 IP地址等配置信息。1.3.3 FTP协议FTP 9(File Transfer Protocol,文件传输协议)支持两种模式:(1)Standard 模式(也就是PORT,主动模式),由FTP 的客户端发送 PORT 命令到 FTP 服务器(2)Passive 模式(也就是PASV,被动模式),由 FTP 的客户端发送 PASV 命令到FTP 服务器。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 DPI 应用 协议 解析
链接地址:https://www.31ppt.com/p-3979037.html