一种实时监控DNS队列请求数的方法及系统与流程

文档序号:17488950发布日期:2019-04-23 20:15阅读:648来源:国知局
一种实时监控DNS队列请求数的方法及系统与流程

本发明涉及域名系统dns领域,特别是涉及一种实时监控dns队列请求数的方法及系统。



背景技术:

idc域名供应商为客户提供dns服务,做域名解析服务。每天都会有成千上万个域名请求dns服务解析,dns服务业务很重要。而dns服务容易遭受udpflood攻击,造成dns服务阻塞不可用,所以dns服务需要被实时监控管理请求数以及判断攻击设定阈值。dns服务一般使用udp协议的53端口。无连接的udp协议相比与有连接方便监控的tcp协议,53端口请求数即dns请求数的监控就不容易实现。



技术实现要素:

本发明的目的是提供一种实时监控dns队列请求数的方法及系统,能够解决dns服务自动实时监控请求数难的问题,及时风险报警。

为实现上述目的,本发明提供了如下方案:

一种实时监控dns队列请求数的方法,包括:

获取设定时段内dns服务对应的53端口的接收队列请求数;

获取攻击设定阈值;

判断所述接收队列请求数是否小于所述攻击设定阈值;

若是,则表示设定时段内dns访问请求正常;

若否,则表示设定时段内开始有dns攻击不正常请求,进行邮件报警,并执行自动动作拦截攻击源ip。

可选的,所述获取攻击设定阈值,具体包括:

根据公式a=n*m*3.5获取攻击设定阈值;

其中,a表示设定阈值,n表示域名服务的域名数量,m表示单个域名平均每分钟访问请求数,3.5为访问系数。

可选的,所述获取设定时段内dns服务对应的53端口的接收队列请求数,具体包括:

通过脚本获取设定时段内dns服务对应的53端口的接收队列请求数。

可选的,所述方法还包括:

将所述接收队列请求数写入数据库,得到第一数据库;

根据所述第一数据库中的数据生成监控图表;

根据所述监控图表实时监控接收队列请求数。

一种实时监控dns队列请求数的系统,包括:

接收队列请求数获取模块,用于获取设定时段内dns服务对应的53端口的接收队列请求数;

攻击设定阈值获取模块,用于获取攻击设定阈值;

判断模块,用于判断所述接收队列请求数是否小于所述攻击设定阈值;

第一判断结果模块,用于若所述接收队列请求数小于所述攻击设定阈值,则表示设定时段内dns访问请求正常;

第二判断结果模块,用于若所述接收队列请求数大于或等于所述攻击设定阈值,则表示设定时段内开始有dns攻击不正常请求,进行邮件报警,并执行自动动作拦截攻击源ip。

可选的,所述攻击设定阈值获取模块具体包括:

攻击设定阈值获取单元,用于根据公式a=n*m*3.5获取攻击设定阈值;

其中,a表示设定阈值,n表示域名服务的域名数量,m表示单个域名平均每分钟访问请求数,3.5为访问系数。

可选的,所述接收队列请求数获取模块具体包括:

接收队列请求数获取单元,用于通过脚本获取设定时段内dns服务对应的53端口的接收队列请求数。

可选的,所述系统还包括:

第一数据库获取模块,用于将所述接收队列请求数写入数据库,得到第一数据库;

监控图表生成模块,用于根据所述第一数据库中的数据生成监控图表;

实时监控模块,用于根据所述监控图表实时监控接收队列请求数。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供一种实时监控dns队列请求数的方法,包括:获取设定时段内dns服务对应的53端口的接收队列请求数;获取攻击设定阈值;判断所述接收队列请求数是否小于所述攻击设定阈值;若是,则表示设定时段内dns访问请求正常;若否,则表示设定时段内开始有dns攻击不正常请求,进行邮件报警,并执行自动动作拦截攻击源ip。通过上述方法,能够解决dns服务自动实时监控请求数难的问题,及时风险报警。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例1实时监控dns队列请求数的方法流程图;

图2为本发明实施例1实时监控dns队列请求数的系统结构图;

图3为本发明实施例2实时监控dns队列请求数的方法流程图;

图4为本发明实施例2实时监控dns队列请求数的系统结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种实时监控dns队列请求数的方法及系统,能够解决dns服务自动实时监控请求数难的问题,及时风险报警。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

图1为本发明实施例1实时监控dns队列请求数的方法流程图。如图1所示,一种实时监控dns队列请求数的方法,包括:

步骤101:获取设定时段内dns服务对应的53端口的接收队列请求数;

步骤102:获取攻击设定阈值;

