CN114051014B - 基于dns引流实现百亿级url识别分类方法及系统 - Google Patents
基于dns引流实现百亿级url识别分类方法及系统 Download PDFInfo
- Publication number
- CN114051014B CN114051014B CN202210034044.0A CN202210034044A CN114051014B CN 114051014 B CN114051014 B CN 114051014B CN 202210034044 A CN202210034044 A CN 202210034044A CN 114051014 B CN114051014 B CN 114051014B
- Authority
- CN
- China
- Prior art keywords
- url
- domain name
- information
- dns
- classification
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Abstract
本申请提供了一种基于DNS引流实现百亿级URL识别分类方法及系统,通过借助DNS代理技术,将用户端的访问请求引向云服务器端,通过在云服务器端部署DNS服务器、云端URL分类数据库、机器学习服务器,DNS服务器将域名解析为对应的IP地址,云端URL分类数据库存储百亿级的URL信息和类别,机器学习服务器可以完成URL数据集的训练和分类,并更新到URL分类数据库中,最终实现对域名的解析和分类功能,将URL的存储容量从千万级转变为百亿级,且可以自动更新。通过DNS引流到云服务器的方式,减少了本地URL库碰撞对网关类产品的性能消耗,增加了URL分类的量级和颗粒度。
Description
技术领域
本发明涉及互联网应用技术领域,尤其涉及一种基于DNS引流实现百亿级URL识别分类方法及系统。
背景技术
现在越来越多的公共场所或者企业要求对用户的上网行为进行管控。在这些场景中,通常都是使用网关类产品配置相关策略,从而对用户的上网行为进行控制。对于用户来说,每天都花费大量的时间用来浏览网页,比如搜索、看剧等等,因此在这些场景中,对用户访问的网站进行管控显得尤为关键。由于对单个URL控制会导致策略配置十分繁琐,因此目前网关类产品采用的都是对URL的类别进行控制。因此对用户所访问的URL进行正确、合理的分类十分重要。
目前大多数网关类产品采用的方案是将用户所访问的URL与网关类产品的URL分类数据库进行碰撞,来确定用户所访问的URL类别,从而完成URL识别分类的功能。采用这种方式完成对用户访问的URL识别分类需要网关类产品的URL分类数据库存储有大量的URL和URL的种类信息,对网关类产品的数据处理能力要求高。
但是受限于用户设备的磁盘和内存容量的限制,目前网关类产品的URL分类数据库中的URL数量不超过2000万,URL的种类不超过100类。由于用户设备的磁盘容量、CPU处理速度以及内存的限制,URL识别分类的速度低,URL覆盖面不够广泛,URL分类类别不完善,无法达到对URL识别分类的更高要求,而且会对网关类产品的性能造成一定影响。现有技术的存储和更新方式,当URL出现问题或者需要修改时,需要将整个URL库进行更新,成本较高,时效性较低。
发明内容
本申请提供一种基于DNS引流实现百亿级URL识别分类方法及系统,为了解决上述现有技术中网关类产品的URL分类数据库受限于用户设备的磁盘容量、CPU处理速度以及内存导致URL数量、种类少,从而造成URL识别分类速度低,并且识别分类不完善的问题。
第一方面,本申请提供一种基于DNS引流实现百亿级URL识别分类方法,所述方法包括以下步骤:
获取用户设备发送的对域名的访问指令;
查询所述域名的IP地址,如果存在,访问所述IP地址;
当查询不到所述域名的IP地址时,发送DNS请求指令激活云服务器端;
获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文,所述DNS响应报文记载有IP地址信息和URL分类信息;
解析所述IP地址信息得到IP地址,识别所述URL分类信息得到URL类别。
采用本实现方式,当获取到用户设备对域名的访问指令时,先在本地Hosts文件和DNS缓存文件以及本地URL分类数据库中进行查找,如果查找到对应域名的IP地址时,直接转入所查询到的IP地址。当在本地Hosts文件和DNS缓存文件以及本地URL分类数据库中均查询不到所述域名的IP地址时,将域名请求发送至云服务器端,云端服务器接收所述域名的域名信息,通过解析域名信息得到所述域名的IP地址信息和URL分类信息,并记录在DNS响应报文中,并把DNS响应报文反馈给用户设备进行解析,进而得到所述域名的IP地址和URL地址。将解析获取IP地址和URL分类信息的操作从网关类产品移至云服务器端进行,节省了用户设备本地磁盘容量,提高了查找URL类别的效率,同时也将URL分类存储的空间无限放大。
可选地,所述获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文的步骤包括:
查找所述域名信息的IP映射关系,如果存在,将所述域名信息的IP地址记录到所述DNS响应报文中;
如果查询不到所述域名信息的IP映射关系,则在所述DNS响应报文中的RCODE响应字段给出相应的标识。
采用本实现方式,通过云服务器端所部署的DNS服务器在服务器缓存中进行查找所述域名的IP映射关系,因为云服务器端部署的IP地址数据远远大于网关类产品中的Hosts文件和DNS缓存文件以及本地URL分类数据库中的数据,同时也可以借助DNS递归查找的实现方式,并且在云服务器端进行查找,不存在占用用户设备磁盘容量导致查找速度缓慢等问题。
可选地,所述获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文的步骤还包括:
对所述域名信息进行处理,得到标准域名信息;
将所述标准域名信息带入云端URL分类数据库进行匹配,如果匹配成功,将所述标准域名信息归纳到相匹配的URL类别,在所述DNS响应报文中记录所述URL分类信息;
如果匹配失败,将所述标准域名信息转入机器学习服务器;
所述机器学习服务器对所述标准域名信息进行分类识别,建立新URL类别,将所述标准域名信息归入所述URL新类别;
将所述URL新类别归入所述云端URL分类数据库,备份保存;
在所述DNS响应报文中记录所述URL新类别的信息。
采用本实现方式,通过在云服务器端部署云端URL分类数据库,可根据需要增加云服务器端的硬件,并按需分配,部署百亿数量级的URL数量,为查找URL类别提供了一个更广泛的范围。进一步地,受益于云服务器端的高性能,使URL识别分类的速度以及存储容量得到显著提升。
可选地,所述DNS响应报文的资源数据区域包含所述URL分类信息的种类字节。
采用本实现方式,将所述DNS响应报文传回URL分类信息时,通过在DNS响应报文中进一步对URL的分类做出标记,URL分类信息能够迅速地与用户设备的本地URL分类数据库的分类和编号做出对应,提高URL识别分类的效率,节省识别分类的时间。
可选地,在识别所述URL分类信息得到URL类别后,所述方法还包括:所述云端URL分类数据库与本地URL分类数据库进行交互,实时更新所述本地URL分类数据库。
采用本实现方式,经过云服务器端对域名信息的处理得到的URL分类信息会第一时间更新至本地URL分类数据库中,用户设备再次访问相同域名时,会在本地URL分类数据库和DNS缓存中优先进行查询。
第二方面,本申请提供一种基于DNS引流实现百亿级URL识别分类系统,包括用户设备交互模块、查询模块、转移模块、云端交互模块、解析识别模块;
所述用户设备交互模块被配置为:获取用户设备发送的对域名的访问指令;将域名的IP地址和所述URL类别发送至用户设备;
所述查询模块被配置为:当获取到用户设备发送的对域名的访问指令后,查询Hosts文件和DNS缓存以及URL分类数据库中是否存在所述域名的IP地址和URL类别;
所述转移模块被配置为:查询到所述域名的IP地址时,转入至所述域名的IP地址;
所述云端交互模块被配置为:对所述域名进行识别,获取所述域名信息,发送至云服务器端;接收所述云服务器端反馈的所述DNS响应报文;
所述解析识别模块被配置为:获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文后,解析所述IP地址信息得到IP地址,识别所述URL分类信息得到URL类别。
可选地,所述云端交互模块和所述用户设备交互模块被配置为:实现所述云端URL分类数据库与所述本地URL分类数据库进行交互,实时更新所述本地URL分类数据库。
可选地,所述系统还包括DNS缓存回收模块,被配置为:保留并上传被自动清除的DNS缓存至云端URL分类数据库,后续根据调用频次,视情况在同步至设备本地。
可选地,所述云端交互模块接收所述云服务器端反馈的所述DNS响应报文前,对所述DNS响应报文进行信息识别,包括:
识别所述域名的IP地址;
识别URL分类信息;
识别DNS响应报文附加信息区域的资源数据长度。
可选地,所述用户设备交互模块接收访问指令之前,对所述域名进行安全监测,如果所述域名安全,则接收所述访问指令;如果所述域名危险,则驳回所述访问指令,用户设备交互模块向用户设备发送危险警告。
本申请提供一种基于DNS引流实现百亿级URL识别分类方法及系统,其中,一种基于DNS引流实现百亿级URL识别分类方法通过将用户设备访问的域名对应的域名信息通过DNS请求指令发送至云服务器端,在云服务器端解析处理得到域名对应的IP地址信息和URL分类信息,并通过DNS响应报文传回进行解析得到IP地址和URL类别。本申请还提供了一种基于DNS引流实现百亿级URL识别分类系统,获取用户设备发送的对域名的访问指令,将域名信息发送至云服务器端,获取云服务器端反馈的DNS响应报文,对DNS响应报文进行解析,将解析得到的IP地址和URL类别传回至用户设备并对本地URL分类数据库进行更新。本申请通过将解析获取IP地址和URL分类信息的操作从用户设备移至云服务器端进行,节省了用户设备本地磁盘容量,提高了查找URL类别的效率。云服务器端的云端URL分类数据库可以部署百亿数量级的URL,为解析和存储URL类别提供了一个巨大容纳空间,同时也可以不断积累存储URL的新类别,完善云端URL分类数据库的URL类别,提高URL分类的量级和颗粒度。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种基于DNS引流实现百亿级URL识别分类方法的第一种实施例的流程图;
图2为一种基于DNS引流实现百亿级URL识别分类方法框架流程示意图;
图3为一种基于DNS引流实现百亿级URL识别分类方法的第二种实施例的流程图;
图4为一种基于DNS引流实现百亿级URL识别分类方法的第三种实施例的流程图;
图5为一种基于DNS引流实现百亿级URL识别分类系统结构流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中网关类产品的URL分类数据库受限于用户设备的磁盘容量、CPU处理速度以及内存导致URL数量、种类少,从而造成URL识别分类速度低,并且识别分类不完善的问题。第一方面,本申请提供了一种基于DNS引流实现百亿级URL识别分类方法。
参见图1,为一种基于DNS引流实现百亿级URL识别分类方法的第一种实施例的流程图。由图可知本申请提供了一种基于DNS引流实现百亿级URL识别分类方法,包括:
S1:获取用户设备发送的对域名的访问指令;当用户使用设备访问某一域名时,会发送出一个对域名请求访问的指令,在接收到访问指令后,才会启动对域名的访问指令。
S2:查询所述域名的IP地址,如果存在,访问所述IP地址;参见图2,为一种基于DNS引流实现百亿级URL识别分类方法框架流程示意图。由图2可知,当获取到用户设备发送的对域名的访问指令后,网关类产品会自动在Hosts文件中查询所访问域名对应的IP地址,如果查询到,立即返回域名对应的IP地址;如果在Hosts文件中查询不到所访问域名的IP地址,会转至DNS缓存中进行再次查询,如果查询到,立即返回域名对应的IP地址。
Hosts文件是一个没有扩展名的文件,可以用记事本等解析文本的工具打开。Hosts文件的作用是将用户将要访问的域名映射到与其对应的IP地址,并将其保存在一个共享的静态Hosts文件中,再由Hosts文件来实现网络中域名的管理。通常Hosts文件中的域名都是用户多次访问的域名。
当本地网关设备在Hosts文件中查询不到对应IP映射关系时,网关设备会在DNS缓存中进行第二次查询。DNS缓存是当用户设备本地服务器解析用户访问域名正确的IP地址后,用户设备会将这个IP地址临时保存,并且会设定一个预设失效时间,在这个预设失效时间内,当用户再次访问这个域名时,用户设备会在DNS缓存中直接得到用户访问域名的IP地址,减少通过云端DNS服务器对用户访问域名解析再得到IP地址的时间。
当本地网关类设备在Hosts文件中和DNS缓存中均查询不到对应的IP映射关系时,网关设备会在本地URL分类数据库中进行第三次查询。
需要说明的是,网关设备在Hosts文件中的查询优先级要高于在DNS缓存中查询。
S3:当查询不到所述域名的IP地址时,发送DNS请求指令激活云服务器端;当网关类产品在Hosts文件中和DNS缓存中以及本地URL分类数据库中均查询不到所访问域名的IP地址时,就会发送DNS请求指令到云服务器端,同时对所述域名进行识别,获取所述域名信息,发送至云服务器端。DNS请求指令会对云服务器进行激活,云服务器被激活后,会获取所访问域名的域名信息。其中,云服务器端部署有云端URL分类数据库、DNS服务器和机器学习服务器。云端URL分类数据库可以根据用户需求增加云服务器的硬件的方式,实现百亿级的存储。
S4:获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文,所述DNS响应报文记载有IP地址信息和URL分类信息;在云服务器端被激活后,云服务器端会获取用户设备访问的域名的域名信息。通过云服务器端所部署的DNS服务器对域名信息的解析,得到对应的IP地址信息和URL分类信息,并将IP地址信息和URL分类信息记录在DNS响应报文中传回。通过在云服务器端集成DNS服务器来对用户设备访问的域名信息进行解析,将原有在本地用户设备的查询碰撞的方式移至云服务器端,节省了用户设备本地磁盘容量,同时使得DNS服务器对域名信息的解析速度得到的提升,不再受用户设备本地磁盘容量的限制,提高了网关类产品的工作性能。
参见图3,为一种基于DNS引流实现百亿级URL识别分类方法的第二种实施例的流程图。由图可知,在本实施例中,所述获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文的步骤包括:
S401:查找所述域名信息的IP映射关系,如果存在,将所述域名信息的IP地址记录到所述DNS响应报文中;DNS服务器会在DNS服务器缓存中查找所述域名信息的IP映射关系,如果查询到,将所述域名信息的IP地址信息记录到DNS响应报文中,并通过查询到的IP映射关系在云端URL分类数据库中匹配对应的URL类别,并将对应的URL类别处理成URL分类信息记录在DNS响应报文中。如果在DNS服务器缓存中查询不到所述域名信息的IP映射关系,按照预设顺序,从根域名服务器、二级域名服务器、三次域名服务器直至最低服务器进行查找。根服务器为互联网域名解析服务的最高级别,域名需要经过根数据库的解析后,才能转到其他域名服务器进行解析。
S402:如果查询不到所述域名信息的IP映射关系,则在所述DNS响应报文中的RCODE字段给出相应的标识。需要说明的是,DNS响应报文分为基础结构部分、问题部分、资源记录部分。基础结构部分也被称为DNS响应报文首部,DNS响应报文首部具有标志字段。当查询不到所述域名信息的IP映射关系时,就会在所述标志字段中的REODE字段中给出响应标识。
REODE字段为DNS响应报文中的响应代码,表示DNS响应报文的差错状态。当REODE字段值为0时,表示没有错误,可以正常将DNS响应代码传回并解析得到IP地址和URL类别;当REODE字段值为1时,表示报文格式错误,服务器不能理解请求的报文,这时就需要云服务器端对DNS响应报文的格式进行检查并修改为正确的格式再次传回;当REODE字段值为2时,表示域名服务器失败,因为服务器的原因导致没办法处理这个请求;当REODE字段值为3时,表示名字错误,只有对授权域名解析服务器有意义,指出解析的域名不存在;当REODE字段值为4时,表示查询类型不支持,即域名服务器不支持查询类型;当REODE字段值为5时,表示拒绝。进一步地,解析IP地址得到对应的IP地址信息类型时,根据查询状态,在DNS响应报文中赋予对应的值。
参见图4,为一种基于DNS引流实现百亿级URL识别分类方法的第三种实施例的流程图。由图可知,在本实施例中,所述获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文的步骤还包括:
S403:对所述域名信息进行处理,得到标准域名信息;所述标准域名信息后缀为顶级域名。其中,顶级域名分为三种:第一种是国家和地区顶级域名;第二种是通用等级域名,例如代表工商业的“.com”、表示网络供应商的“.net”等;第三种是通用顶级域名,例如通用的“.xyz”、代表尊贵的“.vip”等。而云端URL分类数据库中的URL类别也是有分类的标识,不同类别的URL所归类的标识不同。将域名信息进行处理后得到的标准域名信息,通过后缀的顶级域名,方便和云端URL分类数据库中的URL类别标识进行匹配,加快得到标准域名信息的速度,提高识别域名信息效率。
S404:将所述标准域名信息带入云端URL分类数据库进行匹配,如果匹配成功,将所述标准域名信息归纳到相匹配的URL类别,在所述DNS响应报文中记录所述URL类别信息;因为标准域名信息的后缀为顶级域名,在与云端URL分类数据库进行匹配时会更快的找到其URL的类别。当标准域名信息在云端URL分类数据库中匹配成功时,会将云端URL分类数据库中相匹配的URL分类信息记录到DNS响应报文中,同时会将标准域名信息归纳到云端URL分类数据库中匹配的类别中,在用户下一次访问同样的域名时,会直接在云端URL分类数据库中提供该域名的URL分类信息至DNS响应报文中,减少将域名信息处理为标准域名信息再带入云端URL分类数据库进行匹配的时间,提高检索URL分类信息的效率。
进一步地,所述DNS响应报文的资源数据区域包含所述URL分类信息的种类字节。
Additional records dns.baidu.com:type A,class IN,addr 202.108.22.220Name:dns.baidu.com Type:A(Host Address)(1) Class:IN (0x0001) Time to live: 5Data length: 4 Address:202.108.22.220 ns2.baidu.com:type A,class IN,addr61.135.165.235 Name:ns2.baidu.com Type:A(Host Address)(1) Class:IN(0x0001)Time to live: 5 Data length: 4 Address:61.135.165.235
以上为资源记录部分所包含的附加信息区域字段记录的部分信息,该区域的长度是可控的,而且该区域包含DNS服务器的IP地址、名称、类型以及该域名对应的IP地址等。其中,“Name”的值为“DNS服务器”名称,“Type”的值为 A,表示获取域名对应的IP地址;“Address”的值显示了所有获取到的DNS服务器对应的 IP 地址。为了让DNS响应报文能够包含域名的分类信息,需要在附加信息区域的“资源数据”部分增加表示该域名的URL分类信息的字节即可。例如,在“资源数据”部分增加“URL-Type:1”字节,表示该域名的种类为“1”,当网关类产品接收到DNS响应报文时,会与本地URL分类数据库进行匹配对应,得到域名的URL类别。
DNS报文分为查询请求报文和查询响应报文,但是二者结构基本相同。每一行为32位,因此整个DNS报文的长度为32的整数倍。由于附加信息区域的长度可控,在加入表示URL分类信息的字节之后,资源数据长度会自动更新,最后将数据向上补齐为32位的整数倍,满足DNS响应报文的要求。进一步地,云端URL分类数据库会将URL的种类与十进制数字进行对应,方便DNS响应报文返回URL分类信息时,本地URL分类数据库能够更快的找到对应的URL类别。在本实施例中,通过在DNS响应报文中增加URL分类信息的字节,在DNS响应报文与本地URL分类数据库的进行匹配对应的过程中能够能快的匹配到对应URL类别,得到正确的URL分类结果。
S405:如果匹配失败,将所述标准域名信息转入机器学习服务器;当匹配失败时,表示所述标准域名信息的URL类别不存在于云端URL分类数据库中,这时就需要将所述标准域名信息转入机器学习服务器,进行识别分类。
S406:所述机器学习服务器对所述标准域名信息进行分类识别,建立新URL类别,将所述标准域名信息归入所述URL新类别;机器学习服务器会对标准域名信息进行机器学习算法,以及爬虫等手段,对标准域名信息进行识别和分类。
爬虫手段可以爬取网站中所有的URL以及网站的其他信息,包括标题、文本信息、图片等,将这些URL进行分类识别后,可以填充到云端URL分类数据库中。可以快速的增加URL库的容量,同时可以为URL自动分类提供测试集,缩短了URL分类数据库成型的时间。
网站中的标题或者文本信息可以采用TF-IDF算法或者LDA模型对该网站进行文本关键词或者隐含主题的提取,之后再通过贝叶斯模型、因式分解机对文本关键词和隐含主题分类,从而实现对未知域名分类。网站中的图片可以通过计算机视觉的手段对其进行识别分类,作为URL分类的辅助判断。
当用户需要通过机器学习算法进行URL分类时,可以直接在云服务器端上进行训练,训练结果可以直接归入到云端URL分类数据库中,从而使云端URL分类数据库可以自动、实时更新。当云端URL分类数据库出现问题或者需要更新时,不再需要下载新的URL补丁包进行解压安装,我们仅仅需要在云服务器中进行更新即可,减少了运维的成本,提高了时效性。
进一步地,云端URL分类数据库与爬虫、机器学习等手段的结合,不仅可以实现URL库自动、实时更新,还极大的提高了URL库中URL的数量。同时服务器为爬虫和机器学习提供了强大的计算能力,为URL快速且正确的分类提供了保障。在识别分类之后,在云端URL分类数据库中成立URL新类别,并将标准域名信息归纳到URL新类别中。通过机器学习服务器对云端URL分类数据库外的未知域名进行识别分类,不断收纳新类别的URL到云端URL分类数据库,完善云端URL分类数据库的类别,提升URL分类的颗粒度。
S407:将所述URL新类别归入所述云端URL分类数据库,备份保存;得到URL新类别之后,将新类别中的信息进行备份保存。在云端URL分类数据库与本地URL分类数据库中交互更新时,云端URL分类数据库将URL新类别的信息以及URL新类别中现有的高频URL更新到本地URL分类数据库中。
S408:在所述DNS响应报文中记录所述URL新类别的信息。将经过机器学习服务器处理后得到的URL新类别的信息记录在DNS响应报文中的URL-Type字节中。
S5:解析所述IP地址信息得到IP地址,识别所述URL分类信息得到URL类别。在网关类产品接收到DNS响应报文后,会对DNS响应报文中的IP地址信息和URL分类信息进行识别。所述IP地址信息直接通过玩骨干类产品进行识别,得到IP地址;URL分类信息通过保存DNS响应报文中记载的URL分类信息字节,与本地URL分类数据库中的进行匹配对应,得到相应的URL类别。
可选地,在识别URL分类信息得到URL类别后,云端URL分类数据库与本地URL分类数据库进行交互,实时更新所述本地URL分类数据库。将云端URL分类数据库得到的URL类别更新至本地URL分类数据库中,用户再次访问该域名时,直接通过本地URL分类数据库对域名的URL类别进行提取,节省URL类别查找的时间。
第二方面,本申请提供了一种基于DNS引流实现百亿级URL识别分类系统。参见图5,为一种基于DNS引流实现百亿级URL识别分类系统结构流程图。由图可知,所述系统包括:用户设备交互模块、查询模块、转移模块、云端交互模块、解析识别模块。其中,所述用户设备交互模块被配置为:获取用户设备发送的对域名的访问指令;将所述IP地址和所述URL类别发送至用户设备;
所述查询模块被配置为:当获取到用户设备发送的对域名的访问指令后,查询Hosts文件和DNS缓存以及本地URL分类数据库中是否存在所述域名的IP地址和URL类别;
所述转移模块被配置为:查询到所述域名的IP地址时,转入至所述域名的IP地址;
所述云端交互模块被配置为:向云服务器端发送所述DNS请求指令;接收所述云服务器端反馈的所述DNS响应报文;对所述域名进行识别,获取所述域名信息,发送至云服务器端;
所述解析识别模块被配置为:获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文后,解析所述IP地址信息得到IP地址,识别所述URL分类信息得到URL类别。
所述系统的具体工作流程为:用户设备交互模块获取用户设备发出的对域名的访问指令,并发送信号至查询模块,查询模块接收到用户设备交互模块的指令后,在Hosts文件中查询所述域名的IP地址,如果查询到所述域名的IP地址,发送转入指令至转入模块,转入模块转入至用户设备。如果查询模块没有在Hosts文件中查询到所述域名的IP地址,则在DNS缓存中进行再次查询,如果查询到所述域名的IP地址,返回至转入模块步骤。如果还是查询不到,则在本地URL分类数据库中再次查询。当查询模块在Hosts文件和DNS缓存中以及本地URL分类数据库中均查询不到所述域名的IP地址时,云端交互模块发送DNS请求指令激活云服务器端,将所述域名的域名信息发送至云服务器端进行处理;接收云服务器端反馈的DNS响应报文,将DNS响应报文发送到解析识别模块。识别解析模块接收云端交互模块发送的DNS响应报文,并将DNS响应报文中记载的IP地址信息和URL分类信息进行识别解析,得到IP地址和URL的类别。
可选地,所述云端交互模块和所述用户设备交互模块被配置为:实现所述云端URL分类数据库与所述本地URL分类数据库进行交互,实时更新所述本地URL分类数据库。云端交互模块接收云服务器端发送的交互请求,并发送指令给用户交互模块。用户交互模块与本地URL分类数据库达成连接状态,云端交互模块与云端URL分类数据库达成连接状态,云端URL分类数据库通过云端交互模块和用户交互模块组成的连接通道传输URL类别的数据,实现云端URL分类数据库与本地URL分类数据库的实时更新。
可选地,所述系统还包括DNS缓存回收模块,被配置为:保留并上传被自动清除的DNS缓存至云端URL分类数据库。一般情况下,Hosts文件不会预置很多域名和IP地址信息,而DNS缓存存在定期清除机制。当用户访问一个网址的时候,本地服务器需要对这个网址进行解析,并且将这个网址的IP地址临时存储起来作为DNS缓存,当用户再次访问这个网址时就可以直接解析,提高了DNS的响应速度。网关设备会为DNS缓存设定一个预设时长的有效时间,在过了这个有效时间之后,网关设备会自动清除这个IP地址。所述DNS缓存回收模块将网关设备清除的DNS缓存进行回收,并通过云端交互模块连接至云端URL分类数据库,将被清除的DNS缓存上传至云端URL分类数据库。保证在解析IP地址时,不会因为DNS缓存的清除而查询不到IP地址或者从新发送请求指令进行查询。一方面提高,用户访问网址,解析IP地址的效率,另一方面,将被清除的DNS缓存上传至云端URL分类数据库,完善了云端URL分类数据库的类别,提高URL分类的颗粒度,且后续云端可以基于全网进行汇总判断之后,根据全网使用频次将合适的DNS缓存同步到本地网关。
可选地,所述云端交互模块接收所述云服务器端反馈的所述DNS响应报文前,对所述DNS响应报文进行信息识别,包括:
识别所述域名的IP地址;
识别URL分类信息;
识别DNS响应报文附加信息区域的资源数据长度。
云端交互模块识别DNS响应报文中是否存在反映IP地址信息的字节,以及是否存在反映URL分类信息的字节。判断DNS响应报文附加信息区域的资源数据长度是否符合DNS响应报文的格式。如果云端交互模块识别DNS响应报文中存在IP地址信息和URL分类信息相应的字节不清楚或者缺少字节、附加信息区域的资源数据长度不符合DNS响应报文格式等问题,将DNS响应报文返回至云服务器端重新反馈。
可选地,所述用户设备交互模块接收访问指令之前,对所述域名进行安全监测,如果所述域名安全,则接收所述访问指令;如果所述域名危险,则驳回所述访问指令,用户设备交互模块向用户设备发送危险警告。用户交互模块会对用户访问的所有域名进行安全监测,防止用户在访问恶意域名时受到网络攻击造成不必要的损失。
进一步地,可在用户交互模块中部署网络安全监测工具,对用户访问的每一个域名进行实时监测,当监测出用户访问恶意网址时,立即终止访问,驳回访问请求指令,向用户设备端发送危险报告。
由上述技术方案可知,第一方面,本申请提供一种基于DNS引流实现百亿级URL识别分类方法,通过借助DNS代理技术,将用户端的访问请求引向云服务器端,通过在云服务器端部署DNS服务器、云端URL分类数据库、机器学习服务器,DNS服务器将域名解析为对应的IP地址,云端URL分类数据库存储百亿级的URL信息和类别,机器学习服务器可以完成URL数据集的训练和分类,并更新到URL分类数据库中,最终实现对域名的解析和分类功能,将URL的存储容量从千万级转变为百亿级,且可以自动更新。通过DNS引流到云服务器的方式,减少了本地URL库碰撞对网关类产品的性能消耗,增加了URL分类的量级和颗粒度。同时,由于云服务器端的高性能,URL的识别和分类速度不再受限于用户设备的磁盘容量和CPU处理速度,能够得到明显提升。
另一方面,本申请提供了一种基于DNS引流实现百亿级URL识别分类系统,在基于DNS引流实现百亿级URL识别分类系统中,建立用户设备和云服务器端的通道,将云服务器端能够和用户设备进行实时交互,并推动URL识别分类的完成。将现有技术的两步操作,发送DNS请求指令和与本地URL分类数据库进行碰撞,简化为仅发送DNS请求指令即可,提升了处理速度,提高了网关类产品的使用性能。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (8)
1.一种基于DNS引流实现百亿级URL识别分类方法,其特征在于,所述方法包括以下步骤:
获取用户设备发送的对域名的访问指令;
查询所述域名的IP地址,如果存在,访问所述IP地址;
当查询不到所述域名的IP地址时,发送DNS请求指令激活云服务器端;
获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文,所述DNS响应报文记载有IP地址信息和URL分类信息;
解析所述IP地址信息得到IP地址,识别所述URL分类信息得到URL类别;
其中,所述获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文的步骤包括:
对所述域名信息进行处理,得到标准域名信息,所述标准域名信息后缀带有顶级域名;
将所述标准域名信息带入云端URL分类数据库进行匹配,如果匹配成功,将所述标准域名信息归纳到相匹配的URL类别,在所述DNS响应报文中记录所述URL分类信息;
如果匹配失败,将所述标准域名信息转入机器学习服务器;
所述机器学习服务器对所述标准域名信息进行分类识别,建立URL新类别,将所述标准域名信息归入所述URL新类别;
其中,建立URL新类别包括:
提取URL图片信息和URL文字信息;其中,采用TF-IDF算法或者LDA模型提取所述URL文字信息;采用贝叶斯模型或因式分解机将所述URL文字信息基于所述URL文字信息中的关键字进行分类;采用计算机视觉手段将所述URL图片信息进行识别分类;
将所述URL新类别归入所述云端URL分类数据库,备份保存;
在所述DNS响应报文中记录所述URL新类别的信息;
在所述DNS响应报文中记录所述URL分类信息包括:在所述DNS响应报文的资源数据区域添加带有所述URL分类信息的种类字节,所述种类字节为“URL-Type”和表示类别的数字。
2.根据权利要求1所述一种基于DNS引流实现百亿级URL识别分类方法,其特征在于,所述获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文的步骤包括:
查找所述域名信息的IP映射关系,如果存在,将所述域名信息的IP地址记录到所述DNS响应报文中;
如果查询不到所述域名信息的IP映射关系,则在所述DNS响应报文中的RCODE响应字段给出相应的标识。
3.根据权利要求1所述一种基于DNS引流实现百亿级URL识别分类方法,其特征在于,在识别所述URL分类信息得到URL类别后,所述方法还包括:所述云端URL分类数据库与本地URL分类数据库进行交互,实时更新所述本地URL分类数据库。
4.一种基于DNS引流实现百亿级URL识别分类系统,其特征在于,包括用户设备交互模块、查询模块、转移模块、云端交互模块、解析识别模块;
所述用户设备交互模块被配置为:获取用户设备发送的对域名的访问指令;将域名的IP地址发送至用户设备;
所述查询模块被配置为:当获取到用户设备发送的对域名的访问指令后,查询Hosts文件和DNS缓存以及本地URL分类数据库中是否存在所述域名的IP地址和URL类别;
所述转移模块被配置为:查询到所述域名的IP地址时,转入至所述域名的IP地址;
所述云端交互模块被配置为:当查询不到所述域名的IP地址时,接收DNS请求指令,对所述域名进行识别,获取所述域名信息,发送至云服务器端;获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文,所述DNS响 应报文记载有IP地址信息和URL分类信息;
所述获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文的步骤包括:
对所述域名信息进行处理,得到标准域名信息,所述标准域名信息后缀带有顶级域名;
将所述标准域名信息带入云端URL分类数据库进行匹配,如果匹配成功,将所述标准域名信息归纳到相匹配的URL类别,在所述DNS响应报文中记录所述URL分类信息;
如果匹配失败,将所述标准域名信息转入机器学习服务器;
所述机器学习服务器对所述标准域名信息进行分类识别,建立URL新类别,将所述标准域名信息归入所述URL新类别;
其中,建立URL新类别包括:
提取URL图片信息和URL文字信息;其中,采用TF-IDF算法或者LDA模型提取所述URL文字信息;采用贝叶斯模型或因式分解机将所述URL文字信息基于所述URL文字信息中的关键字进行分类;采用计算机视觉手段将所述URL图片信息进行识别分类;
将所述URL新类别归入所述云端URL分类数据库,备份保存;
在所述DNS响应报文中记录所述URL新类别的信息;
在所述DNS响应报文中记录所述URL分类信息包括:在所述DNS响应报文的资源数据区域添加带有所述URL分类信息的种类字节,所述种类字节为“URL-Type”和表示类别的数字;
所述解析识别模块被配置为:获取云服务器端反馈的与所述DNS请求指令对应的DNS响应报文后,解析所述IP地址信息得到所述域名的IP地址,识别所述URL分类信息得到URL类别。
5.根据权利要求4所述一种基于DNS引流实现百亿级URL识别分类系统,其特征在于,所述云端交互模块和所述用户设备交互模块被配置为:实现所述云端URL分类数据库与所述本地URL分类数据库进行交互,实时更新所述本地URL分类数据库。
6.根据权利要求4所述一种基于DNS引流实现百亿级URL识别分类系统,其特征在于,所述系统还包括DNS缓存回收模块,被配置为:保留并上传被自动清除的DNS缓存至云端URL分类数据库。
7.根据权利要求4所述一种基于DNS引流实现百亿级URL识别分类系统,其特征在于,所述云端交互模块接收所述云服务器端反馈的所述DNS响应报文前,对所述DNS响应报文进行信息识别,包括:
识别所述域名的IP地址;
识别URL分类信息;
识别DNS响应报文附加信息区域的资源数据长度。
8.根据权利要求4所述一种基于DNS引流实现百亿级URL识别分类系统,其特征在于,所述用户设备交互模块接收访问指令之前,对所述域名进行安全监测,如果所述域名安全,则接收所述访问指令;如果所述域名危险,则驳回所述访问指令,用户设备交互模块向用户设备发送危险警告。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210034044.0A CN114051014B (zh) | 2022-01-13 | 2022-01-13 | 基于dns引流实现百亿级url识别分类方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210034044.0A CN114051014B (zh) | 2022-01-13 | 2022-01-13 | 基于dns引流实现百亿级url识别分类方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114051014A CN114051014A (zh) | 2022-02-15 |
CN114051014B true CN114051014B (zh) | 2022-04-19 |
Family
ID=80196357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210034044.0A Active CN114051014B (zh) | 2022-01-13 | 2022-01-13 | 基于dns引流实现百亿级url识别分类方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114051014B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073722A (zh) * | 2011-01-11 | 2011-05-25 | 吕晓东 | Url云发布系统 |
CN102223422A (zh) * | 2011-08-02 | 2011-10-19 | 杭州迪普科技有限公司 | 一种dns报文处理方法及网络安全设备 |
CN108062413A (zh) * | 2017-12-30 | 2018-05-22 | 平安科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备及存储介质 |
CN109995889A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 映射关系表的更新方法、装置、网关设备及存储介质 |
CN111314301A (zh) * | 2020-01-17 | 2020-06-19 | 武汉思普崚技术有限公司 | 一种基于dns解析的网站访问控制方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104079534B (zh) * | 2013-03-27 | 2017-11-03 | 中国移动通信集团北京有限公司 | 一种http缓存实现方法和系统 |
CN103870606B (zh) * | 2014-04-08 | 2017-05-10 | 上海语天信息技术有限公司 | 一种网页信息提取系统及提取方法 |
US10079876B1 (en) * | 2014-09-30 | 2018-09-18 | Palo Alto Networks, Inc. | Mobile URL categorization |
CN111753223B (zh) * | 2020-06-09 | 2024-01-30 | 北京天空卫士网络安全技术有限公司 | 一种访问控制的方法和装置 |
-
2022
- 2022-01-13 CN CN202210034044.0A patent/CN114051014B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073722A (zh) * | 2011-01-11 | 2011-05-25 | 吕晓东 | Url云发布系统 |
CN102223422A (zh) * | 2011-08-02 | 2011-10-19 | 杭州迪普科技有限公司 | 一种dns报文处理方法及网络安全设备 |
CN108062413A (zh) * | 2017-12-30 | 2018-05-22 | 平安科技(深圳)有限公司 | 网页数据处理方法、装置、计算机设备及存储介质 |
CN109995889A (zh) * | 2018-01-02 | 2019-07-09 | 中国移动通信有限公司研究院 | 映射关系表的更新方法、装置、网关设备及存储介质 |
CN111314301A (zh) * | 2020-01-17 | 2020-06-19 | 武汉思普崚技术有限公司 | 一种基于dns解析的网站访问控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114051014A (zh) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4102367B2 (ja) | ネットワークに対する知能型トラフィック管理システムおよびそれを利用した知能型トラフィック管理方法 | |
CN109905288B (zh) | 一种应用服务分类方法及装置 | |
CN103685599B (zh) | 一种域名递归服务的预判干预方法 | |
CN112600868B (zh) | 域名解析方法、域名解析装置及电子设备 | |
CN112217916A (zh) | 一种新型的工业互联网标识解析递归服务器的缓存方法和系统 | |
WO2013181972A1 (zh) | 网络访问行为识别方法和装置 | |
WO2013159512A1 (zh) | 用户行为分析方法及相关设备和系统 | |
CN110430188A (zh) | 一种快速url过滤方法及装置 | |
CN107580052B (zh) | 自演进的网络自适应爬虫方法及系统 | |
CN109218457B (zh) | 网络数据处理方法、装置和系统 | |
CN102739811A (zh) | 域名解析的方法和设备 | |
CN101262353A (zh) | 过滤网址的通信方法、装置及系统 | |
WO2012119538A1 (zh) | 对dns解析请求进行解析的方法、系统、智能dns、计算机程序和存储介质 | |
KR101172885B1 (ko) | 디바이스 식별자를 이용한 디바이스 프로파일 제공 시스템 및 방법 | |
CN110855766A (zh) | 一种访问Web资源的方法、装置及代理服务器 | |
CN101551813A (zh) | 网络连接设备、搜索设备及搜集搜索引擎数据源的方法 | |
CN101727471A (zh) | 网站内容检索系统及方法 | |
CN115080272A (zh) | 一种业务数据处理方法、电子设备及存储介质 | |
CN113315852B (zh) | 一种域名解析的方法、装置及系统 | |
CN114466054A (zh) | 数据处理方法、装置、设备,及计算机可读存储介质 | |
CN114051014B (zh) | 基于dns引流实现百亿级url识别分类方法及系统 | |
CN110798545B (zh) | 一种基于Web的域名数据获取方法 | |
CN102098328A (zh) | 超文本传输协议http流关联方法和设备 | |
CN108076165A (zh) | 一种域名解析信息管理的方法、设备及系统 | |
CN101605032A (zh) | 一种控制网站访问的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |