论文部分内容阅读
目前,网络协议分析工具的种类很多,这些工具为用户提供了一个好的平台实现网络协议的学习分析,并对网络实际情况进行判断和研究。本文在当前流行的网络协议发包平台的原理和特点的基础之上,利用WinPcap,Winsock等网络编程接口实现了一个网络协议实验平台--NKPP。相比其他网络协议发包平台,NKPP具有用户界面友好、发包方式可选、支持报文种类多样、协议封装简单等特点。同时,由于NKPP能制造各种正确或错误的报文并能大量发送某种特定报文,因此在网络安全软件测试和网络协议分析中发挥了重要的作用。
本文设计了一些测试代码以及多个方案对WinPcap的发包性能进行测试。通过比较多个发包方案以及对测试结果进行分析,本文提出了一些有效的改进方案,如选择合适的编程接口或设置内核缓冲等方法来提高发包效率。NKPP平台具备使用WinPcap和Winsock两种接口发包的功能,并为用户提供了友好的用户界面。在NKPP的报文发送模块中,用户能实现常见的17种协议PDU的封装和发送,针对每一种协议PDU的特征,程序为用户也提供了相应快捷选项,即使用户对协议的标准格式不是十分熟悉,也能方便地填充协议字段并封装发送报文。在socket通信模块中,程序提供了流式和数据报套接字两种类型的发包界面,方便用户了解套接字的发包流程和通信方式,同时socket通信模块也弥补了WinPcap发包时不能快速建立连接等不足之处。NRPP在Windows操作系统下,以VC6.0为平台进行开发,本文对系统的功能和性能都进行了比较充分的测试,测试结果表明平台的功能符合设计预期的要求,运行正常,实用性较强。