[发明专利]基于DNS协议识别P2P协议的方法及系统有效
申请号: | 201210043475.X | 申请日: | 2012-02-23 |
公开(公告)号: | CN102624878A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 董茂培;陈金达;余兆;许晶;李佶澳;杨宇云 | 申请(专利权)人: | 汉柏科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/12 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 300384 天津市西青*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 dns 协议 识别 p2p 方法 系统 | ||
技术领域
本发明涉及互联网技术领域,特别涉及一种基于DNS协议识别P2P协议的方法及系统。
背景技术
传统的协议识别主要有两种方法,其中一种是基于报文内容进行识别,这种识别方法主要采用扫描报文内容并与协议特征库对比的手段进行识别,比如BT(一种内容分发协议)协议报文会包含“BitTorrent protocol”关键字,根据这些关键字可以进行识别。这种方法的优点是识别准确率高,不足之处在于对于加密流量该方法失效。
另一种方法主要是利用统计模型进行识别,统计对象包括IP(Internet Protocol,网络之间互连的协议)地址、端口、报文负载以及报文速率等,这种方法作为第一种识别方法的补充,主要用来解决第一种识别方法不能解决问题。其优点是不需要扫描报文内容,缺点是识别率差,误识别率较高。
目前的网络电视类软件比如风行、暴风影音等都采用了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具体包括步骤:
B1:扫描主机的DNS请求和应答报文;
B2:判断所述DNS请求所请求解析的域名是否与所述特征库中的当前待分析的应用的域名关键字匹配,如果匹配,执行步骤B3;否则,执行所述步骤B1;
B3:根据所述应答报文,记录DNS解析出的IP地址,执行步骤C。
优选地,所述步骤A中,从横向和纵向两个方面提取采用P2P协议的不同应用的域名关键字;其中,在横向方面,根据每次启动相应应用时出现的域名,提取相应应用的域名关键字;在纵向方面,根据相应应用的登录服务器、点播服务器和广告服务器的域名,提取相应应用的域名关键字。
本发明还提供一种基于DNS协议识别P2P协议的系统,其包括:特征库形成模块、IP地址获取模块、UDP源端口获取模块和协议识别模块;
所述特征库形成模块,连接所述IP地址获取模块,用于提取采用P2P协议的不同应用的域名关键字,编译形成特征库;
所述IP地址获取模块,连接所述UDP源端口获取模块,用于扫描主机的DNS请求,当请求解析的域名与所述特征库中的当前待分析的应用的域名关键字匹配时,记录DNS解析出的IP地址,并将所述IP地址发送给所述UDP源端口获取模块;
所述UDP源端口获取模块,连接所述协议识别模块,用于接收所述IP地址,并监控所述主机发出的所有连接,当所述主机向所述IP地址发出UDP连接时,记录所述UDP连接的UDP源端口,并将所述UDP源端口发送给所述协议识别模块;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于汉柏科技有限公司,未经汉柏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210043475.X/2.html,转载请声明来源钻瓜专利网。