CN115348234B - 服务器检测方法、装置及电子设备 - Google Patents
服务器检测方法、装置及电子设备 Download PDFInfo
- Publication number
- CN115348234B CN115348234B CN202210956351.4A CN202210956351A CN115348234B CN 115348234 B CN115348234 B CN 115348234B CN 202210956351 A CN202210956351 A CN 202210956351A CN 115348234 B CN115348234 B CN 115348234B
- Authority
- CN
- China
- Prior art keywords
- server
- target
- score
- current period
- determining
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 131
- 238000000034 method Methods 0.000 claims abstract description 52
- 230000004044 response Effects 0.000 claims abstract description 22
- 230000002159 abnormal effect Effects 0.000 claims description 47
- 238000012360 testing method Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 13
- 230000009467 reduction Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 206010000117 Abnormal behaviour Diseases 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 230000001186 cumulative effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000011002 quantification Methods 0.000 description 5
- 230000000295 complement effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 208000021907 Central cloudy dystrophy of François Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种服务器检测方法、装置及电子设备。涉及信息安全领域,该方法包括:向至少一个服务器中的每个服务器周期性地发送多个请求;接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文;基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,其中,目标得分用于表征服务器工作状态的稳定程度;基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。本发明解决了现有技术中相关方法从服务器中检测出能够提供正常服务的服务器的检测准确率低的技术问题。
Description
技术领域
本发明涉及信息安全领域,具体而言,涉及一种服务器检测方法、装置及电子设备。
背景技术
域名系统(DNS,Domain Name System)作为互联网最重要的公开分布式数据库系统之一,为各种基于域名的web应用、邮件服务等系统提供关键的域名与地址空间的转化服务,使得这些互联网上的功能系统能正常运行。
正是由于DNS系统的公开性,恶意攻击者能够利用DNS系统实施网络攻击,例如DDOS(分布式拒绝服务)攻击、缓存投毒、域名劫持等,或是劫持用户使用钓鱼DNS从而访问恶意网站。除此之外,有些攻击者会搭建可实现DNS隐蔽信道传输的伪装DNS服务器来进行窃密或者远程控制等恶意行为。
目前,为了保证相关业务的正常运行,现有方法主要通过扫描DNS服务器53端口是否开放,针对53端口发送versionbind请求,或是向DNS服务器请求查询常见的域名A记录的方法来确定提供正常服务的DNS服务器。然而,前述方法在有对应结果返回的情况下,便认为被检测DNS服务器能够提供正常服务,从而难以甄别刻意构造返回请求以隐藏自身的恶意或伪装DNS服务器的服务器,进而使得针对于提供正常服务的DNS服务器的检测具有检测准确率低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种服务器检测方法、装置及电子设备,以至少解决现有技术中相关方法从服务器中检测出能够提供正常服务的服务器的检测准确率低的技术问题。
根据本发明实施例的一个方面,提供了一种服务器检测方法,包括:向至少一个服务器中的每个服务器周期性地发送多个请求;接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文;基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,其中,目标得分用于表征服务器工作状态的稳定程度;基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
进一步地,服务器检测方法还包括:对至少一个服务器在当前周期内所反馈的每个报文的报文内容进行检测,得到检测结果;基于检测结果,确定至少一个服务器的服务器类型,其中,服务器类型包括第一服务器类型和第二服务器类型,第一服务器类型表征服务器在当前周期内所反馈的报文中存在异常报文,第二服务器类型表征服务器在当前周期内所反馈的报文中不存在异常报文;基于至少一个服务器的服务器类型,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分。
进一步地,服务器检测方法还包括:在目标数据库内存在第一目标服务器的标识的情况下,基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,以及第一目标服务器在上一周期内的得分,确定第一目标服务器在当前周期内的目标得分,其中,目标数据库至少用于存储至少一个服务器的标识以及至少一个服务器在当前周期内的目标得分,第一目标服务器为至少一个服务器中服务器类型为第一服务器类型的服务器中的任意一个服务器;在目标数据库内存在第二目标服务器的标识的情况下,获取第一分数;基于第一分数,以及第二目标服务器在上一周期内的得分,确定第二目标服务器在当前周期内的目标得分,其中,第二目标服务器为至少一个服务器中服务器类型为第二服务器类型的服务器中的任意一个服务器。
进一步地,服务器检测方法还包括:确定每个异常类型所对应的第二分数,其中,第二分数用于表征服务器的安全程度;基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,每个异常类型所对应的第二分数,以及第一目标服务器在上一周期内的得分,确定第一目标服务器在当前周期内的目标得分。
进一步地,服务器检测方法还包括:在基于检测结果,确定至少一个服务器的服务器类型之后,在目标数据库内不存在第一目标服务器的标识的情况下,将第一目标服务器的标识存储至目标数据库,并获取初始分数;基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,以及初始分数,确定第一目标服务器当前周期内的目标得分;在目标数据库内不存在第二目标服务器的标识的情况下,将第二目标服务器的标识存储至目标数据库,并获取第一分数和初始分数;基于第一分数和初始分数,确定第二目标服务器在当前周期内的目标得分。
进一步地,服务器检测方法还包括:在基于检测结果,确定至少一个服务器的服务器类型之后,基于目标数据库,从至少一个服务器中确定至少一个第三目标服务器,并获取第三分数,其中,第三目标服务器为至少一个服务器中未反馈报文的服务器;基于第三分数,以及每个第三目标服务器在上一周期内的得分,确定每个第三目标服务器在当前周期内的目标得分。
进一步地,服务器检测方法还包括:确定目标得分小于预设分数的服务器为第四目标服务器;从目标数据库中删除第四目标服务器的标识以及第四目标服务器在当前周期内的目标得分,得到更新后的目标数据库;基于更新后的目标数据库中所存储的服务器的标识以及目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
进一步地,服务器检测方法还包括:基于当前周期内第一目标服务器的服务器数量以及第二目标服务器的服务器数量,确定目标比率阈值;基于目标比率阈值,以及更新后的目标数据库中所存储的目标得分,确定目标分数阈值;基于目标分数阈值,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
根据本发明实施例的另一方面,还提供了一种服务器检测装置,包括:发送模块,用于向至少一个服务器中的每个服务器周期性地发送多个请求;接收模块,用于接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文;第一确定模块,用于基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,其中,目标得分用于表征服务器工作状态的稳定程度;第二确定模块,用于基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
根据本发明实施例的另一方面,还提供了一种电子设备,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的服务器检测方法。
在本发明实施例中,采用对服务器进行周期性的测试,并基于测试结果以及历史得分确定服务器的最新得分,从而在当前周期内筛选出能够提供正常服务的服务器的方式,通过向至少一个服务器中的每个服务器周期性地发送多个请求,然后接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文,接着基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,从而基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。其中,目标得分用于表征服务器工作状态的稳定程度。
在上述过程中,基于至少一个服务器在当前周期内所反馈的至少一个报文,可以确定每个服务器在当前周期内的工作状态的稳定程度,通过获取每个服务器在上一周期内的得分,可以确定每个服务器的历史工作状态的稳定程度,进一步地,通过基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,实现了对每个服务器在第一个周期到当前周期的时间范围内的工作状态的稳定程度的综合量化,避免了仅基于单次检测结果便确定提供正常服务的服务器造成的难以甄别刻意构造返回报文的恶意服务器,提高了检测出提供正常服务的服务器的检测准确度。此外,通过向服务器周期性的发送请求,使得每个服务器的得分也可以随之周期性的更新,进而保证了每个周期所确定的能够提供正常服务的服务器的有效性。
由此可见,本申请所提供的方案达到了对服务器进行周期性的测试,并基于测试结果以及历史得分确定服务器的最新得分,从而在当前周期内筛选出能够提供正常服务的服务器的目的,从而实现了提高检测出提供正常服务的服务器的检测准确度的技术效果,进而解决了现有技术中相关方法从服务器中检测出能够提供正常服务的服务器的检测准确率低技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的服务器检测方法的示意图;
图2是根据本发明实施例的一种可选的扫描至少一个服务器的示意图;
图3是根据本发明实施例的一种可选的确定服务器状态列表的示意图;
图4是根据本发明实施例的一种可选的确定目标得分的示意图;
图5是根据本发明实施例的一种可选的服务器检测方法的示意图;
图6是根据本发明实施例的一种可选的服务器检测装置的示意图;
图7是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种服务器检测方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种可选的服务器检测方法的示意图,如图1所示,该方法包括如下步骤:
步骤S102,向至少一个服务器中的每个服务器周期性地发送多个请求。
在一种可选的实施例中,可以通过电子设备、服务器、应用系统等装置向至少一个服务器中的每个服务器周期性地发送多个请求,在本实施例中,通过服务器检测系统向至少一个服务器中的每个服务器周期性地发送多个请求。其中,前述的服务器可以是DNS服务器。
可选的,在向至少一个服务器中的每个服务器周期性地发送多个请求之前,服务器检测系统可以确定待扫描网段dns_list以及扫描周期T,其中,待扫描网段对应前述至少一个服务器的IP地址(如图2中所示的dns1、dns2、dns3、dns4...dnsi等),扫描周期T可以为一周一次。同时,服务器检测系统还可以确定一个用于检测前述的至少一个服务器的域名domain0以及该域名所对应的域名信息,其中,前述域名优选为具有cname且解析的ip地址稳定的域名,前述的域名信息可以包括该域名所对应的ip地址以及子域名等信息。
进一步地,服务器检测系统可以基于前述的域名,确定每个周期内向至少一个服务器中的每个服务器中所要发送的请求的请求内容。并可以利用预先创建的如图2所示的DNS请求发送进程,根据待扫描网段dns_list,在每个周期内向至少一个服务器中的每个服务器发送前述所确定的请求。其中,在同一周期内,服务器检测系统可以向至少一个服务器中的每个服务器均发送多个不同请求类型的请求,且多个不同请求类型的请求可以重复发送N次,例如,在当前周期内,向A服务器发送3种请求类型的请求,且发送N次,则A服务器可以接收到服务器检测系统发送的3×N个请求报文。其中,前述的请求类型可以是A记录请求、NS记录请求、CNAME记录请求等,且N为大于1的正整数。
步骤S104,接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文。
在步骤S104中,服务器检测系统可以利用预先创建的如图2所示的DNS响应接收进程,接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文(即图2中的响应报文),并将对应的报文保存至本地待解析。其中,对于能够提供正常服务的服务器而言,在同一周期内,其所反馈的报文数量与其所接收到的请求的请求数量相同,对于无法提供正常服务的服务器而言,在同一周期内,其所反馈的报文的报文数量与其所接收到的请求的请求数量可能不同,且其反馈的报文的报文数量可能为0。
需要说明的是,通过接收至少一个服务器所反馈的至少一个报文,以便于后续实现对服务器在当前周期内的工作状态的稳定程度的准确确定。
步骤S106,基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,其中,目标得分用于表征服务器工作状态的稳定程度。
在步骤S106中,服务器检测系统可以从目标数据库中确定每个服务器在上一周期内的得分,然后将每个服务器在上一周期内的得分,作为该服务器在当前周期内的基础分,然后基于每个服务器在当前周期内所反馈的报文的报文内容,或是再结合报文数量,对前述确定的每个服务器对应的基础分的进行加分或减分处理,从而确定每个服务器在当前周期内的目标得分,并将目标得分存储至目标数据库。其中,对于未反馈报文的服务器,可以直接将基础分作为其目标得分,也可以将给予分与一预设的分数相减,以确定目标得分。
可选的,若目标数据库未存储有某些服务器在上一周期内的得分,或是当前周期为初始周期,则可以将这些未被存储上一周期得分的服务器的基础分设置为0,或其它预设数值。
其中,在下一周期内,服务器检测系统可以从目标数据库中确定每个服务器在当前周期内的目标得分,然后将每个服务器在当前周期内的目标得分,作为该服务器在下一周期内的新的基础分,然后基于每个服务器在下一周期内所反馈的报文的报文内容,或是再结合报文数量,对每个服务器对应的新的基础分的进行加分或减分处理,从而确定每个服务器在下一周期内的得分。由此,实现在每个周期内对每个服务器在该周期内的得分的确定,且在前述中计算得到的得分(也可指代前述的目标得分)可以用于表征服务器在第一个周期到当前周期的时间范围内的工作状态的稳定程度。
需要说明的是,基于至少一个服务器在当前周期内所反馈的至少一个报文,可以确定每个服务器在当前周期内的工作状态的稳定程度,通过获取每个服务器在上一周期内的得分,可以确定每个服务器的历史工作状态的稳定程度,进一步地,通过基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,实现了对每个服务器在第一个周期到当前周期的时间范围内的工作状态的稳定程度的综合量化,避免了仅基于单次检测结果便确定提供正常服务的服务器造成的难以甄别刻意构造返回报文的恶意服务器。
步骤S108,基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
在步骤S108中,服务器检测系统可以基于每个服务器对应的目标得分,从中选取出得分由高至低排名前X个的服务器,从而确定所选取的X个服务器为在下一周期的结果出来前所能够提供正常服务的服务器。且服务器的目标得分越高,说明服务器的工作状态越稳定,且越倾向于正常。其中,前述的能提供正常服务表征能向当前平台(即对服务器有使用需求的平台)提供服务,而非正常工作的服务器,例如,对于私人服务器,在此类服务器可以正常工作的前提下,由于其为非公开的服务器,所以可能无法向当前平台提供服务,因此,其不一定在前述所确定的能够提供正常服务的服务器之中。可选的,服务器检测系统也可以基于当前周期内未收到异常报文的服务器占反馈了报文的所有服务器的比例,根据分数互补累计经验函数,确定前述的X值。
可选的,通过在步骤S102的基础上,每个周期内重复前述的步骤S104-S108,即可实现对每个周期确定的正常服务的服务器列表的获取。
需要说明的是,通过基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器,实现了对能够提供正常服务的服务器的准确确定。
基于上述步骤S102至步骤S108所限定的方案,可以获知,在本发明实施例中,采用对服务器进行周期性的测试,并基于测试结果以及历史得分确定服务器的最新得分,从而在当前周期内筛选出能够提供正常服务的服务器的方式,通过向至少一个服务器中的每个服务器周期性地发送多个请求,然后接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文,接着基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,从而基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。其中,目标得分用于表征服务器工作状态的稳定程度。
容易注意到的是,在上述过程中,基于至少一个服务器在当前周期内所反馈的至少一个报文,可以确定每个服务器在当前周期内的工作状态的稳定程度,通过获取每个服务器在上一周期内的得分,可以确定每个服务器的历史工作状态的稳定程度,进一步地,通过基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,实现了对每个服务器在第一个周期到当前周期的时间范围内的工作状态的稳定程度的综合量化,避免了仅基于单次检测结果便确定提供正常服务的服务器造成的难以甄别刻意构造返回报文的恶意服务器,提高了检测出提供正常服务的服务器的检测准确度。此外,通过向服务器周期性的发送请求,使得每个服务器的得分也可以随之周期性的更新,进而保证了每个周期所确定的能够提供正常服务的服务器的有效性。
由此可见,本申请所提供的方案达到了对服务器进行周期性的测试,并基于测试结果以及历史得分确定服务器的最新得分,从而在当前周期内筛选出能够提供正常服务的服务器的目的,从而实现了提高检测出提供正常服务的服务器的检测准确度的技术效果,进而解决了现有技术中相关方法从服务器中检测出能够提供正常服务的服务器的检测准确率低的技术问题。
在一种可选的实施例中,向至少一个服务器中的每个服务器周期性地发送多个请求的过程中,服务器检测系统可以确定不同请求类型的请求的所对应的端口,然后向至少一个服务器中的每个服务器周期性地发送与端口对应的多个请求。
其中,以前述的域名domain0所对应的ip地址为resovle_ip_list,所对应的某一个子域名为subdomain0为例,在向至少一个服务器中的每个服务器周期性地发送多个请求之前,如图2所示,服务器检测系统可以依据表1中所示的规则对待扫描网段dns_list对应的各个服务器分别构造A记录请求、NS记录请求、CNAME记录请求报文(也即图2中的DNS请求数据包)。
表1-请求报文构造规则
请求类型 | 使用端口 | DNS ID | 请求域名 |
A | portA | idA | domain0 |
NS | portNS | idNS | subdomain0 |
CNAME | portCNAME | idCNAME | domain0 |
其中,如表1所示,服务器检测系统可以确定不同请求类型的请求的与服务器检测系统上的端口的对应关系,其中,端口portA、portNS、portCNAME互不相同,且idA、idNS、idCNAME互不相等。需要说明的是,前述的DNS ID为请求报文中的一个字段,且在服务器响应于请求报文所反馈的报文中,具有与其所接收的请求报文中相同的DNS ID,DNS ID以及端口均可用于服务器检测系统确定服务器所反馈的报文对应的请求类型。
进一步地,如图2所示,服务器检测系统可以基于前述包含有DNS ID及域名的请求,周期性地以无状态DNS扫描的方式,通过不同的端口向服务器发送与端口对应的请求类型的请求,以实现对前述的待扫描网段的主动探测。此外,服务器检测系统可以基于前述的DNS响应接收进程,监听portA、portNS、portCNAME端口,以接收每个服务器通过不同的端口所反馈的与不同请求类型对应的报文。并在超时未接收到数据包(如:前述的响应报文等)后保存所获取的报文。
需要说明的是,通过向至少一个服务器中的每个服务器周期性地发送与端口对应的多个请求,便于服务器检测系统确定每个服务器反馈的报文所对应的请求类型,进而便于确定每个服务器所反馈的报文是否存在异常。
在一种可选的实施例中,服务器检测系统可以基于至少一个服务器在当前周期内所反馈的至少一个报文,确定每个服务器在当前周期内的服务器类型,从而结合每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分。
具体地,服务器检测系统可以先对至少一个服务器在当前周期内所反馈的每个报文的报文内容进行检测,得到检测结果,然后基于检测结果,确定至少一个服务器的服务器类型。其中,服务器类型包括第一服务器类型和第二服务器类型,第一服务器类型表征服务器在当前周期内所反馈的报文中存在异常报文,第二服务器类型表征服务器在当前周期内所反馈的报文中不存在异常报文。
可选的,如图3所示,服务器检测系统可以对当前周期扫描完成后保存的报文进行解析,统计返回的报文中的DNS IP等消息,以确认各报文是否存在如以下的明显异常行为或其他异常行为:
1、数据格式不符合协议规范
例如,服务器反馈的报文解析格式不正常,无法正常解析,具体可以表现为反馈的报文中qdcount、ancount、nscount、arcount异常大。
2、反馈的报文数据为空
例如,报文返回报文字段为空时,表征反馈该报文的服务器一般为权威DNS服务器。
3、反馈的报文类型异常
例如,在向服务器请求CNAME记录、NS记录时,有的服务器会返回A记录请求对应的报文,这种很大程度是伪装的服务器,譬如DNSLOG服务器。
4、A值异常
例如,与A记录对应的反馈的报文的解析结果为保留/私有地址/0.0.0.0/1.1.1.1、或是空,以及一些其它并非已知ip列表中值的情况,且此时无OPT项(OPT表示此记录不会传播)。
可选的,当至少一个服务器在当前周期内所反馈的某个报文的报文内容中存在如上异常行为或其它异常行为时,确定该报文为异常报文。进一步地,如图3所示,确定在当前周期内所反馈的报文中存在异常报文的服务器的服务器类型为第一服务器类型,确定在当前周期内所反馈的报文中不存在异常报文的服务器的服务器类型为第二服务器类型,并将当前周期内第一服务器类型的服务器归纳至当前周期所对应的异常服务器列表,将当前周期内第二服务器类型的服务器归纳至当前周期所对应的正常服务器列表,从而将前述的两个列表拼接为服务器状态列表dns_status_list。
再进一步地,服务器检测系统可以基于至少一个服务器的服务器类型,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分。具体地,服务器检测系统可以基于已确定好服务器类型的服务器,确定其各服务器所对应的得分的计算方式,从而结合其各服务器在上一周期内的得分,确定其各服务器在当前周期内的目标得分。
需要说明的是,通过确定至少一个服务器的服务器类型,实现了对服务器在当前周期内所对应的工作状态的确定,进一步地,通过结合至少一个服务器的服务器类型以及在上一周期内的得分,确定每个服务器在当前周期内的目标得分,实现了采用不同的计算方式计算不同工作状态的服务器的目标得分,从而使得基于目标得分可以有效量化各服务器的工作状态的稳定程度。
在一种可选的实施例中,对针对于第一服务器类型的服务器的目标得分在某一情况下的一种确定方法进行说明。可选的,服务器检测系统可以在目标数据库内存在第一目标服务器的标识的情况下,基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,以及第一目标服务器在上一周期内的得分,确定第一目标服务器在当前周期内的目标得分。其中,目标数据库至少用于存储至少一个服务器的标识以及至少一个服务器在当前周期内的目标得分,第一目标服务器为至少一个服务器中服务器类型为第一服务器类型的服务器中的任意一个服务器。
具体地,如图4所示,服务器检测系统可以遍历前述服务器状态列表中记录的第一服务器类型的服务器(即前述的第一目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以从目标数据库中获取同时记录于服务器状态列表与目标数据库中的第一目标服务器在上一周期内的得分,以作为计算目标得分的基础分。
进一步地,如图4所示,服务器检测系统还可以基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,确定对应的减分分数之和score[exception],从而将该第一服务器在上一周期内的得分与减分分数之和score[exception]相减,得到目标得分。
在一种可选的实施例中,对针对于第二服务器类型的服务器的目标得分在某一情况下的一种确定方法进行说明。可选的,服务器检测系统可以在目标数据库内存在第二目标服务器的标识的情况下,获取第一分数,从而基于第一分数,以及第二目标服务器在上一周期内的得分,确定第二目标服务器在当前周期内的目标得分。其中,第二目标服务器为至少一个服务器中服务器类型为第二服务器类型的服务器中的任意一个服务器。
具体地,如图4所示,服务器检测系统同样可以遍历前述服务器状态列表中记录的第二服务器类型的服务器(即前述的第二目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以从目标数据库中获取同时记录于服务器状态列表与目标数据库中的第二目标服务器在上一周期内的得分,以作为计算目标得分的基础分。
进一步地,由于第二目标服务器为在当前周期内可以提供正常服务的服务器,因此,如图4所示,服务器检测系统可以在某一第二目标服务器同时记录于服务器状态列表与目标数据库中时,获取预设的加分分数scorenormal(即前述的第一分数),从而将该第二目标服务器在上一周期内的得分和加分分数scorenormal相加,以得到目标分数。
其中,前述的目标数据库至少用于存储至少一个服务器的标识以及至少一个服务器的最新得分。即当目标得分未确定时,目标数据库存储的为至少一个服务器在上一周期内的得分,当目标得分已确定且至少一个服务器在下一周期内的得分未确定时,目标数据库存储的为至少一个服务器在当前周期内的目标得分,当至少一个服务器在下一周期内的得分确定时,目标数据库存储的为至少一个服务器在下一周期内的得分。此外,如图4所示,在目标数据库中预设有最大分数max_score,即当服务器在当前周期内的目标得分大于最大分数max_score时,确定最大分数为目标得分。例如,最大分数设置为100,某一第二目标服务器在上一周期的分数为80,第一分数为50,则该第二目标服务器在当前周期的分数理论上应为130,但实际上为100。由此,避免了在后续基于分数互补累积经验函数确定目标分数阈值时,由于分数区间较大造成的影响对目标分数阈值确定的准确度的问题。
需要说明的是,通过基于第一目标服务器的异常报文的异常类型,以及第一目标服务器在上一周期内的得分,确定目标得分,实现了对第一目标服务器的目标得分的准确确定,通过对第二目标服务器设置相同的第一分数,实现了对每个周期内提供正常服务的服务器实施相同的奖励分数,进而实现对第二目标服务器的目标得分的合理确定。
在一种可选实施例中,在基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,以及第一目标服务器在上一周期内的得分,确定第一目标服务器在当前周期内的目标得分的过程中,服务器检测系统可以确定每个异常类型所对应的第二分数,从而基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,每个异常类型所对应的第二分数,以及第一目标服务器在上一周期内的得分,确定第一目标服务器在当前周期内的目标得分。其中,第二分数用于表征服务器的安全程度。
可选的,服务器检测系统可以获取预先设定好的异常类型与第二分数的对应关系,如,针对于“数据格式不符合协议规范”的异常类型,可以设置其对应的减分分数(即前述的第二分数)为10分,针对于“A值异常”的异常类型,可以设置其对应的减分分数为8分。
进一步地,当确定了异常类型与第二分数的对应关系之后,服务器检测系统可以基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,确定减分分数之和score[exception]。可选的,服务器检测系统可以仅基于每个异常报文的异常类型,而不考虑异常类型的出现次数,来确定减分分数之和score[exception],例如,某一第一目标服务器反馈了10个异常报文,其中,异常类型为“数据格式不符合协议规范”的异常报文出现了3次,异常类型为“A值异常”的异常报文出现了2次,基于前述示例中的分数设置,则可以确定减分分数之和为10+8=18。可选的,服务器检测系统可以基于每个异常报文的异常类型,并结合异常类型的出现次数(也即结合报文数量),来确定减分分数之和score[exception],例如,前一示例中,可以确定减分分数之和为10×3+8×2=46。
再进一步地,服务器检测系统可以将每个第一目标服务器在上一周期内的得分,与该第一目标服务器对应的减分分数之和score[exception]相减,从而确定该第一目标服务器的目标得分。
需要说明的是,通过确定对不同的异常类型设置不同的第二分数,使得基于第二分数和第一目标服务器在上一周期内的得分,所确定的目标得分更加准确。
在一种可选的实施例中,对针对于第一服务器类型的服务器的目标得分在另一情况下的一种确定方法进行说明。可选的,服务器检测系统可以在目标数据库内不存在第一目标服务器的标识的情况下,将第一目标服务器的标识存储至目标数据库,并获取初始分数,然后基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,以及初始分数,确定第一目标服务器当前周期内的目标得分。
具体地,如图4所示,服务器检测系统可以遍历前述服务器状态列表中记录的第一服务器类型的服务器(即前述的第一目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以将仅被记录与服务器状态列表中,但未被记录于目标数据库中的第一目标服务器的标识存储于目标数据库中,由于目标数据库中在此之前未记录该第一目标服务器,因此,可以认为该第一目标服务器在上一周期内的分数不存在(如:第一次进行测试)或为无效分数(如:低于所设置的最低分数),从而获取初始分数,并在目标数据库中赋予该第一目标服务器初始分数,其中,初始分数可以为0或其它数值(如:前述的最低分数)。
进一步地,服务器检测系统可以将前述的初始分数作为基础分,并与基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型确定的减分分数之和相减,从而得到目标分数。
在一种可选的实施例中,对针对于第二服务器类型的服务器的目标得分在另一情况下的一种确定方法进行说明。可选的,服务器检测系统可以在目标数据库内不存在第二目标服务器的标识的情况下,将第二目标服务器的标识存储至目标数据库,并获取第一分数和初始分数,从而基于第一分数和初始分数,确定第二目标服务器在当前周期内的目标得分。
具体地,如图4所示,服务器检测系统可以遍历前述服务器状态列表中记录的第二服务器类型的服务器(即前述的第二目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以将仅被记录与服务器状态列表中,但未被记录于目标数据库中的第二目标服务器的标识存储于目标数据库中,由于目标数据库中在此之前未记录该第二目标服务器,因此,可以认为该第二目标服务器在上一周期内的分数不存在或低于所设置的最低分数,从而获取初始分数,并在目标数据库中赋予该第一目标服务器初始分数,其中,初始分数可以为0或其它数值(如:前述的最低分数)。
进一步地,服务器检测系统可以将前述的初始分数作为基础分,并与前述的第一分数相加,从而得到目标分数。
需要说明的是,由于当服务器的标识不存在目标数据库中时,确定该服务器之前的分数不存在或为无效分数,因此,可以获取初始分数以作为该服务器的基础分,从而进一步地保证对各种情况下服务器的目标得分的有效计算。
在一种可选的实施例中,当服务器检测系统遍历完服务器状态列表后,服务器检测系统可以对记录于目标数据库中但未出现在当前周期内的服务器状态列表的服务器的得分进行减分。可选的,服务器检测系统可以基于目标数据库,从至少一个服务器中确定至少一个第三目标服务器,并获取第三分数,从而基于第三分数,以及每个第三目标服务器在上一周期内的得分,确定每个第三目标服务器在当前周期内的目标得分。其中,第三目标服务器为至少一个服务器中未反馈报文的服务器。
具体地,如图4所示,服务器检测系统可以先筛选出记录于目标数据库中但未出现在当前周期内的服务器状态列表的服务器(即前述的第三目标服务器),然后获取减分分数scorenull(即前述的第三分数),从而将第三目标服务器在上一周期内的得分与减分分数scorenull相减(即图4中的将基础分与第三分数相减),得到目标分数。
需要说明的是,对于未出现在当前周期内的服务器状态列表的服务器,说明该服务器在当前周期内未反馈报文,即其在当前周期内无法向当前平台提供正常服务,因此,通过对此类服务器设置第三分数,以确定目标得分,进一步地提高了基于得分对服务器工作状态的稳定性进行量化的准确性和合理性。
在一种可选的实施例中,在基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器的过程中,服务器检测系统可以确定目标得分小于预设分数的服务器为第四目标服务器,然后从目标数据库中删除第四目标服务器的标识以及第四目标服务器在当前周期内的目标得分,得到更新后的目标数据库,从而基于更新后的目标数据库中所存储的服务器的标识以及目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
可选的,如图4所示,当服务器检测系统对先前记录于目标数据库中和记录于当前周期内的服务器状态列表的服务器均确定了目标得分后,也即将这些服务器和对应的目标得分记录于目标数据库后,服务器检测系统可以确定目标数据库中目标得分小于或等于前述最小分数(即前述的预设分数)的服务器(即前述的第四目标服务器),然后将这些目标得分小于或等于最小分数的服务器的标识及其目标得分从目标数据库中删除,从而得到更新后的目标数据库。其中,前述的最小分数可以是0,也可以是其它分数。可选的,服务器检测系统也可以不执行前述的删除操作,而是将目标得分小于最小分数的服务器对应的目标得分重置为最小分数。
进一步地,当确定了更新后的目标数据库后,可以基于更新后的目标数据库中所存储的服务器的标识以及目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。可选的,服务器检测系统可以确定在当前周期内得分排名前X个的服务器为能够提供正常服务的服务器,并可以将预设数值作为X,或基于预设算法确定X。
需要说明的是,通过从目标数据库中剔除分数无效(即目标分数小于或等于最小分数)的服务器,一方面,避免了各服务器的分数所占用的区间范围较大,从而使得后续确定的目标分数阈值更加准确,另一方面,避免了与无效分数相关的数据占用目标数据库资源,从而在提高本申请检测准确度的同时,保证了检测效率。
在一种可选的实施例中,在基于更新后的目标数据库中所存储的服务器的标识以及目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器的过程中,服务器检测系统可以基于当前周期内第一目标服务器的服务器数量以及第二目标服务器的服务器数量,确定目标比率阈值,然后基于目标比率阈值,以及更新后的目标数据库中所存储的目标得分,确定目标分数阈值,从而基于目标分数阈值,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
可选的,在前述确定了当前周期的服务器状态列表后,服务器检测系统可以记录服务器状态列表中正常服务器(即前述的第一目标服务器)在服务器状态列表中记录的所有服务器(即第一目标服务器和第二目标服务器的和)的占比pnormal(即前述的目标比率阈值)。
进一步地,服务器检测系统可以基于更新后的目标数据库中所存储的目标得分,利用分数互补累积经验函数CCDF(score)=P(X≥score),确定当P=pnormal时,所对应的分数score为初始的目标分数阈值tmp_scorethreshold,之后,服务器检测系统可以对初始的目标分数阈值tmp_scorethreshold进行向下取整,从而得到最终的目标分数阈值scorethreshold。
再进一步地,服务器检测系统可以将目标得分大于目标分数阈值的服务器,确定为目前仍能够提供正常服务的服务器,即工作状态稳定的服务器。
需要说明的是,通过基于目标比率阈值和分数互补累积经验函数,确定目标分数阈值,使得所确定的能够提供正常服务的服务器更加准确。
在一种可选的实施例中,在使用通用性防火墙进行防护的场景下,可以利用本申请所提供的方法确定能够供正常服务的服务器,并将这些能够提供正常服务的服务器的标识组成的列表作为白名单进行加载,以避免误报。可选的,如图5所示,在该场景下,在某一周期内,可以先通过服务器检测系统,向至少一个服务器发送请求以扫描该服务器,然后获取至少一个服务器所返回的报文,并对这些报文进行解析,以确定正常服务器列表和异常服务器列表。之后,服务器检测系统可以基于正常服务器列表和异常服务器列表中所记录的服务器以及对应的信息,并结合各服务器在上一周期内的分数或初始分数,对各服务器在当前周期内的得分进行计算,得到目标得分,然后将目标得分存储至目标数据库。
进一步地,服务器检测系统可以重复上述步骤进行多个周期的计算,直至达到工作人员所预设的周期数,从而可以基于最后一个周期内计算得到的得分,生成服务器白名单。
由此可见,本申请所提供的方案达到了对服务器进行周期性的测试,并基于测试结果以及历史得分确定服务器的最新得分,从而在当前周期内筛选出能够提供正常服务的服务器的目的,从而实现了提高检测出提供正常服务的服务器的检测准确度的技术效果,进而解决了现有技术中相关方法从服务器中检测出能够提供正常服务的服务器的检测准确率低的技术问题。
实施例2
根据本发明实施例,提供了一种服务器检测装置的实施例,其中,图6是根据本发明实施例的一种可选的服务器检测装置的示意图,如图6所示,该装置包括:
发送模块602,用于向至少一个服务器中的每个服务器周期性地发送多个请求。
可选的,在向至少一个服务器中的每个服务器周期性地发送多个请求之前,发送模块可以确定待扫描网段dns_list以及扫描周期T,其中,待扫描网段对应前述至少一个服务器的IP地址(如图2中所示的dns1、dns2、dns3、dns4...dnsi等),扫描周期T可以为一周一次。同时,发送模块还可以确定一个用于检测前述的至少一个服务器的域名domain0以及该域名所对应的域名信息,其中,前述的服务器可以是DNS服务器,前述域名优选为具有cname且解析的ip地址稳定的域名,前述的域名信息可以包括该域名所对应的ip地址以及子域名等信息。
进一步地,发送模块可以基于前述的域名,确定每个周期内向至少一个服务器中的每个服务器中所要发送的请求的请求内容。并可以利用预先创建的如图2所示的DNS请求发送进程,根据待扫描网段dns_list,在每个周期内向至少一个服务器中的每个服务器发送前述所确定的请求。其中,在同一周期内,发送模块可以向至少一个服务器中的每个服务器均发送多个不同请求类型的请求,且多个不同请求类型的请求可以重复发送N次,例如,在当前周期内,向A服务器发送3种请求类型的请求,且发送N次,则A服务器可以接收到发送模块发送的3×N个请求报文。其中,前述的请求类型可以是A记录请求、NS记录请求、CNAME记录请求等,且N为大于1的正整数。
接收模块604,用于接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文。
可选的,接收模块可以利用预先创建的如图2所示的DNS响应接收进程,接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文(即图2中的响应报文),并将对应的报文保存至本地待解析。其中,对于能够提供正常服务的服务器而言,在同一周期内,其所反馈的报文的报文数量与其所接收到的请求的请求数量相同,对于无法提供正常服务的服务器而言,在同一周期内,其所反馈的报文的报文数量与其所接收到的请求的请求数量可能不同,且其反馈的报文的报文数量可能为0。
需要说明的是,通过接收至少一个服务器所反馈的至少一个报文,以便于后续实现对服务器在当前周期内的工作状态的稳定程度的准确确定。
第一确定模块606,用于基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,其中,目标得分用于表征服务器工作状态的稳定程度。
可选的,第一确定模块可以从目标数据库中确定每个服务器在上一周期内的得分,然后将每个服务器在上一周期内的得分,作为该服务器在当前周期内的基础分,然后基于每个服务器在当前周期内所反馈的报文的报文内容,或是再结合报文数量,对前述确定的每个服务器对应的基础分的进行加分或减分处理,从而确定每个服务器在当前周期内的目标得分,并将目标得分存储至目标数据库。其中,对于未反馈报文的服务器,可以直接将基础分作为其目标得分,也可以将给予分与一预设的分数相减,以确定目标得分。
可选的,若目标数据库未存储有某些服务器在上一周期内的得分,或是当前周期为初始周期,则可以将这些未被存储上一周期得分的服务器的基础分设置为0,或其它预设数值。
其中,在下一周期内,第一确定模块可以从目标数据库中确定每个服务器在当前周期内的目标得分,然后将每个服务器在当前周期内的目标得分,作为该服务器在下一周期内的新的基础分,然后基于每个服务器在下一周期内所反馈的报文的报文内容,或是再结合报文数量,对每个服务器对应的新的基础分的进行加分或减分处理,从而确定每个服务器在下一周期内的得分。由此,实现在每个周期内对每个服务器在该周期内的得分的确定,且在前述中计算得到的得分(也可指代前述的目标得分)可以用于表征服务器在第一个周期到当前周期的时间范围内的工作状态的稳定程度。
需要说明的是,基于至少一个服务器在当前周期内所反馈的至少一个报文,可以确定每个服务器在当前周期内的工作状态的稳定程度,通过获取每个服务器在上一周期内的得分,可以确定每个服务器的历史工作状态的稳定程度,进一步地,通过基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,实现了对每个服务器在第一个周期到当前周期的时间范围内的工作状态的稳定程度的综合量化,避免了仅基于单次检测结果便确定提供正常服务的服务器造成的难以甄别刻意构造返回报文的恶意服务器。
第二确定模块608,用于基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
可选的,第二确定模块可以基于每个服务器对应的目标得分,从中选取出得分由高至低排名前X个的服务器,从而确定所选取的X个服务器为在下一周期的结果出来前所能够提供正常服务的服务器。且服务器的目标得分越高,说明服务器的工作状态越稳定,且越倾向于正常。其中,前述的能提供正常服务表征能向当前平台(即对服务器有使用需求的平台)提供服务,而非正常工作的服务器,例如,对于私人服务器,在此类服务器可以正常工作的前提下,由于其为非公开的服务器,所以可能无法向当前平台提供服务,因此,其不一定在前述所确定的能够提供正常服务的服务器之中。可选的,第二确定模块也可以基于当前周期内未收到异常报文的服务器占反馈了报文的所有服务器的比例,根据分数互补累计经验函数,确定前述的X值。
可选的,通过在执行发送模块所执行的方法的基础上,每个周期内重复执行前述的接收模块、第一确定模块以及第二确定模块所执行的方法,即可实现对每个周期确定的正常服务的服务器列表的获取。
需要说明的是,通过基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器,实现了对能够提供正常服务的服务器的准确确定。
可以获知,在本发明实施例中,采用对服务器进行周期性的测试,并基于测试结果以及历史得分确定服务器的最新得分,从而在当前周期内筛选出能够提供正常服务的服务器的方式,通过向至少一个服务器中的每个服务器周期性地发送多个请求,然后接收至少一个服务器在当前周期内响应于多个请求所反馈的至少一个报文,接着基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,从而基于目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。其中,目标得分用于表征服务器工作状态的稳定程度。
容易注意到的是,在上述过程中,基于至少一个服务器在当前周期内所反馈的至少一个报文,可以确定每个服务器在当前周期内的工作状态的稳定程度,通过获取每个服务器在上一周期内的得分,可以确定每个服务器的历史工作状态的稳定程度,进一步地,通过基于至少一个服务器在当前周期内所反馈的至少一个报文,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分,实现了对每个服务器在第一个周期到当前周期的时间范围内的工作状态的稳定程度的综合量化,避免了仅基于单次检测结果便确定提供正常服务的服务器造成的难以甄别刻意构造返回报文的恶意服务器,提高了检测出提供正常服务的服务器的检测准确度。此外,通过向服务器周期性的发送请求,使得每个服务器的得分也可以随之周期性的更新,进而保证了每个周期所确定的能够提供正常服务的服务器的有效性。
由此可见,本申请所提供的方案达到了对服务器进行周期性的测试,并基于测试结果以及历史得分确定服务器的最新得分,从而在当前周期内筛选出能够提供正常服务的服务器的目的,从而实现了提高检测出提供正常服务的服务器的检测准确度的技术效果,进而解决了现有技术中相关方法从服务器中检测出能够提供正常服务的服务器的检测准确率低的技术问题。
需要说明的是,上述发送模块602、接收模块604、第一确定模块606以及第二确定模块608对应于上述实施例中的步骤S102至步骤S108,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选的,第一确定模块包括:检测单元,用于对至少一个服务器在当前周期内所反馈的每个报文的报文内容进行检测,得到检测结果;第一确定单元,用于基于检测结果,确定至少一个服务器的服务器类型,其中,服务器类型包括第一服务器类型和第二服务器类型,第一服务器类型表征服务器在当前周期内所反馈的报文中存在异常报文,第二服务器类型表征服务器在当前周期内所反馈的报文中不存在异常报文;第二确定单元,用于基于至少一个服务器的服务器类型,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分。
具体地,检测单元可以先对至少一个服务器在当前周期内所反馈的每个报文的报文内容进行检测,得到检测结果,然后通过第一确定单元,基于检测结果,确定至少一个服务器的服务器类型。其中,服务器类型包括第一服务器类型和第二服务器类型,第一服务器类型表征服务器在当前周期内所反馈的报文中存在异常报文,第二服务器类型表征服务器在当前周期内所反馈的报文中不存在异常报文。
可选的,如图3所示,检测单元可以对当前周期扫描完成后保存的报文进行解析,统计返回的报文中的DNS IP等消息,以确认各报文是否存在如以下的明显异常行为或其他异常行为:
1、数据格式不符合协议规范
例如,服务器反馈的报文解析格式不正常,无法正常解析,具体可以表现为反馈的报文中qdcount、ancount、nscount、arcount异常大。
2、反馈的报文数据为空
例如,报文返回报文字段为空时,表征反馈该报文的服务器一般为权威DNS服务器。
3、反馈的报文类型异常
例如,在向服务器请求CNAME记录、NS记录时,有的服务器会返回A记录请求对应的报文,这种很大程度是伪装的服务器,譬如DNSLOG服务器。
4、A值异常
例如,与A记录对应的反馈的报文的解析结果为保留/私有地址/0.0.0.0/1.1.1.1、或是空,以及一些其它并非已知ip列表中值的情况,且此时无OPT项(OPT表示此记录不会传播。
可选的,当至少一个服务器在当前周期内所反馈的某个报文的报文内容中存在如上异常行为或其它异常行为时,确定该报文为异常报文。进一步地,如图3所示,确定在当前周期内所反馈的报文中存在异常报文的服务器的服务器类型为第一服务器类型,确定在当前周期内所反馈的报文中不存在异常报文的服务器的服务器类型为第二服务器类型,并将当前周期内第一服务器类型的服务器归纳至当前周期所对应的异常服务器列表,将当前周期内第二服务器类型的服务器归纳至当前周期所对应的正常服务器列表,从而将前述的两个列表拼接为服务器状态列表dns_status_list。
再进一步地,第二确定单元可以基于至少一个服务器的服务器类型,以及每个服务器在上一周期内的得分,确定每个服务器在当前周期内的目标得分。具体地,第二确定单元可以基于已确定好服务器类型的服务器,确定其各服务器所对应的得分的计算方式,从而结合其各服务器在上一周期内的得分,确定其各服务器在当前周期内的目标得分。
需要说明的是,通过确定至少一个服务器的服务器类型,实现了对服务器在当前周期内所对应的工作状态的确定,进一步地,通过结合至少一个服务器的服务器类型以及在上一周期内的得分,确定每个服务器在当前周期内的目标得分,实现了采用不同的计算方式计算不同工作状态的服务器的目标得分,从而使得基于目标得分可以有效量化各服务器的工作状态的稳定程度。
可选的,第二确定单元包括:第一确定子模块,用于在目标数据库内存在第一目标服务器的标识的情况下,基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,以及第一目标服务器在上一周期内的得分,确定第一目标服务器在当前周期内的目标得分,其中,目标数据库至少用于存储至少一个服务器的标识以及至少一个服务器在当前周期内的目标得分,第一目标服务器为至少一个服务器中服务器类型为第一服务器类型的服务器中的任意一个服务器;获取子模块,用于在目标数据库内存在第二目标服务器的标识的情况下,获取第一分数;第二确定子模块,用于基于第一分数,以及第二目标服务器在上一周期内的得分,确定第二目标服务器在当前周期内的目标得分,其中,第二目标服务器为至少一个服务器中服务器类型为第二服务器类型的服务器中的任意一个服务器。
在一种可选的实施例中,对针对于第一服务器类型的服务器的目标得分在某一情况下的一种确定方法进行说明。可选的,如图4所示,第一确定子模块可以遍历前述服务器状态列表中记录的第一服务器类型的服务器(即前述的第一目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以从目标数据库中获取同时记录于服务器状态列表与目标数据库中的第一目标服务器在上一周期内的得分,以作为计算目标得分的基础分。
进一步地,如图4所示,第一确定子模块还可以基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,确定对应的减分分数之和score[exception],从而将该第一服务器在上一周期内的得分与减分分数之和score[exception]相减,得到目标得分。
在一种可选的实施例中,对针对于第二服务器类型的服务器的目标得分在某一情况下的一种确定方法进行说明。具体地,如图4所示,获取子模块可以遍历前述服务器状态列表中记录的第二服务器类型的服务器(即前述的第二目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以从目标数据库中获取同时记录于服务器状态列表与目标数据库中的第二目标服务器在上一周期内的得分,以作为计算目标得分的基础分。
进一步地,由于第二目标服务器为在当前周期内可以提供正常服务的服务器,因此,如图4所示,获取子模块可以在某一第二目标服务器同时记录于服务器状态列表与目标数据库中时,获取预设的加分分数scorenormal(即前述的第一分数),从而通过第二确定子模块将该第二目标服务器在上一周期内的得分和加分分数scorenormal相加,以得到目标分数。
其中,前述的目标数据库至少用于存储至少一个服务器的标识以及至少一个服务器的最新得分。即当目标得分未确定时,目标数据库存储的为至少一个服务器在上一周期内的得分,当目标得分已确定且至少一个服务器在下一周期内的得分未确定时,目标数据库存储的为至少一个服务器在当前周期内的目标得分,当至少一个服务器在下一周期内的得分确定时,目标数据库存储的为至少一个服务器在下一周期内的得分。此外,如图4所示,在目标数据库中预设有最大分数max_score,即当服务器在当前周期内的目标得分大于最大分数max_score时,确定最大分数为目标得分。例如,最大分数设置为100,某一第二目标服务器在上一周期的分数为80,第一分数为50,则该第二目标服务器在当前周期的分数理论上应为130,但实际上为100。由此,避免了在后续基于分数互补累积经验函数确定目标分数阈值时,由于分数区间较大造成的影响对目标分数阈值确定的准确度的问题。
需要说明的是,通过基于第一目标服务器的异常报文的异常类型,以及第一目标服务器在上一周期内的得分,确定目标得分,实现了对第一目标服务器的目标得分的准确确定,通过对第二目标服务器设置相同的第一分数,实现了对每个周期内提供正常服务的服务器实施相同的奖励分数,进而实现对第二目标服务器的目标得分的合理确定。
可选的,第一确定子模块包括:第一确定子单元,用于确定每个异常类型所对应的第二分数,其中,第二分数用于表征服务器的安全程度;第二确定子单元,用于基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,每个异常类型所对应的第二分数,以及第一目标服务器在上一周期内的得分,确定第一目标服务器在当前周期内的目标得分。
具体地,第一确定子单元可以获取预先设定好的异常类型与第二分数的对应关系,如,针对于“数据格式不符合协议规范”的异常类型,可以设置其对应的减分分数(即前述的第二分数)为10分,针对于“A值异常”的异常类型,可以设置其对应的减分分数为8分。
进一步地,当确定了异常类型与第二分数的对应关系之后,第二确定子单元可以基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,确定减分分数之和score[exception]。可选的,第二确定子单元可以仅基于每个异常报文的异常类型,而不考虑异常类型的出现次数,来确定减分分数之和score[exception],例如,某一第一目标服务器反馈了10个异常报文,其中,异常类型为“数据格式不符合协议规范”的异常报文出现了3次,异常类型为“A值异常”的异常报文出现了2次,基于前述示例中的分数设置,则可以确定减分分数之和为10+8=18。可选的,第二确定子单元可以基于每个异常报文的异常类型,并结合异常类型的出现次数(也即结合报文数量),来确定减分分数之和score[exception],例如,前一示例中,可以确定减分分数之和为10×3+8×2=46。
再进一步地,第二确定子单元可以将每个第一目标服务器在上一周期内的得分,与该第一目标服务器对应的减分分数之和score[exception]相减,从而确定该第一目标服务器的目标得分。
需要说明的是,通过确定对不同的异常类型设置不同的第二分数,使得基于第二分数和第一目标服务器在上一周期内的得分,所确定的目标得分更加准确。
可选的,服务器检测装置还包括:第一处理模块,用于在目标数据库内不存在第一目标服务器的标识的情况下,将第一目标服务器的标识存储至目标数据库,并获取初始分数;第三确定模块,用于基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型,以及初始分数,确定第一目标服务器当前周期内的目标得分;第二处理模块,用于在目标数据库内不存在第二目标服务器的标识的情况下,将第二目标服务器的标识存储至目标数据库,并获取第一分数和初始分数;第四确定模块,用于基于第一分数和初始分数,确定第二目标服务器在当前周期内的目标得分。
在一种可选的实施例中,对针对于第一服务器类型的服务器的目标得分在另一情况下的一种确定方法进行说明。具体地,如图4所示,第一处理模块可以遍历前述服务器状态列表中记录的第一服务器类型的服务器(即前述的第一目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以将仅被记录与服务器状态列表中,但未被记录于目标数据库中的第一目标服务器的标识存储于目标数据库中,由于目标数据库中在此之前未记录该第一目标服务器,因此,可以认为该第一目标服务器在上一周期内的分数不存在(如:第一次进行测试)或为无效分数(如:低于所设置的最低分数),从而获取初始分数,并在目标数据库中赋予该第一目标服务器初始分数,其中,初始分数可以为0或其它数值(如:前述的最低分数)。
进一步地,第三确定模块可以将前述的初始分数作为基础分,并与基于第一目标服务器在当前周期内所对应的每个异常报文的异常类型确定的减分分数之和相减,从而得到目标分数。
在一种可选的实施例中,对针对于第二服务器类型的服务器的目标得分在另一情况下的一种确定方法进行说明。具体地,如图4所示,第二处理模块可以遍历前述服务器状态列表中记录的第二服务器类型的服务器(即前述的第二目标服务器),并通过检查目标数据库中的标识确定目标数据库中是否记录有同样的服务器,然后可以将仅被记录与服务器状态列表中,但未被记录于目标数据库中的第二目标服务器的标识存储于目标数据库中,由于目标数据库中在此之前未记录该第二目标服务器,因此,可以认为该第二目标服务器在上一周期内的分数不存在或低于所设置的最低分数,从而获取初始分数,并在目标数据库中赋予该第一目标服务器初始分数,其中,初始分数可以为0或其它数值(如:前述的最低分数)。
进一步地,第四确定模块可以将前述的初始分数作为基础分,并与前述的第一分数相加,从而得到目标分数。
需要说明的是,由于当服务器的标识不存在目标数据库中时,确定该服务器之前的分数不存在或为无效分数,因此,可以获取初始分数以作为该服务器的基础分,从而进一步地保证对各种情况下服务器的目标得分的有效计算。
可选的,服务器检测装置还包括:第三处理模块,用于基于目标数据库,从至少一个服务器中确定至少一个第三目标服务器,并获取第三分数,其中,第三目标服务器为至少一个服务器中未反馈报文的服务器;第五确定模块,用于基于第三分数,以及每个第三目标服务器在上一周期内的得分,确定每个第三目标服务器在当前周期内的目标得分。
可选的,第二确定模块包括:第三确定单元,用于确定目标得分小于预设分数的服务器为第四目标服务器;删除单元,用于从目标数据库中删除第四目标服务器的标识以及第四目标服务器在当前周期内的目标得分,得到更新后的目标数据库;第四确定单元,用于基于更新后的目标数据库中所存储的服务器的标识以及目标得分,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
可选的,第四确定单元包括:第三确定子模块,用于基于当前周期内第一目标服务器的服务器数量以及第二目标服务器的服务器数量,确定目标比率阈值;第四确定子模块,用于基于目标比率阈值,以及更新后的目标数据库中所存储的目标得分,确定目标分数阈值;第五确定子模块,用于基于目标分数阈值,在当前周期内从至少一个服务器中确定能够提供正常服务的服务器。
可选的,发送模块包括:第五确定单元,用于确定不同请求类型的请求的所对应的端口;发送单元,用于向至少一个服务器中的每个服务器周期性地发送与端口对应的多个请求。
其中,以前述的域名domain0所对应的ip地址为resovle_ip_list,所对应的某一个子域名为subdomain0为例,在向至少一个服务器中的每个服务器周期性地发送多个请求之前,如图2所示,第五确定单元可以依据表1中所示的规则对待扫描网段dns_list对应的各个服务器分别构造A记录请求、NS记录请求、CNAME记录请求报文(也即图2中的DNS请求数据包)。
表1-请求报文构造规则
请求类型 | 使用端口 | DNS ID | 请求域名 |
A | portA | idA | domain0 |
NS | portNS | idNS | subdomain0 |
CNAME | portCNAME | idCNAME | domain0 |
其中,如表1所示,第五确定单元可以确定不同请求类型的请求的与端口的对应关系,其中,端口portA、portNS、portCNAME互不相同,且idA、idNS、idCNAME互不相等。需要说明的是,前述的DNS ID为请求报文中的一个字段,且在服务器响应于请求报文所反馈的报文中,具有与其所接收的请求报文中相同的DNS ID,DNS ID以及端口均可用于接收模块确定服务器所反馈的报文对应的请求类型。
进一步地,如图2所示,发送单元可以基于前述包含有DNS ID及域名的请求,周期性地以无状态DNS扫描的方式,通过不同的端口向服务器发送与端口对应的请求类型的请求,以实现对前述的待扫描网段的主动探测。此外,接收模块可以基于前述的DNS响应接收进程,监听portA、portNS、portCNAME端口,以接收每个服务器通过不同的端口所反馈的与不同请求类型对应的报文。并在超时未接收到数据包(如:前述的响应报文等)后保存所获取的报文。
需要说明的是,通过向至少一个服务器中的每个服务器周期性地发送与端口对应的多个请求,便于第五确定单元确定每个服务器反馈的报文所对应的请求类型,进而便于确定每个服务器所反馈的报文是否存在异常。
实施例3
根据本发明实施例的另一方面,还提供了一种电子设备,其中,图7是根据本发明实施例的一种可选的电子设备的示意图,如图7所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的服务器检测方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种服务器检测方法,其特征在于,包括:
向至少一个服务器中的每个服务器周期性地发送多个请求;
接收所述至少一个服务器在当前周期内响应于所述多个请求所反馈的至少一个报文;
基于所述至少一个服务器在所述当前周期内所反馈的至少一个报文,以及所述每个服务器在上一周期内的得分,确定所述每个服务器在所述当前周期内的目标得分,其中,所述目标得分用于表征所述服务器工作状态的稳定程度;
基于所述目标得分,在所述当前周期内从所述至少一个服务器中确定能够提供正常服务的服务器;
其中,基于所述至少一个服务器在所述当前周期内所反馈的至少一个报文,以及所述每个服务器在上一周期内的得分,确定所述每个服务器在所述当前周期内的目标得分,包括:
对所述至少一个服务器在所述当前周期内所反馈的每个报文的报文内容进行检测,得到检测结果;
基于所述检测结果,确定所述至少一个服务器的服务器类型,其中,所述服务器类型包括第一服务器类型和第二服务器类型,所述第一服务器类型表征所述服务器在所述当前周期内所反馈的报文中存在异常报文,所述第二服务器类型表征所述服务器在所述当前周期内所反馈的报文中不存在异常报文;
基于所述至少一个服务器的服务器类型,以及所述每个服务器在所述上一周期内的得分,确定所述每个服务器在所述当前周期内的目标得分。
2.根据权利要求1所述的方法,其特征在于,基于所述至少一个服务器的服务器类型,以及所述每个服务器在所述上一周期内的得分,确定所述每个服务器在所述当前周期内的目标得分,包括:
在目标数据库内存在第一目标服务器的标识的情况下,基于所述第一目标服务器在所述当前周期内所对应的每个异常报文的异常类型,以及所述第一目标服务器在所述上一周期内的得分,确定所述第一目标服务器在所述当前周期内的目标得分,其中,所述目标数据库至少用于存储所述至少一个服务器的标识以及所述至少一个服务器在所述当前周期内的目标得分,所述第一目标服务器为所述至少一个服务器中服务器类型为第一服务器类型的服务器中的任意一个服务器;
在所述目标数据库内存在第二目标服务器的标识的情况下,获取第一分数;
基于所述第一分数,以及所述第二目标服务器在所述上一周期内的得分,确定所述第二目标服务器在所述当前周期内的目标得分,其中,所述第二目标服务器为所述至少一个服务器中服务器类型为第二服务器类型的服务器中的任意一个服务器。
3.根据权利要求2所述的方法,其特征在于,基于所述第一目标服务器在所述当前周期内所对应的每个异常报文的异常类型,以及所述第一目标服务器在所述上一周期内的得分,确定所述第一目标服务器在所述当前周期内的目标得分,包括:
确定每个异常类型所对应的第二分数,其中,所述第二分数用于表征所述服务器的安全程度;
基于所述第一目标服务器在所述当前周期内所对应的每个异常报文的异常类型,所述每个异常类型所对应的第二分数,以及所述第一目标服务器在所述上一周期内的得分,确定所述第一目标服务器在所述当前周期内的目标得分。
4.根据权利要求2所述的方法,其特征在于,在基于所述检测结果,确定所述至少一个服务器的服务器类型之后,所述方法还包括:
在所述目标数据库内不存在所述第一目标服务器的标识的情况下,将所述第一目标服务器的标识存储至所述目标数据库,并获取初始分数;
基于所述第一目标服务器在所述当前周期内所对应的每个异常报文的异常类型,以及所述初始分数,确定所述第一目标服务器所述当前周期内的目标得分;
在所述目标数据库内不存在所述第二目标服务器的标识的情况下,将所述第二目标服务器的标识存储至所述目标数据库,并获取所述第一分数和所述初始分数;
基于所述第一分数和初始分数,确定所述第二目标服务器在所述当前周期内的目标得分。
5.根据权利要求2所述的方法,其特征在于,在基于所述检测结果,确定所述至少一个服务器的服务器类型之后,所述方法还包括:
基于所述目标数据库,从所述至少一个服务器中确定至少一个第三目标服务器,并获取第三分数,其中,所述第三目标服务器为所述至少一个服务器中未反馈所述报文的服务器;
基于所述第三分数,以及每个第三目标服务器在所述上一周期内的得分,确定每个第三目标服务器在所述当前周期内的目标得分。
6.根据权利要求2-5中任一项所述的方法,其特征在于,基于所述目标得分,在所述当前周期内从所述至少一个服务器中确定能够提供正常服务的服务器,包括:
确定所述目标得分小于预设分数的服务器为第四目标服务器;
从所述目标数据库中删除所述第四目标服务器的标识以及所述第四目标服务器在所述当前周期内的目标得分,得到更新后的目标数据库;
基于所述更新后的目标数据库中所存储的服务器的标识以及目标得分,在所述当前周期内从所述至少一个服务器中确定能够提供正常服务的服务器。
7.根据权利要求6所述的方法,其特征在于,基于所述更新后的目标数据库中所存储的服务器的标识以及目标得分,在所述当前周期内从所述至少一个服务器中确定能够提供正常服务的服务器,包括:
基于所述当前周期内所述第一目标服务器的服务器数量以及第二目标服务器的服务器数量,确定目标比率阈值;
基于所述目标比率阈值,以及所述更新后的目标数据库中所存储的目标得分,确定目标分数阈值;
基于所述目标分数阈值,在所述当前周期内从所述至少一个服务器中确定能够提供正常服务的服务器。
8.一种服务器检测装置,其特征在于,包括:
发送模块,用于向至少一个服务器中的每个服务器周期性地发送多个请求;
接收模块,用于接收所述至少一个服务器在当前周期内响应于所述多个请求所反馈的至少一个报文;
第一确定模块,用于基于所述至少一个服务器在所述当前周期内所反馈的至少一个报文,以及所述每个服务器在上一周期内的得分,确定所述每个服务器在所述当前周期内的目标得分,其中,所述目标得分用于表征所述服务器工作状态的稳定程度;
第二确定模块,用于基于所述目标得分,在所述当前周期内从所述至少一个服务器中确定能够提供正常服务的服务器;
其中,第一确定模块包括:
检测单元,用于对所述至少一个服务器在所述当前周期内所反馈的每个报文的报文内容进行检测,得到检测结果;
第一确定单元,用于基于所述检测结果,确定所述至少一个服务器的服务器类型,其中,所述服务器类型包括第一服务器类型和第二服务器类型,所述第一服务器类型表征所述服务器在所述当前周期内所反馈的报文中存在异常报文,所述第二服务器类型表征所述服务器在所述当前周期内所反馈的报文中不存在异常报文;
第二确定单元,用于基于所述至少一个服务器的服务器类型,以及所述每个服务器在所述上一周期内的得分,确定所述每个服务器在所述当前周期内的目标得分。
9.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现用于运行程序,其中,所述程序被设置为运行时执行所述权利要求1至7任一项中所述的服务器检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210956351.4A CN115348234B (zh) | 2022-08-10 | 2022-08-10 | 服务器检测方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210956351.4A CN115348234B (zh) | 2022-08-10 | 2022-08-10 | 服务器检测方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115348234A CN115348234A (zh) | 2022-11-15 |
CN115348234B true CN115348234B (zh) | 2023-11-03 |
Family
ID=83951228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210956351.4A Active CN115348234B (zh) | 2022-08-10 | 2022-08-10 | 服务器检测方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115348234B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201025137A (en) * | 2008-12-25 | 2010-07-01 | Ind Tech Res Inst | Apparatus and method for dynamic score-based load balancing |
KR101271449B1 (ko) * | 2011-12-08 | 2013-06-05 | (주)나루씨큐리티 | Dns 강제우회 기반 악성트래픽 통제 및 정보유출탐지 서비스를 제공하는 방법, 서버 및 기록매체 |
CN106230775A (zh) * | 2016-07-13 | 2016-12-14 | 杭州华三通信技术有限公司 | 防止攻击url规则库的方法以及装置 |
GB201619736D0 (en) * | 2016-11-22 | 2017-01-04 | Northrop Grumman Systems Corp | High-level reputation scoring architecture |
CN107171885A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种检测服务器运行状态的方法、装置和系统 |
CN107835231A (zh) * | 2017-10-19 | 2018-03-23 | 平安科技(深圳)有限公司 | 反馈信息的处理方法及终端设备 |
CN107995152A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种恶意访问检测方法、装置及检测服务器 |
CN109246024A (zh) * | 2018-09-29 | 2019-01-18 | 新华三技术有限公司 | 一种组网中负载分担方法、装置、终端设备及存储介质 |
CN110071977A (zh) * | 2019-04-25 | 2019-07-30 | 北京风行极客科技有限公司 | 一种数据传输方法及装置 |
CN111541703A (zh) * | 2020-04-27 | 2020-08-14 | 平安银行股份有限公司 | 终端设备认证方法、装置、计算机设备及存储介质 |
CN111597047A (zh) * | 2020-05-15 | 2020-08-28 | 北京金山云网络技术有限公司 | 一种服务部署方法、装置、电子设备及存储介质 |
CN111600850A (zh) * | 2020-04-26 | 2020-08-28 | 武汉思普崚技术有限公司 | 一种检测挖矿虚拟货币的方法、设备及存储介质 |
CN111885089A (zh) * | 2020-08-06 | 2020-11-03 | 四川长虹电器股份有限公司 | 基于层次分析法的DNS服务器DDoS攻击防御方法 |
WO2021149651A1 (ja) * | 2020-01-20 | 2021-07-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 攻撃検知方法、攻撃検知システム、及びプログラム |
CN113347286A (zh) * | 2021-06-17 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 确定域名服务器的方法、装置、设备及存储介质 |
CN113472900A (zh) * | 2021-09-01 | 2021-10-01 | 阿里云计算有限公司 | 报文处理方法、设备、存储介质及计算机程序产品 |
CN113703993A (zh) * | 2021-07-27 | 2021-11-26 | 支付宝(杭州)信息技术有限公司 | 服务消息处理方法、装置及设备 |
CN113849683A (zh) * | 2021-08-18 | 2021-12-28 | 青岛海尔科技有限公司 | 用户规律性行为识别方法及装置 |
CN114338458A (zh) * | 2021-12-24 | 2022-04-12 | 山石网科通信技术股份有限公司 | 数据安全检测方法及装置 |
CN114461305A (zh) * | 2022-04-11 | 2022-05-10 | 天聚地合(苏州)科技股份有限公司 | 一种数据源确定方法和装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1877905B1 (en) * | 2005-05-05 | 2014-10-22 | Cisco IronPort Systems LLC | Identifying threats in electronic messages |
EP2592814A1 (en) * | 2011-11-08 | 2013-05-15 | VeriSign, Inc. | System and method for detecting DNS traffic anomalies |
US11212305B2 (en) * | 2018-04-27 | 2021-12-28 | Check Point Web Applications And Api Protection Ltd. | Web application security methods and systems |
-
2022
- 2022-08-10 CN CN202210956351.4A patent/CN115348234B/zh active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201025137A (en) * | 2008-12-25 | 2010-07-01 | Ind Tech Res Inst | Apparatus and method for dynamic score-based load balancing |
KR101271449B1 (ko) * | 2011-12-08 | 2013-06-05 | (주)나루씨큐리티 | Dns 강제우회 기반 악성트래픽 통제 및 정보유출탐지 서비스를 제공하는 방법, 서버 및 기록매체 |
CN106230775A (zh) * | 2016-07-13 | 2016-12-14 | 杭州华三通信技术有限公司 | 防止攻击url规则库的方法以及装置 |
CN107995152A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种恶意访问检测方法、装置及检测服务器 |
GB201619736D0 (en) * | 2016-11-22 | 2017-01-04 | Northrop Grumman Systems Corp | High-level reputation scoring architecture |
CN107171885A (zh) * | 2017-03-31 | 2017-09-15 | 北京奇艺世纪科技有限公司 | 一种检测服务器运行状态的方法、装置和系统 |
CN107835231A (zh) * | 2017-10-19 | 2018-03-23 | 平安科技(深圳)有限公司 | 反馈信息的处理方法及终端设备 |
CN109246024A (zh) * | 2018-09-29 | 2019-01-18 | 新华三技术有限公司 | 一种组网中负载分担方法、装置、终端设备及存储介质 |
CN110071977A (zh) * | 2019-04-25 | 2019-07-30 | 北京风行极客科技有限公司 | 一种数据传输方法及装置 |
WO2021149651A1 (ja) * | 2020-01-20 | 2021-07-29 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 攻撃検知方法、攻撃検知システム、及びプログラム |
CN114616800A (zh) * | 2020-01-20 | 2022-06-10 | 松下电器(美国)知识产权公司 | 攻击检测方法、攻击检测系统、以及程序 |
CN111600850A (zh) * | 2020-04-26 | 2020-08-28 | 武汉思普崚技术有限公司 | 一种检测挖矿虚拟货币的方法、设备及存储介质 |
CN111541703A (zh) * | 2020-04-27 | 2020-08-14 | 平安银行股份有限公司 | 终端设备认证方法、装置、计算机设备及存储介质 |
CN111597047A (zh) * | 2020-05-15 | 2020-08-28 | 北京金山云网络技术有限公司 | 一种服务部署方法、装置、电子设备及存储介质 |
CN111885089A (zh) * | 2020-08-06 | 2020-11-03 | 四川长虹电器股份有限公司 | 基于层次分析法的DNS服务器DDoS攻击防御方法 |
CN113347286A (zh) * | 2021-06-17 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 确定域名服务器的方法、装置、设备及存储介质 |
CN113703993A (zh) * | 2021-07-27 | 2021-11-26 | 支付宝(杭州)信息技术有限公司 | 服务消息处理方法、装置及设备 |
CN113849683A (zh) * | 2021-08-18 | 2021-12-28 | 青岛海尔科技有限公司 | 用户规律性行为识别方法及装置 |
CN113472900A (zh) * | 2021-09-01 | 2021-10-01 | 阿里云计算有限公司 | 报文处理方法、设备、存储介质及计算机程序产品 |
CN114338458A (zh) * | 2021-12-24 | 2022-04-12 | 山石网科通信技术股份有限公司 | 数据安全检测方法及装置 |
CN114461305A (zh) * | 2022-04-11 | 2022-05-10 | 天聚地合(苏州)科技股份有限公司 | 一种数据源确定方法和装置 |
Non-Patent Citations (1)
Title |
---|
操作系统指纹识别工具Nmap与Xprobe的分析和研究;张琦;;科技传播(08);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115348234A (zh) | 2022-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hao et al. | Understanding the domain registration behavior of spammers | |
US7668951B2 (en) | Electronic message source reputation information system | |
US8321943B1 (en) | Programmatic communication in the event of host malware infection | |
CN101702660B (zh) | 异常域名检测方法及系统 | |
US7877493B2 (en) | Method of validating requests for sender reputation information | |
US9225731B2 (en) | System for detecting the presence of rogue domain name service providers through passive monitoring | |
US20050256935A1 (en) | System and method for managing a network | |
EP2835955A2 (en) | Detecting co-occurrence patterns in DNS | |
CN104519018A (zh) | 一种防止针对服务器的恶意请求的方法、装置和系统 | |
CN102714663A (zh) | 用于预防dns缓存投毒的方法和系统 | |
CN107172064B (zh) | 数据访问控制方法、装置及服务器 | |
US10805190B2 (en) | Name collision risk manager | |
CN111641658A (zh) | 一种请求拦截方法、装置、设备及可读存储介质 | |
WO2006065989A2 (en) | Method and system for detecting and stopping illegitimate communication attempts on the internet | |
CN108650211A (zh) | 一种dns劫持的检测方法和装置 | |
CN109660552A (zh) | 一种将地址跳变和WAF技术相结合的Web防御方法 | |
CN114301700B (zh) | 调整网络安全防御方案的方法、装置、系统及存储介质 | |
US8234503B2 (en) | Method and systems for computer security | |
CN115348234B (zh) | 服务器检测方法、装置及电子设备 | |
CN114301696B (zh) | 恶意域名检测方法、装置、计算机设备及存储介质 | |
Larson et al. | Observed dns resolution misbehavior | |
CN114205169B (zh) | 网络安全防御方法、装置及系统 | |
CN110521233A (zh) | 网络故障发现 | |
CN109889619B (zh) | 基于区块链的异常域名监测方法及装置 | |
CN112463759A (zh) | Gbase数据库审计的信息解析方法 |
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 |