步骤103:判断所述接收队列请求数是否小于所述攻击设定阈值;

步骤104:若是,则表示设定时段内dns访问请求正常;

步骤105:若否,则表示设定时段内开始有dns攻击不正常请求,进行邮件报警,并执行自动动作拦截攻击源ip。

步骤102具体包括:

根据公式a=n*m*3.5获取攻击设定阈值;

其中,a表示设定阈值,n表示域名服务的域名数量,m表示单个域名平均每分钟访问请求数,3.5为访问系数。

步骤101具体包括:

通过脚本获取设定时段内dns服务对应的53端口的接收队列请求数。

通过上述方法,本发明能够解决dns服务自动实时监控请求数难的问题,及时风险报警。

图2为本发明实施例1实时监控dns队列请求数的系统结构图。如图2所示,一种实时监控dns队列请求数的系统,包括:

接收队列请求数获取模块201,用于获取设定时段内dns服务对应的53端口的接收队列请求数;

攻击设定阈值获取模块202,用于获取攻击设定阈值;

判断模块203,用于判断所述接收队列请求数是否小于所述攻击设定阈值;

第一判断结果模块204,用于若所述接收队列请求数小于所述攻击设定阈值,则表示设定时段内dns访问请求正常;

第二判断结果模块205,用于若所述接收队列请求数大于或等于所述攻击设定阈值,则表示设定时段内开始有dns攻击不正常请求,进行邮件报警,并执行自动动作拦截攻击源ip。

所述攻击设定阈值获取模块202具体包括:

攻击设定阈值获取单元,用于根据公式a=n*m*3.5获取攻击设定阈值;

其中,a表示设定阈值,n表示域名服务的域名数量,m表示单个域名平均每分钟访问请求数,3.5为访问系数。

所述接收队列请求数获取模块201具体包括:

接收队列请求数获取单元,用于通过脚本获取设定时段内dns服务对应的53端口的接收队列请求数。

图3为本发明实施例2实时监控dns队列请求数的方法流程图。如图3所示,一种实时监控dns队列请求数的方法,包括:

步骤301:获取设定时段内dns服务对应的53端口的接收队列请求数;

步骤302:将所述接收队列请求数写入数据库,得到第一数据库;

步骤303:根据所述第一数据库中的数据生成监控图表;

步骤304:根据所述监控图表实时监控接收队列请求数;

步骤305:获取攻击设定阈值;

步骤306:判断所述接收队列请求数是否小于所述攻击设定阈值;

步骤307:若是,则表示设定时段内dns访问请求正常;

步骤308:若否,则表示设定时段内开始有dns攻击不正常请求,进行邮件报警,并执行自动动作拦截攻击源ip。

步骤102具体包括:

根据公式a=n*m*3.5获取攻击设定阈值;

其中,a表示设定阈值,n表示域名服务的域名数量,m表示单个域名平均每分钟访问请求数,3.5为访问系数。

步骤101具体包括:

通过脚本获取设定时段内dns服务对应的53端口的接收队列请求数。

通过上述方法,本发明能够解决dns服务自动实时监控请求数难的问题,提高dns运维效率,降低dns运维风险,能够及时风险报警。

图4为本发明实施例2实时监控dns队列请求数的系统结构图。如图4所示,一种实时监控dns队列请求数的系统,包括:

接收队列请求数获取模块401,用于获取设定时段内dns服务对应的53端口的接收队列请求数;

第一数据库获取模块402,用于将所述接收队列请求数写入数据库,得到第一数据库;

监控图表生成模块403,用于根据所述第一数据库中的数据生成监控图表;

实时监控模块404,用于根据所述监控图表实时监控接收队列请求数。

攻击设定阈值获取模块405,用于获取攻击设定阈值;

判断模块406,用于判断所述接收队列请求数是否小于所述攻击设定阈值;

第一判断结果模块407,用于若所述接收队列请求数小于所述攻击设定阈值,则表示设定时段内dns访问请求正常;

第二判断结果模块408,用于若所述接收队列请求数大于或等于所述攻击设定阈值,则表示设定时段内开始有dns攻击不正常请求,进行邮件报警,并执行自动动作拦截攻击源ip。

所述攻击设定阈值获取模块402具体包括:

攻击设定阈值获取单元,用于根据公式a=n*m*3.5获取攻击设定阈值;

其中,a表示设定阈值,n表示域名服务的域名数量,m表示单个域名平均每分钟访问请求数,3.5为访问系数。

所述接收队列请求数获取模块401具体包括:

接收队列请求数获取单元,用于通过脚本获取设定时段内dns服务对应的53端口的接收队列请求数。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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