论文部分内容阅读
随着网络技术的不断进步、网络应用的不断增多,网络流量迅速爆发,对于服务质量、带宽计费以及入侵检测等网络管理而言,准确的流量分类变得更加重要。然而,在当前的网络环境下,由于动态端口号和加密技术的应用,使得传统分类方法的有效性越来越低。因此,基于网络流量行为模式的机器学习,得到许多团体的关注和研究。基于机器学习的流量识别技术使用的大多数流量样本,都是在网络主干节点上采集的。该流量样本经过多层伪装、加密等操作,很难再使用动态端口号、有效载荷、聚类算法等方案,来获得产生其的准确应用类型信息。因此,如何获得具有准确应用类型标签的网络流量数据集,成为目前流量分类研究所面临的一个难题。为了解决获得具有准确应用类型标签的网络流量数据集的问题,本文提出了具有准确应用类型标识的网络流量数据集的制作方案,并将该方案在真实的网络环境中进行部署实施,从而获得真实的具有应用类型标识的网络流量数据。首先,开发基于套接字钩子的钩挂程序(Socket Hook)和基于passthru框架的网络中间层扩展驱动程序,并将其安装在使用Windows操作系统的主机上。则主机上运行调用socket请求的网络应用时,在用户层,Socket Hook会将其截获并获得其五元组(源IP地址、源端口号、目的IP地址、目的端口号和协议)信息及应用进程名称,然后根据已创建的进程名称和进程标识的对应关系,建立网络应用的五元组和进程标识之间的对应关系。在内核层,基于passthru框架的驱动会截获socket调用的网络应用,并获得其五元组和进程标识的对应关系,然后在数据包头部的服务类型(TOS)位置上标记进程标识,在重新计算校验和后传输已被标识的网络应用。其次,在网络的中心出口处,通过路由镜像,使用基于现场可编程门列(FPGA)的板卡采集器对路由镜像的网络流量进行采集、过滤,并根据数据包头部TOS位值是否为零,将网络流量数据发送到数据服务器的不同位置上进行存储及处理。最后,对采集的网络流量数据依据五元组和TOS位的标志信息汇聚成流,并对汇聚后的网络流量进行过滤处理以及隐私处理。然后,数据处理器使用该处理后的网络流量制作成具有准确应用类型标签的网络流量数据集。