基于dns协议识别p2p协议的方法及系统的制作方法

文档序号:7890139阅读:210来源:国知局
专利名称:基于dns协议识别p2p协议的方法及系统的制作方法
技术领域
本发明涉及互联网技术领域,特别涉及一种基于DNS协议识别P2P协议的方法及系统。
背景技术
传统的协议识别主要有两种方法,其中一种是基于报文内容进行识别,这种识别方法主要采用扫描报文内容并与协议特征库对比的手段进行识别,比如BT ( —种内容分发协议)协议报文会包含“BitTorrent protocol”关键字,根据这些关键字可以进行识别。这种方法的优点是识别准确率高,不足之处在于对于加密流量该方法失效。另一种方法主要是利用统计模型进行识别,统计对象包括IP (InternetProtocol,网络之间互连的协议)地址、端口、报文负载以及报文速率等,这种方法作为第一种识别方法的补充,主要用来解决第一种识别方法不能解决问题。其优点是不需要扫描报文内容,缺点是识别率差,误识别率较高。目前的网络电视类软件比如风行、暴风影音等都采用了 P2P(Peer-to-Peer,点对点)架构,都属于采用P2P协议的应用,其通讯协议采取加密方式,使用第一种识别方法无法奏效,使用第二种方法漏识别率和误识别率较大。经过调研分析发现,采用P2P协议的应用一般都会具有这样的工作流程在软件启动之初需要连接特定功能的服务器,比如登陆服务器、广告服务器以及点播服务器等,因此需要通过DNS (Domain Name System,域名系统)协议解析应用服务器域名,解析出这些域名对应的应用服务器IP,之后会通过某个UDP (User Datagram Protocol,用户数据包协议)端口向这些应用服务器IP发起连接,此后,主机与对应当前应用的其他P2P节点之间的通讯都将通过这个UDP端口进行,这个UDP端口就是P2P协议的“监听端口”。

发明内容
(一 )要解决的技术问题本发明要解决的技术问题是如何提供一种基于DNS协议识别P2P协议的方法及系统,以便高效、准确地完成对采用P2P协议的应用的识别,进而实现对网络流量的有效控制。( 二)技术方案为解决上述技术问题,本发明提供一种基于DNS协议识别P2P协议的方法,其包括步骤A :提取采用P2P协议的不同应用的域名关键字,编译形成特征库;B :扫描主机的DNS请求,判断请求解析的域名是否与所述特征库中的当前待分析的应用的域名关键字匹配,如果匹配,记录DNS解析出的IP地址,执行步骤C ;否则,重复执行本步骤;C :监控所述主机发出的所有连接,判断是否存在发往所述IP地址的UDP连接,如果存在,记录所述UDP连接的UDP源端口,执行步骤D ;否则,重复执行本步骤;D :监控所述主机通过所述UDP源端口建立的连接,并将所述主机通过所述UDP源端口建立的连接识别为采用P2P协议的当前待分析的应用对应的连接。优选地,所述步骤B具体包括步骤BI :扫描主机的DNS请求和应答报文;B2:判断所述DNS请求所请求解析的域名是否与所述特征库中的当前待分析的应用的域名关键字匹配,如果匹配,执行步骤B3 ;否则,执行所述步骤BI ;B3 :根据所述应答报文,记录DNS解析出的IP地址,执行步骤C。优选地,所述步骤A中,从横向和纵向两个方面提取采用P2P协议的不同应用的域名关键字;其中,在横向方面,根据每次启动相应应用时出现的域名,提取相应应用的域名关键字;在纵向方面,根据相应应用的登录服务器、点播服务器和广告服务器的域名,提取相应应用的域名关键字。本发明还提供一种基于DNS协议识别P2P协议的系统,其包括特征库形成模块、IP地址获取模块、UDP源端口获取模块和协议识别模块;所述特征库形成模块,连接所述IP地址获取模块,用于提取采用P2P协议的不同应用的域名关键字,编译形成特征库; 所述IP地址获取模块,连接所述UDP源端口获取模块,用于扫描主机的DNS请求,当请求解析的域名与所述特征库中的当前待分析的应用的域名关键字匹配时,记录DNS解析出的IP地址,并将所述IP地址发送给所述m)P源端口获取模块;所述UDP源端口获取模块,连接所述协议识别模块,用于接收所述IP地址,并监控所述主机发出的所有连接,当所述主机向所述ip地址发出m)P连接时,记录所述UDP连接的UDP源端口,并将所述UDP源端口发送给所述协议识别模块;所述协议识别模块,用于监控所述主机通过所述UDP源端口建立的连接,并将所述主机通过所述UDP源端口建立的连接识别为采用P2P协议的当前待分析的应用对应的连接。优选地,所述IP地址获取模块还用于扫描对应所述DNS请求的应答报文,并根据所述应答报文记录DNS解析出的所述IP地址。优选地,所述特征库形成模块从横向和纵向两个方面提取采用P2P协议的不同应用的域名关键字;其中,在横向方面,根据每次启动相应应用时出现的域名,提取相应应用的域名关键字;在纵向方面,根据相应应用的登录服务器、点播服务器和广告服务器的域名,提取相应应用的域名关键字。(三)有益效果本发明的基于DNS协议识别P2P协议的方法及系统,根据采用P2P协议的应用的工作流程的规律,利用了 P2P协议中各个负责不同功能的连接之间的相关性,从DNS域名解析推断采用P2P协议的连接,从而高效、准确地完成了对采用P2P协议的应用的识别,有利于实现对网络流量的有效控制


