论文部分内容阅读
随着互联网和计算机技术的发展,网络正进入社会生活的各个方面,但随之而来的各种问题也逐渐引起人们的重视。各种网络安全威胁,网络中的异常流量都给网络的正常运行带来了很大的麻烦。因此,研究开发监测网络流量中这些异常情况的软件已成为计算机网络安全研究领域的一项重大课题。 本文首先对各种网络安全威胁的现状和发展趋势进行讨论,之后综述了目前主要的应对网络安全威胁的防范措施。然后文章重点讨论网络安全防范措施中的网络流量主动监控技术。在对几个著名的网络流量监控系统、入侵检测系统的设计做观察分析后,本文提出一个设计良好的网络流量监测系统需要具备的几个特征:对高速流量的监测的高效性,功能模块的清晰划分,良好的扩展能力。 利用对网络流量监测技术现状的研究和分析结果,本文展现了一个运行于Linux内核的网络流量监测系统,它完成流量监测的基本任务,向上层应用模块提供二次开发接口。在介绍了系统的整体结构后,文章描述了系统向上层应用开发提供的功能,之后分别讨论系统的核心模块KMonitor的各个功能模块的功能和实现思想,它们分别是截包模块、超时管理模块、分片处理模块、连接管理模块、事件管理模块、统计模块、过滤模块和通讯模块。 文章重点讨论KMonitor的两个功能模块:连接管理模块和过滤模块。在连接管理模块部分,文章讨论了传输层连接的管理操作如查找、插入、超时处理实现的细节,在介绍了连接相关的数据结构后阐述了实现各种操作的思想和算法。在过滤模块部分文章先介绍了过滤机制实现的基础:libpcap的包过滤机制的实现,之后本文提出了在本系统中实现包过滤和连接过滤的方法。在最后一个部分讨论了在Linux内核环境中编程所遇到的技术问题和解决方法。 最后文章对内核流量监测系统和实现同样功能的用户模式的流量监测系统进行了对比测试,论证了系统设计的合理性和可行性。并对下一步研究工作进行了展望,提出了未来的工作可能的研究方向:对应用层协议的进一步处理,对更高速网络的不丢包数据截获等等。