1.一种移动应用网络流量聚类方法,其特征在于,包括:
获取移动终端所产生的网络流量;
对所获取的网络流量进行预处理,生成DNS流量对应的DNS流量记录集合和除所述DNS流量之外的其他网络流量对应的其他网络流量记录集合;其中,所述生成DNS流量对应的DNS流量记录集合包括:对所获取的网络流量中的DNS流量进行逐条遍历;当确定遍历至的当前条DNS流量为DNS应答流量时,提取当前DNS流量中的IP地址和域名,组成对应的一条应答记录;当确定遍历至的当前条DNS流量为DNS查询流量时,提取当前DNS流量中的域名和捕获时间,组成对应的一条查询记录;获取所述网络流量中的DNS流量中的下一条DNS流量,直至所述网络流量中的DNS流量全部遍历完成,生成所述DNS流量记录集合;生成除所述DNS流量之外的其他网络流量对应的其他网络流量记录集合,包括:对所述其他网络流量进行逐条遍历,为所述其他网络流量中的每条设置对应的包括源地址、目的地址、源端口、目的端口、域名/空域名、上层协议的六元组流量标识;其中,当所述六元组流量标识中的目的地址具有对应的域名时,对应的域名/空域名字段为对应的域名信息;反之,则将对应的域名/空域名字段为空域名;分别将具有相同六元组流量标识的其他网络流量的报文捕获时间和报文长度依序添加在对应的六元组流量标识之后,得到所述其他网络流量记录集合;
对所述DNS流量记录集合进行聚类,得到所述DNS流量对应的多个DNS网络流量类;
采用所得到的多个DNS网络流量类对所述其他网络流量记录集合进行聚类,得到所述其他网络流量对应的多个其他网络流量类;
将所述DNS流量对应的多个DNS网络流量类与所述其他网络流量对应的多个其他网络流量类进行合并,得到最终的移动应用网络流量聚类结果。
2.根据权利要求1所述的移动应用网络流量聚类方法,其特征在于,所述对所述DNS流量记录集合进行聚类,得到所述DNS流量对应的多个DNS网络流量类,包括:创建变量j,并设置j的初始值为1,将DNS流量记录集合中第一条查询记录作为第一个DNS查询记录类T1中的第一个元素;
按照顺序对所述DNS流量记录集合中的DNS查询记录集合进行遍历,获取遍历到的当前条DNS查询记录Di;
计算遍历到的当前条DNS查询记录Di与前一条DNS查询记录Di-1之间的报文捕获时间差值;
当确定所述报文捕获时间差值小于预设的时间阈值时,将遍历到的当前条DNS查询记录Di并入前一条DNS查询记录Di-1所在的DNS查询记录类;
当确定所述报文捕获时间差值大于或等于所述时间阈值时,创建一个新DNS查询记录类,并将所述遍历到的当前条DNS查询记录Di作为所述新DNS查询记录类中的第一个元素;
获取所述DNS流量记录集合中的下一条DNS查询记录Di+1,直至所述DNS流量记录集合中的DNS查询记录全部遍历完成,得到多个DNS查询记录类T1~Tm;
创建变量a和b,且a=1~m,b=1~m,并将变量a和b的初始值分别设置为1和2;
对所述多个DNS查询记录类T1~Tm进行遍历,获取遍历到的当前DNS查询记录类Ta和Tb;
判断DNS查询记录类Tb是否存在;
当确定DNS查询记录类Tb存在时,计算遍历到的当前DNS查询记录类Ta和Tb之间的域名相似度;当确定域名相似度大于预设的相似度阈值时,将当前DNS查询记录类Ta和Tb进行合并,得到合并后的DNS查询记录类Ta;当确定域名相似度小于或等于所述相似度阈值时,保持当前DNS查询记录类Ta和Tb不变;当确定DNS查询记录类Tb不存在时,则设置变量b=b+1,并从所述判断DNS查询记录类Tb是否存在重新开始执行,直至b=m;
设置变量a=a+1,直至DNS查询记录类Ta存在时,判断a是否小于m;
当确定a小于m时,设置b=a+1,并从所述判断DNS查询记录类Tb是否存在开始执行,直至a=m,得到最终的多个DNS查询记录类;
将所述DNS流量记录集合中的每条DNS应答记录分别归入对应的DNS查询记录所在的DNS查询记录类,得到所述多个DNS网络流量类。
3.根据权利要求2所述的移动应用网络流量聚类方法,其特征在于,所述计算遍历到的当前DNS查询记录类Ta和Tb之间的域名相似度,包括:其中,Sab表示DNS查询记录类Ta与Tb之间的域名相似度,K_Ta表示DNS查询记录类Ta的关键词集合,K_Tb表示DNS查询记录类Tb的关键词集合;所述DNS查询记录类Ta和DNS查询记录类Tb的关键词集合分别为将DNS查询记录类Ta和DNS查询记录类Tb的域名用点号进行分割且二级域名不分割形成。
4.根据权利要求3所述的移动应用网络流量聚类方法,其特征在于,所述采用所得到的多个DNS网络流量类对所述其他网络流量记录集合进行聚类,得到所述其他网络流量对应的多个其他网络流量类,包括:分别提取所述其他网络流量记录集合中每条其他网络流量记录对应的网络流特征;
将六元组流量标识中具有域名信息的其他网络流量记录中,与所得到的所述多个DNS网络流量类具有相同域名信息的归入同一其他网络流量类,形成一个以上的其他网络流量类;
分别提取所述一个以上的其他网络流量类的网络流特征;
基于所提取的网络流特征,分别计算六元组流量标识中具有空域名信息的其他网络流量记录与所述一个以上的其他网络流量类之间的距离;
将六元组流量标识中具有空域名信息的其他网络流量记录并入计算得到的距离中最小距离对应的其他网络流量类中,得到最终的多个其他网络流量类。
5.根据权利要求4所述的移动应用网络流量聚类方法,其特征在于,所述六元组流量标识中具有空域名信息的其他网络流量记录的网络流特征,包括:F1:流中第一个报文的捕获时间;
F2:流中报文的总数量;
F3:流中报文长度的总和;
F4:流中最大报文长度;
F5:流中最小报文长度;
F6:流中平均报文长度值;
F7:流中报文长度值的方差;
F8:流中最大报文时间间隔;
F9:流中最小报文时间间隔;
F10:流中平均报文时间间隔;
F11:流中报文时间间隔的方差。
6.根据权利要求5所述的移动应用网络流量聚类方法,其特征在于,采用如下的公式分别计算六元组流量标识中具有空域名信息的其他网络流量记录与所述一个以上的其他网络流量类之间的距离:且,
其中,dp表示六元组流量标识中具有空域名信息的其他网络流量记录与所述一个以上的其他网络流量类中第p个其他网络流量类Cp之间的欧式距离,fnull表示六元组流量标识中具有空域名信息的其他网络流量记录,Fq表示的第q个网络流量特征,s表示其他网络流量类Cp中其他网络流量记录的个数,fr表示其他网络流量类Cp中的第r个其他网络流量记录。
7.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令运行时执行权利要求1至6任一项所述的移动应用网络流量聚类方法的步骤。
8.一种终端,其特征在于,包括存储器和处理器,所述存储器上储存有能够在所述处理器上运行的计算机指令,所述处理器运行所述计算机指令时执行权利要求1至6任一项所述的移动应用网络流量聚类方法的步骤。