论文部分内容阅读
近年来,随着互联网技术迅速发展和智能设备的普及,网络已经渗透到人们的生产和生活等许多方面,但同时也带来了日益突出的信息安全问题。网络安全设备作为网络互联的大门,其自身的安全性问题更是直接影响着整个网络的安全。因此对网络安全设备测试的研究具有非常重要的意义。网络发包器是对网络设备进行渗透性测试发现安全隐患的重要手段。目前存在的网络发包器只能发送固定几种协议类型的网络数据包,同时发包器速率难以保证,早已不能满足网络安全设备增长的测试需求。针对网络安全设备安全性、稳定性和协议一致性问题,本文提出了一种用户可扩展的网络安全设备测试框架,并且以Libnet和Libpcap库为基础,设计了一种用户可扩展的网络发包器。本文的主要工作如下:(1)对相关技术与理论进行论述,具体包括网络设备测试标准以及测试分类和方法、Libpcap和Libnet开源库、XML和JAXB技术。此外,对软件可扩展性技术做了详细叙述,重点对比了插件技术和代码自动生成技术,为可扩展发包器的设计与实现提供理论支撑。(2)通过研究多种网络安全设备的测试,以及对多种网络数据包生成器进行测试分析,在此基础上设计了一种用户可扩展的网络发包器框架,该框架采用上下位机开发模式。上位机交互控制模块包括人机交互输入和控制命令构造与发送两个子模块,其中人机交互输入模块包括框图选择输入和可扩展XML文档输入。下位机模拟发包模块包括控制命令接收与解析、命令处理与数据组织、数据包构造与发送和恒定速率输出四个子模块。同时设计了作为上下位机连接纽带的可扩展通信协议,以此满足各设备厂商复杂的测试要求。(3)对可扩展发包器进行相应编程实现。上位机选用JAVA语言按照上下位机通信协议构造发包命令,下位机选用C语言对通信协议进行解析并构造网络数据包,同时使用恒定速率算法保证数据包稳定发送。(4)搭建网络安全设备测试环境,对可扩展网络发包器的发包功能、可扩展性以及性能进行多方面测试。通过对实验结果、数据进行分析,证明本文设计并实现的用户可扩展网络发包器具有一定的可行性与实用性。