图I是本发明实施例所述的基于DNS协议识别P2P协议的方法流程图2是本发明实施例所述基于DNS协议识别P2P协议的系统的模块结构图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图1是本发明实施例所述的基于DNS协议识别P2P协议的方法流程图。如图I所示,所述方法包括步骤A :提取采用P2P协议的不同应用的域名关键字,编译形成特征库。所述采用P2P协议的不同应用可以包括暴风影音、风行、迅雷等应用。简单起见,以暴风影音这一应用为例,在本步骤A中,通过抓取暴风影音的离线报文,从横向和纵向两个方面提取暴风影音的域名关键字;其中,在横向方面,根据每次启动暴风影音时出现的域名,提取暴风影音的域名关键字(比如baofeng. com);在纵向方面,根据暴风影音的登录服务器、点播服务器和广告服务器的域名,提取暴风影音的域名关键字。所有不同应用的域名关键字被分别提取后,编译形成预定格式的特征库。B :扫描主机的DNS请求,判断请求解析的域名是否与所述特征库中的当前待分析的应用的域名关键字匹配,如果匹配,记录DNS解析出的IP地址,执行步骤C ;否则,重复执行本步骤。继续以暴风影音作为当前待分析的应用为例进行下述说明,则所述步骤B具体包括步骤BI :扫描主机的DNS请求和应答报文;B2 :判断所述DNS请求所请求解析的域名是否与所述特征库中的暴风影音的域名关键字匹配,如果匹配,执行步骤B3 ;否则,执行所述步骤BI。B3 :根据所述应答报文,记录DNS解析出的IP地址,执行步骤C。C :监控所述主机发出的所有连接,判断是否存在发往所述IP地址的UDP连接,如果存在,记录所述UDP连接的UDP源端口,执行步骤D ;否则,重复执行本步骤。所述UDP源端口就是暴风影音的监听端口。D :监控所述主机通过所述UDP源端口建立的连接,并将所述主机通过所述UDP源端口建立的连接识别为采用P2P协议的暴风影音对应的连接。本实施例中通过本步骤即可以识别出暴风影音对应的连接,进而可以获取暴风影音的网络流量等相关信息。图2是本发明实施例所述基于DNS协议识别P2P协议的系统的模块结构图。如图2所示,所述系统包括特征库形成模块100、IP地址获取模块200、UDP源端口获取模块300和协议识别模块400。所述特征库形成模块100,连接所述IP地址获取模块200,用于提取采用P2P协议的不同应用的域名关键字,编译形成特征库。所述IP地址获取模块200,连接所述UDP源端口获取模块300,用于扫描主机的DNS请求,当请求解析的域名与所述特征库中的当前待分析的应用的域名关键字匹配时,记录DNS解析出的IP地址,并将所述IP地址发送给所述UDP源端口获取模块300。所述UDP源端口获取模块300,连接所述协议识别模块400,用于接收所述IP地址,并监控所述主机发出的所有连接,当所述主机向所述IP地址发出UDP连接时,记录所述UDP连接的UDP源端口,并将所述UDP源端口发送给所述协议识别模块400。
所述协议识别模块400,用于监控所述主机通过所述UDP源端口建立的连接,并将所述主机通过所述UDP源端口建立的连接识别为采用P2P协议的当前待分析的应用对应的连接。其中,所述特征库形成模块100从横向和纵向两个方面提取采用P2P协议的不同应用的域名关键字;其中,在横向方面,根据每次启动相应应用时出现的域名,提取相应应用的域名关键字;在纵向方面,根据相应应用的登录服务器、点播服务器和广告服务器的域名,提取相应应用的域名关键字。所述IP地址获取模块200还用于扫描对应所述DNS请求的应答报文,并根据所述应答报文记录DNS解析出的所述IP地址。本发明实施例所述基于DNS协议识别P2P协议的方法及系统,根据采用P2P协议的应用的工作流程的规律,利用了 P2P协议中各个负责不同功能的连接之间的相关性,从DNS域名解析推断采用P2P协议的连接,从而高效、准确地完成了对采用P2P协议的应用的识别,有利于实现对网络流量的有效控制。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种基于DNS协议识别P2P协议的方法,其特征在于,包括步骤 A :提取采用P2P协议的不同应用的域名关键字,编译形成特征库; B :扫描主机的DNS请求,判断请求解析的域名是否与所述特征库中的当前待分析的应用的域名关键字匹配,如果匹配,记录DNS解析出的IP地址,执行步骤C ;否则,重复执行本步骤; C :监控所述主机发出的所有连接,判断是否存在发往所述IP地址的UDP连接,如果存在,记录所述UDP连接的UDP源端口,执行步骤D ;否则,重复执行本步骤; D :监控所述主机通过所述UDP源端口建立的连接,并将所述主机通过所述UDP源端口建立的连接识别为采用P2P协议的当前待分析的应用对应的连接。
2.如权利要求I所述的方法,其特征在于,所述步骤B具体包括步骤 BI :扫描主机的DNS请求和应答报文; B2 :判断所述DNS请求所请求解析的域名是否与所述特征库中的当前待分析的应用的域名关键字匹配,如果匹配,执行步骤B3 ;否则,执行所述步骤BI ; B3 :根据所述应答报文,记录DNS解析出的IP地址,执行步骤C。
3.如权利要求I所述的方法,其特征在于,所述步骤A中,从横向和纵向两个方面提取采用P2P协议的不同应用的域名关键字;其中,在横向方面,根据每次启动相应应用时出现的域名,提取相应应用的域名关键字;在纵向方面,根据相应应用的登录服务器、点播服务器和广告服务器的域名,提取相应应用的域名关键字。
4.一种基于DNS协议识别P2P协议的系统,其特征在于,包括特征库形成模块、IP地址获取模块、Μ)Ρ源端口获取模块和协议识别模块; 所述特征库形成模块,连接所述IP地址获取模块,用于提取采用P2P协议的不同应用的域名关键字,编译形成特征库; 所述IP地址获取模块,连接所述m)P源端口获取模块,用于扫描主机的DNS请求,当请求解析的域名与所述特征库中的当前待分析的应用的域名关键字匹配时,记录DNS解析出的ip地址,并将所述ip地址发送给所述m)P源端口获取模块; 所述UDP源端口获取模块,连接所述协议识别模块,用于接收所述IP地址,并监控所述主机发出的所有连接,当所述主机向所述IP地址发出UDP连接时,记录所述UDP连接的UDP源端口,并将所述UDP源端口发送给所述协议识别模块; 所述协议识别模块,用于监控所述主机通过所述UDP源端口建立的连接,并将所述主机通过所述m)P源端口建立的连接识别为采用P2P协议的当前待分析的应用对应的连接。
5.如权利要求4所述的系统,其特征在于,所述IP地址获取模块还用于扫描对应所述DNS请求的应答报文,并根据所述应答报文记录DNS解析出的所述IP地址。
6.如权利要求4所述的系统,其特征在于,所述特征库形成模块从横向和纵向两个方面提取采用P2P协议的不同应用的域名关键字;其中,在横向方面,根据每次启动相应应用时出现的域名,提取相应应用的域名关键字;在纵向方面,根据相应应用的登录服务器、点播服务器和广告服务器的域名,提取相应应用的域名关键字。
全文摘要
本发明公开了一种基于DNS协议识别P2P协议的方法及系统,涉及互联网领域。所述方法包括提取采用P2P协议的不同应用的域名关键字,编译形成特征库;扫描主机的DNS请求,判断请求解析的域名是否与当前待分析的应用的域名关键字匹配,如果是,记录DNS解析出的IP地址,执行下一步,否则,重复本步骤;判断是否存在发往所述IP地址的UDP连接,如果存在,记录相应的UDP源端口,执行下一步,否则,重复本步骤;将主机通过UDP源端口建立的连接识别为采用P2P协议的当前待分析的应用对应的连接。所述方法及系统,高效、准确地完成了对采用P2P协议的应用的识别,有利于实现对网络流量的有效控制。
文档编号H04L29/08GK102624878SQ20121004347
公开日2012年8月1日 申请日期2012年2月23日 优先权日2012年2月23日
发明者余兆, 李佶澳, 杨宇云, 董茂培, 许晶, 陈金达 申请人:汉柏科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1