- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Libnet 的网络协议测试系统研究与实现.doc
基于Libnet 的网络协议测试系统研究与实现
摘要:计算机网络协议测试主要包含测试集自动构造技术与测试执行系统的设计,该文介绍了网络协议测试的基本理论,网络协议测试系统的设计思路与实现方法,基于Libnet与WinPcap函数库实现一个网络协议测试系统,该系统包括测试集管理,测试例构造与测试结果管理等模块,可用于网络协议一致性测试与性能测试,最后对路由器提供的DHCP服务进行测试验证测试系统的有效性。
关键词:Libnet;协议测试;DHCP
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)32-7218-03
计算机网络在各行业的广泛应用促使许多新的协议规范被制定,在协议规范被实现后投入应用前需要进行测试,全面的网络协议测试能够保证协议实现按照协议规范稳定可靠地运行。协议测试的研究涉及了协议描述、测试生成、测试集描述法、测试实现等多个环节,在这些方面,国内外研究人员经过多年努力达成了很多共识,例如:网络协议测试类型包括一致性测试,互操作性测试,性能测试和健壮性测试[1]。测试理论的形式化方法主要包括:SDL,LOTOS,Petri网,Estelle等[2-4]。该文研究的重点是测试实现部分,介绍基于Libnet与WinPcap函数库的协议测试系统的实现方法,并结合DHCP协议进行测试从而验证测试系统的有效性。
1 协议测试技术
网络协议测试属于计算机软件测试的一个分支,在测试领域中测试方法分为3种:白盒测试、黑盒测试和灰盒测试。白盒测试通过每条语句至少执行一次来全面检查整个程序代码,而黑盒测试只测试软件外部可以观察到的行为,不涉及程序的内部结构。白盒测试的测试能力非常强,但是过程过于复杂,对被测软件要求也很高。黑盒测试只关心被测软件的输入和输出,测试能力虽然弱了些,但是测试过程本身相对简单,对被测软件要求也无特殊要求。灰盒测试是将白盒测试和黑盒测试结合起来形成的一种测试方法,吸收了两种方法的优点。在通信测试中,协议测试因为协议实现的复杂性往往采用黑盒测试,它并不检查协议代码,而是按照协议标准,通过控制观察被测协议实现或系统的外部行为对其进行评价。
协议测试中用来描述特定协议或协议族测试的实体称为测试集,它由多个测试组构成,测试组对应于此协议族的一个标准协议规范,测试例对应于一个标准协议规范的某一项功能描述,完成一个测试例可能需要不同的测试过程,一个测试过程的完成需要进行初始化、发包、收包、比较以及处理结果等步骤,每一个动作称为一个测试步,它是测试集中最小的单位。在构造用于测试协议实现的输入数据包时采用了Libnet函数库,在捕获协议实现的反馈输出数据包时采用了WinPcap函数库,Libnet与WinPcap都是免费开源的函数库,它们封装了常用繁琐的网络开发过程函数,开放出简单统一的API接口功能函数,方便用户调用,使开发人员能够忽略网络底层细节的实现,从而专注于程序本身具体功能的设计与开发。Libnet与WinPcap都是基于C语言的函数库,具备低层网络数据包操控能力。
2 测试系统总体结构
测试系统包括测试集管理,测试例构造与测试结果管理3个功能模块,系统执行测试时的顺序与测试例构造模块中构造的测试步顺序一致。在对被测系统开始测试前需要针对协议规范设计测试例,所有测试例由测试集管理模块维护,最终的测试结果生成依赖测试例的执行结果。测试例由许多测试步组成,测试步包括两种执行逻辑:激励数据包发送和反馈数据包捕获。发送的激励数据包根据被测协议的类型与数据报文的类型设定首部各字段与报文数据,它的作用是激励被测系统内部产生状态变迁并发送反馈数据包。测试系统能够实时捕获所有数据包,根据filter条件过滤后选出特定报文并与测试步匹配,根据匹配结果系统决定测试步执行状态:丢弃报文继续阻塞,定时器清零继续下一测试步或者测试完成。在测试步执行过程中设置定时器,定时器时间的指定在测试例构造中完成。测试系统的总体结构如图1所示。
3 测试系统的设计与实现
本测试系统与被测实体部署在同一个交换网络中,被测实体是特定协议的一个实现,可以位于计算机或路由器等网络设备中,通过构造特定数据包并且捕获响应报文对协议外部行为进行分析测试。关键模块包括测试例构造,数据包构造与发送,数据包捕获与过滤。
3.1 测试例构造
系统实现时在测试例的构造模块中设置了行为选项来区分发送数据包与捕获数据包,测试步间隔时间选项用于控制相邻测试步执行的时机。对于发送数据包,根据协议的类型构造数据包设置页面,在此页面中设置首部字段与数据包内容,由于libnet提供自动计算校验和功能,此页面中首部校验和字段设置为0。对于捕获数据包,设置了匹配选项与传递选项,匹配
您可能关注的文档
最近下载
- 2024年银行考试-授信业务资格笔试参考题库含答案.docx
- 2023-2024学年重庆市高二上册数学期末试卷1(人教版).docx VIP
- 园林景观施工技术交底记录大全.docx
- 期末周末作业题(含解析)2024-2025学年人教新目标(Go for it)版英语八年级上册.docx VIP
- 2024山西省农商银行招聘1340人笔试模拟试题及答案解析.docx
- 人教版2024-2025学年度第一学期七年级期末数学试卷.docx
- 可信数据空间建设及应用参考指南1.0.docx
- 2024江苏高考政治真题(原卷版).docx
- 三年级数学上册专项练习(拔高题)北师大版.pdf
- Rhino5.0&KeyShot产品设计实例教程(第2版).ppt VIP
文档评论(0)