论文部分内容阅读
本论文通过对TCP/IP协议、标准TCP/IP协议栈的实现以及网络应用监控相关技术的深入研究,在提高协议栈解析效率和增强协议栈安全性两个方面提出了一些方法和措施,进而实现了一种专用TCP/IP协议栈,并基于这个专用TCP/IP协议栈实现了一个监控应用SMTP发送邮件的监控系统。为进一步提高监控系统的效率,专门针对数据捕获技术进行了研究,通过实验分析指出,网卡性能和WinpCap缓冲区的大小对数据捕获率的影响较大,并对如何提高数据捕获率提出了解决的办法。 要实现一个稳定、安全和高效工作的网络应用监控系统涉及到许多方面。但最重要的就是TCP/IP协议栈的实现、数据帧的捕获两个方面。针对这种情况,本论文结合网络应用监控系统的特殊需求,摒弃了一些标准TCP/IP协议栈的代码,重新设计并实现了一个TCP/IP协议栈,该协议栈减少了被攻击的可能性。研究了IP碎片攻击的原理,重新实现了对IP分片重组的代码,杜绝了针对网络应用监控系统的分片攻击。在研究了针对应用服务器的拒绝服务攻击后,提出了一种对网络应用监控系统进行攻击的潜在的手段。这种攻击手段因其与传统的SYN Flooding攻击的区别,本论文将其称为变种SYN Flooding攻击。为预防这种攻击,本论文提出了一种可控网络环境下的基于连接峰值数的规避算法来判断和处理变种SYN Flooding攻击。 为提高应用协议SMTP的解析效率,根据TCP协议利用端口号来分用应用层协议与C++编程语言中的类的重载、继承和覆盖非常类似这一现象,本论文编写了一个适应性和扩展性都很好的保存TCP连接信息的C++基类CConnect。该基类可以通过继承的方式用于编写解析其他的应用协议类,TCP连接状态的保持采用哈希表的方式。 影响网络应用监控系统工作效率的另一个因素是数据捕获技术。影响数据捕获的原因主要有网络适配器和捕获驱动程序两个方面。一个是网卡数据缓冲区的大小。通过TCP数据报捕获实验结果说明,不同厂家的网络适配器性能差距较大。另一个是捕获驱动程序。捕获驱动程序本论文选择WinPcap。在WinPcap中,有两种缓冲区。它们的大小直接影响数据帧的捕获能力。通过实验得出,在高数据速率情况下,不同的缓冲区容量,WinPcap的数据捕获率是不同的。通过反复试