论文部分内容阅读
随着计算机网络的不断发展和各种新的应用不断涌现,互联网为人们的生活提供了丰富的服务。而在这些网络服务当中,占用网络流量最多的要算是QQ一系列服务、P2P下载等。在这些服务带给人们极大便利的同时,也带来了一些弊端,如安全漏洞、网络负载过重、网络结构日益复杂等,这使得对网络应用的监控和管理变得日益重要,而应用识别又是网络监控和管理的基础,所以,为了更好的监控和管理网络,本文设计了基于网络的应用识别及控制系统。在设计本系统时,首先利用现有的网络环境,使用抓包软件WIRESHARK对QQ等即时通讯软件进行抓包,并依据TCP/IP协议规范分析数据包,从而得到数据报文的内容特征,并按照SNORT规则格式将这些内容特征写成SNORT规则。然后根据写好的规则内容,在LINUX平台上编写相应的代码,这些代码的主要功能是根据模式匹配算法将待检测的数据包与解析好的规则进行模式匹配,然后将匹配结果通知内核。这样,内核数据包处理函数就可以根据用户态的匹配结果对数据包做相应的动作,从而实现对具体应用的识别和控制功能。该系统主要由三大部分组成,第一部分是数据包的上送,将内核态的数据包上送到用户态交由IPS进程进行检测。第二部分是数据包的检测,SNORT检测引擎将得到的数据报文与预先解析好的规则进行模式匹配,并将检测结果通知内核进行处理。第三部分是数据包的处理,内核根据环形队列中记录的检测结果和对数据包的动作对数据包进行处理,如阻断、限流等,然后进行日志输出。最后,用QQ应用软件对该系统进行测试,由实验结果可以验证该系统对QQ应用的识别和控制效果。