一种获取分析DNS流量数据的方法及其系统与流程

文档序号:16899751发布日期:2019-02-19 17:51阅读:1387来源:国知局
一种获取分析DNS流量数据的方法及其系统与流程

本发明涉及生物化工领域,具体地说是一种获取分析dns流量数据的方法及其系统。



背景技术:

随着互联网的迅速发展以及web用户规模的日益壮大,网页的内容愈加丰富多彩,组成网页的元素种类也更加多样,不仅包括可以直接被web用户感知的图像、动画、视频、音频等多媒体资源,还包括用于增加用户浏览体验的网页框架、脚本程序、层叠样式表等代码资源文件。

这些页面元素大都是以单独的文件形式存放于不同的网页资源服务器上的,在网页加载的过程中由浏览器发起请求从存放相应资源的服务器上获得这些资源文件,而获得这些资源文件的前提便是进行域名解析,在这个过程中必然需要dns的参与,产生大量dns流量。

目前针对dns流量的研究方法大都是利用部署在骨干网的测量节点完成,同时缺少以网页加载过程中dns流量为研究对象来分析web页面性能、页面资源服务器部署分布情况以及网页cdn服务使用情况的方法。



技术实现要素:

本发明就是为了解决现有方法分析web页面性能和服务使用情况的准确度的技术问题,提供了一种便捷、准确性高的获取分析网页首次加载过程中dns流量数据的方法及其系统。

为此,本发明提供了一种获取分析dns流量数据的方法,具体包括以下步骤:

a.获取网页首次加载过程中的dns流量数据;

b.将所述步骤a中获取的dns流量数据进行处理,分别进行域名数量统计、dns解析时间统计和资源记录分类统计;

c.根据所述步骤b中域名数量统计和dns解析时间统计分析网页性能;

d.根据所述步骤b中资源记录分类统计分析网页资源的服务器地理位置、ip运营商的分布情况和网页使用cdn服务情况。

优选地,步骤a中获取网页首次加载过程中的dns流量数据,包括以下步骤:

a.清除禁止系统和浏览器使用dns缓存;

b.获取url作为网页研究对象,取出所述网页url作为网页探测对象;

c.监听网卡端口,模拟用户打开网页url行为,捕获网页首次加载过程中流经网卡端口的dns流量数据;

d.提取所述步骤c中网卡端口捕获的dns流量数据按照键值对的形式存入非关系型数据库。

优选地,步骤b中dns流量数据进行处理,包括以下步骤:

(1)将dns报文分为dns请求报文和dns响应报文,确定dns响应报文的资源记录类型;

(2)获得网页加载过程中请求域名的种类及针对每种域名请求的数量,请求域名总数量,网页加载过程中响应域名的种类及针对每种域名响应的数量,响应域名总数量,网页加载过程中未被成功响应的资源域名及数量,网页加载过程中域名解析率;

(3)获取网页首次加过程中网页中的资源域名进行dns解析的时间;

(4)将dns响应报文按照a记录和cname记录进行统计。

优选地,步骤(4)中a记录数据,利用目数据接口数据将ip进行解析,获取ip地理位置和确定ip运营商;将步骤(4)中cname记录数据与cdn服务商提供的别名采用关键字匹配的方法确定网页是否使用cdn服务。

本发明同时提供了一种获取分析dns流量数据的系统,设有获取dns流量模块和dns流量分析模块,获取dns流量模块,用来网页首次加载的url数据源,捕获url数据源中网页url加载过程中的dns流量,并提取dns流量的请求报文和响应报文中的内容存入到数据库中;

dns流量分析模块,用来分别从数量角度、时间角度和dns响应报文资源记录回答区域角度分析dns流量。

优选地,获取dns流量模块设有处理dns缓存模块、采集url数据源模块、捕获网页首次加载的dns流量模块和提取并存储dns报文内容模块;

处理dns缓存模块,用来对不同系统不同浏览器采取不同方式清除并禁止系统以及浏览器dns缓存;采集url数据源模块,用来利用网络爬虫获取网页url;捕获网页首次加载dns流量模块,用来捕获url数据源中每个url首次加载过程中流经端口的dns流量数据;提取并存储dns报文的内容模块,用来将捕获到的dns流量数据分类存入数据库。

优选地,dns流量分析模块设有dns报文内容处理模块、域名数量统计模块、dns解析时间统计模块、资源记录分类统计模块、a记录ip解析模块、cname记录cdn匹配模块、页面性能分析模块、网页资源地理位置及运营商统计模块和网页cdn服务使用情况统计模块;

dns报文内容处理模块,用来对存入数据库的dns报文内容进行数据清洗处理;域名数量统计模块,用来统计出dns请求报文和dns响应报文中资源域名的数量关系;dns解析时间统计模块,通过dns响应报文获取每个资源域名的dns解析时间;资源记录分类统计模块,用来对所述dns报文内容处理模块数据清洗后的dns响应报文按照a记录和cname记录分类;a记录ip解析模块,用来将a记录ip解析为地理位置信息;所述cname记录cdn匹配模块,用来将响应报文的cname记录的域名与cdn服务商提供的别名进行匹配判断;页面性能分析模块,用来根据所述域名数量统计模块以及所述dns解析时间统计模块分析出网页在dns解析这方面的性能;网页资源地理位置及运营商统计模块,用来根据所述a记录ip解析模块获得的地理位置信息统计出网页资源的地理位置分布及使用运营商情况;网页cdn服务使用情况统计模块,根据所述cname记录cdn匹配模块匹配判断后的数据统计网页使用cdn服务情况。

本发明有益效果是,从网页首次加载过程中的dns流量出发,提出一种全新的获取与全面的分析dns流量数据的方法。监听客户端网卡端口,模拟用户打开网页url,更加便捷、准确的获取网页首次加载过程中的dns流量。而且,多个角度出发,分析网页首次加载过程中的dns流量数据,可从中得到web页面性能、页面资源服务器地理位置分布情况以及页面cdn使用情况。

附图说明

图1为本发明实施例1结构示意图;

图2为本发明实施例2结构示意图。

具体实施方式

根据下述实施例,可以更好地理解本发明。然而,本领域的技术人员容易理解,实施例所描述的内容仅用于说明本发明,而不应当也不会限制权利要求书中所描述的本发明。

实施例1获取dns流量模块,主要包括以下几个步骤:

步骤1:清除禁止系统以及浏览器使用dns缓存,例如linux系统默认关闭dns缓存,火狐浏览器通过修改它的配置信息将network.dnscacheexpirationgraceper、network.dnscacheexpiration均设为0。

步骤2:通过采集url数据源模块获取alexa中国的排名前两百的站点url作为网页研究对象,逐个取出网页url作为本次网页探测对象;

步骤3:通过捕获网页首次加载dns流量模块,监听网卡53号端口,模拟用户在浏览器中打开网页url行为,捕获到网页首次加载过程中流经53号端口的dns流量数据。

步骤4:通过提取并存储dns报文的内容模块,提取53号端口捕获的dns流量研究内容按照键值对的形式存入非关系型数据库中。

实施例2dns流量分析模块,主要包括以下几个步骤:

步骤1:通过dns报文内容处理模块,将dns报文分为dns请求报文和dns响应报文,确定dns响应报文的资源记录类型。

步骤2:通过域名数量统计模块,获得本次网页加载过程中请求域名的种类及针对每种域名请求的数量,请求的域名总数量;本次网页加载过程中响应域名的种类及针对每种域名响应的数量,响应的域名总数量;本次网页加载过程中未被成功响应的资源域名及数量;本次网页加载过程中域名解析率。

步骤3:通过dns解析时间统计模块,获取网页首次加过程中网页中的资源域名进行dns解析的时间。

步骤4:通过资源记录分类统计模块,将dns报文内容处理模块后的dns响应报文按照a记录和cname记录进行统计。

步骤5:通过a记录ip解析模块,利用目前已经存在的数据接口数据将ip进行解析,获取ip地理位置以及确定ip运营商。

步骤6:通过cname记录cdn匹配模块,对cname记录的域名与cdn服务商提供的别名采用关键字匹配的方法确定网页是否使用cdn服务。

步骤7:通过页面性能分析模块,利用域名数量统计模块和dns解析时间统计模块获得的数据从网页dns解析性能的角度分析网页性能。

步骤8:根据步骤5获得的数据,利用网页资源地理位置统计模块统计出网页资源的服务器地理位置以及ip运营商的分布情况。

步骤9:根据步骤6获得的数据,利用网页cdn服务使用情况统计模块统计出网页使用cdn服务情况。

惟以上所述者,仅为本发明的具体实施例而已,当不能以此限定本发明实施的范围,故其等同组件的置换,或依本发明专利保护范围所作的等同变化与修改,皆应仍属本发明权利要求书涵盖之范畴。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1