本发明专利技术公开了一种基于动态域名解析的网络流量识别方法及系统,涉及网络技术,旨在针对现有技术存在的问题,提供一种既不依赖端口也不依赖流量内容的流量识别方法。本发明专利技术技术要点:采集流量数据包;识别流量数据包中的基础协议层数据,得到流量数据的源IP地址及源端口;根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,并建立会话表;根据会话的源端口号判断该会话是否为DNS数据,若是则解析该DNS数据得到IP地址与域名对应关系并插入IP-域名表;若不是DNS数据则在IP-域名表中查询该会话的源IP地址对应的域名,若查询到该源IP地址对应的域名则通过域名识别该流量数据的应用层协议及用途。
【技术实现步骤摘要】
本专利技术涉及网络技术,尤其是一种基于动态域名解析的网络流量识别方法。
技术介绍
本文技术术语解释:网络流量识别是指确定网络流量数据使用的协议和/或用途。其中,协议特指网络协议,是网络通信的规范。协议分为很多层,一般使用ISO的7层标准。用途是指流量数据的作用,比如访问网页、发送邮件、即时聊天、视频播放等。目前对网络流量的识别都是通过流量本身的特征,如通过端口、流量数据内容中的关键字来识别流量的协议和用途。随着网络应用的增长,为避免端口重复或者绕过防火墙限制,很多流量不再遵循标准的端口,从而导致通过端口识别流量的方法极不准确,为了解决这一问题,人们开始通过流量内容中的关键字等特征来识别流量的协议和用途。然而,随着对网络信息安全的重视,以及加密技术的普及,网络流量经过加密后几乎不再具有固定的内容特征。这使得通过内容关键字特征的识别方法也开始失效。
技术实现思路
本专利技术所要解决的技术问题是:针对上述存在的问题,提供一种既不依赖端口也不依赖流量内容的流量识别方法。本领域技术人员知晓,每个数据包都具有多个层次的协议,例如常见的通过局域网访问网页的数据包包括EthernetII、IP、TCP、HTTP四层协议。一般说来,在TCP协议以下的协议为网络基础或叫做基础协议层,由网络设备(如交换机、路由器等)使用,必须严格按照规范实现,可以准确识别与解码。在传输层(即TCP、UDP协议)之上的协议由网络服务器的软件实现,根据不同的应用,编写人员可以随意制定协议、加密数据,这使得流量识别难以进行。本专利技术就是针对这难以识别的流量数据进行的,基于基础协议层数据来识别这部分数据的协议及用途。本专利技术提供的基于动态域名解析的网络流量识别方法,包括:步骤1:采集流量数据包;步骤2:识别流量数据包中的基础协议层数据,得到流量数据的源IP地址及源端口;步骤3:根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,并建立会话表;步骤4:根据会话的源端口号判断该会话是否为DNS数据,若是则解析该DNS数据得到IP地址与域名对应关系并插入IP-域名表;若不是DNS数据则在IP-域名表中查询该会话的源IP地址对应的域名,若查询到该源IP地址对应的域名则通过域名识别该流量数据的应用层协议及用途。进一步,所述基础协议层为TCP协议层以下的协议。进一步,所述应用层协议为TCP协议层或UDP协议层以上的协议。所述步骤3中进一步包括,根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,在查看会话表中是否存在该条对话,若没有则将该会话插入会话表中。本专利技术提供的一种基于动态域名解析的网络流量识别系统,包括:数据包采集单元,用于采集流量数据包;基础协议层数据识别单元,用于识别流量数据包中的基础协议层数据,得到流量数据的源IP地址及源端口;会话分配单元,用于根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,并建立会话表;IP-域名表维护单元,用于根据会话的源端口号判断该会话是否为DNS数据,若是则解析该DNS数据得到IP地址与域名对应关系并插入IP-域名表,若不是则将该会话传递给流量数据协议及用途识别单元;流量数据协议及用途识别单元,用于在IP-域名表中查询该会话的源IP地址对应的域名,若查询到该源IP地址对应的域名则通过域名识别该流量数据的应用层协议及用途。所述会话分配单元进一步用于,根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,在查看会话表中是否存在该条对话,若没有则将该会话插入会话表中。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:本专利技术通过分析DNS应答数据,获得服务域名和IP地址的对应关系。当采集到流量数据包时,通过该数据包基础协议层数据获得IP地址,再通过IP地址确定其对应的服务域名,最后根据域名识别流量数据包提供的服务及协议。本专利技术可以对非标准端口、动态域名、多服务器负载均衡、加密传输的各种流量加以识别,这些都是传统识别方法无法识别的。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1为本专利技术方法流程图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。下面以某视频应用为例,进一步解释本专利技术的实现方法及原理。该视频应用发出的流量数据包包含基础协议层、传输层(TCP协议、UDP协议)及应用层等多层协议。例如流量数据包包含50个字节,其中前15个字节遵循基础协议、中间15个字节遵循传输层协议、后20个字节遵循开发商自行规定的协议。其中基础协议层的流量数据必须严格按照协议规范实现,而对于应用层协议的流量数据,编写人员可自行制定应用层的协议或将加密数据,并将端口改为非标准端口,现有的流量识别方法不能对这样的流量数据包应用层的协议及用途进行识别。参考图1,本专利技术提供的基于动态域名解析的网络流量识别方法,包括:步骤1:采集流量数据包;步骤2:识别流量数据包中的基础协议层数据,解析基础协议层数据可得到流量数据的源IP地址及源端口;步骤3:根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,并建立会话表;这里的会话是指,例如当用户同时开启浏览器及QQ聊天软件两个应用程序,这时接收的流量数据就包含提供给浏览器及QQ聊天软件两部分,本领域技术人员将提供给同一个应用程序的流量数据称为一个会话,本实施例中就存在两个会话。步骤4:本领域技术人员均知晓,DNS数据的端口都是固定的53端口,因此根据会话的源端口号可判断该会话是否为DNS数据。若是则解析该DNS数据得到IP地址与域名对应关系并插入IP-域名表;若不是DNS数据则在IP-域名表中查询该会话的源IP地址对应的域名。本领域技术人员知晓,绝大多数的域名均为公开的信息,知道其域名便能获知其发出的流量数据的协议及用途,比如,当确定了某个数据包来自优酷的域名,本领域技术人员便能直接确定该数据包的用途(即视频)及优酷使用的应用层协议。因此,若查询到该源IP地址对应的域名则通过域名识别该流量数据的应用层协议及用途。在另一具体实施例中,所述步骤3中建立会话表的过程是这样的,根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,在查看会话表中是否存在该条对话,若没有则将该会话插入会话表中。本专利技术还提供了一种与上述方法步骤一一对应的软系统,包括:数据包采集单元,用于采集流量数据包;基础协议层数据识别单元,用于识别流量数据包中的基础协议层数据,得到流量数据的源IP地址及源端口;会话分配单元,用于根据流量数据的源IP地址及源端口地址为所述流量数据分配会本文档来自技高网...
【技术保护点】
一种基于动态域名解析的网络流量识别方法,其特征在于,包括:步骤1:采集流量数据包;步骤2:识别流量数据包中的基础协议层数据,得到流量数据的源IP地址及源端口;步骤3:根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,并建立会话表;步骤4:根据会话的源端口号判断该会话是否为DNS数据,若是则解析该DNS数据得到IP地址与域名对应关系并插入IP‑域名表;若不是则在IP‑域名表中查询该会话的源IP地址对应的域名,若查询到该源IP地址对应的域名则通过域名识别该流量数据的应用层协议及用途。
【技术特征摘要】
1.一种基于动态域名解析的网络流量识别方法,其特征在于,包括:
步骤1:采集流量数据包;
步骤2:识别流量数据包中的基础协议层数据,得到流量数据的源IP地址及源端口;
步骤3:根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,并建立会话表;
步骤4:根据会话的源端口号判断该会话是否为DNS数据,若是则解析该DNS数据得到IP地址与域名对应关系并插入IP-域名表;若不是则在IP-域名表中查询该会话的源IP地址对应的域名,若查询到该源IP地址对应的域名则通过域名识别该流量数据的应用层协议及用途。
2.根据权利要求1所述的一种基于动态域名解析的网络流量识别方法,其特征在于,所述基础协议层为TCP协议层以下的协议。
3.根据权利要求1所述的一种基于动态域名解析的网络流量识别方法,其特征在于,所述应用层协议为TCP协议层或UDP协议层以上的协议。
4.根据权利要求1所述的一种基于动态域名解析的网络流量识别方法,其特征在于,所述步骤3中进一步包括,根据流量数据的源IP地址及源端口地址为所述流量数据分配会话,在查看会话表中是否存在该条对话,若没有则将该会话插入会话表中。
5.一种基于动态域名解析的网络流量识别系统,其特征在于,包括:
数据包...
【专利技术属性】
技术研发人员:罗鹰,伍宏宁,林康,
申请(专利权)人:成都科来软件有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。