OpenDPI报文识别分析

文献标识码:A·网络与通信·:1000—3428(2011)增刊—0098—03:TP393OpenDPI报文识别分析魏永,周云峰,郭利超(太原卫星发射中心,太原036301)摘要:传统数据流分析方法不能实现对数据流的精细化管理。为此,介绍开源深度报文检测程序OpenDPI,研究其源代码的设计结构和功能,分析报文识别的原理和过程,解决数据流会话的有效期和多报文处理问题。分析结果表明,OpenDPI可实现对报文协议规则的动态添加与更新。关键词:OpenDPI源代码;网络管理;数据流;深度报文检测;报文识别AnalysisofMessageIdentificationforOpenDPIWEIYong,ZHOUYun-feng,GUOLi-chao(TaiyuanSatelliteLaunchCenter,Taiyuan036301,China)【Abstract】ThetraditionalInternettrafficanalysiscannotlongermeettherequirementsintheelaboratemanagementofInternettraffic.Therefore,theOpenDPIprogramofopensourceDeepPacketInspection(DPI)isintroduced.ThispaperstudiesthedesignstructureandthefunctionoftheOpenDPIcode,andanalyzestheprincipleandtheprocedureofitspacketidentification,tosolvethevalidityofthedataflowsessionandtheproblemofthemulti-messageprocessing.AnalysisresultshowsthatOpenDPIenablesmessageprotocolrulestodynamicallyaddandupdate.【Keywords】OpenDPIsourcecode;networkmanagement;datastream;DeepPacketInspection(DPI);messageidentification1概述随着网络的普及,网络上的数据急剧增加,面对海量的数据,需要区分有效数据和不良数据;网络上的应用也日趋多样化,不同的应用需要不同的服务质量(QualityofService,QoS),如语音的实时性要求远高于邮件;面对越来越多的P2P业务,占用了大量带宽,需要限制其所用带宽,以保证其他业务的运行;对于运营商,部分业务也需要根据流量进行收费。以上需求对网络管理提出了更高的要求,如何识别网络上的数据流成为网络管理的基础,传统的数据流分析方法仅仅分析IP包4层以下的内容,包括源地址、目的地址、源端口、目的端口以及传输协议类型。但针对网上越来越多的数据报文,采用传统的识别方式已不能有效的识别,如P2P通信一般采用是随机端口,迅雷的数据传输复用在业务之上等,而且这些数据所占比重越来越大,于是产生了一种新的协议识别方式,即深度报文检测(DeepPacketInspection,DPI)[1],它在传统的分析基础上,增加了对应用层有效负载的分析,可识别出各种应用业务。本文主要分析了开源深度报文检测程序OpenDPI,从其设计结构、原理、实现过程等多方面进行了深入的分析。2OpenDPI简介OpenDPI[2]作为一个开源的深度报文检测系统,自从2009.09发布1.0.0版本,得到了业界的广泛认同,目前的最新版本是2011.06发布的1.3.0版本,新版本中增加了对IPv6的支持,实现了更多的协议识别,现能分析118种协议。它根据网络协议对数据包进行分类计数,得到各协议数据包的数量、大小、协议类型等信息。OpenDPI源自商业的PACE,相对于PACE引擎,OpenDPI不支持检测加密协议,也不使用任何分类启发式和行为分析。OpenDPI相对于其他众多的深度报文检测软件,有自己率更低,它作为一个协议分析引擎,允许第三方开发者在不同的商业解决方案上编写DPI应用程序。因此,可以根据需要,修改其代码,并部署在服务器上,满足特定的需求,因而研究它具有理论和现实的意义。2.1OpenDPI的设计结构OpenDPI设计结构主要分为3个部分:(1)对用户输入的命令行进行处理,OpenDPI有2个参数-e和-f,-e用于打印DEBUG信息,-f用于制定待处理的包文件,处理完命令行以后还要对待处理的协议进行设置,OpenDPI用IPOQUE_PROTOCOL_BITMASK记录需要分析的协议类型,对需要分析的相应位进行设置。(2)包文件处理,OpenDPI调用函数pcap_loop对包文件循环处理,主要处理过程是在函数packet_processing中实现的,函数分析每个报文的应用层协议类型,记录协议类型数量和大小。(3)分析结果输出,打印分析结果,包括IP协议包数量,大小,需要检测的各应用层协议包数量、大小。2.2核心数据结构本文介绍核心的数据结构,它是程序运行的基础。(1)ipoque_id_struct:记录协议标识的结构...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

笔杆子文秘
机构认证
内容提供者

为您提供优质文档,供您参考!

确认删除?