一种主机存活检测的方法、系统、设备及可读存储介质与流程

文档序号:22334450发布日期:2020-09-25 18:07阅读:168来源:国知局
一种主机存活检测的方法、系统、设备及可读存储介质与流程

本申请涉及主机存活检测领域,特别涉及一种主机存活检测的方法、系统、设备及可读存储介质。



背景技术:

随着互联网的高速发展,互联网中各种漏洞也日益增多。在这样的环境下,市面上也存在各种漏洞扫描系统可以检测这些爆发出来的漏洞。这些漏洞扫描系统会根据漏洞的细节构造特定的数据包,向目标主机发送这些数据包。显然,在向目标主机发送这些数据包前,有必要判断目标主机能不能对数据包做出回应,也就是判断目标主机的存活性。因此存活检测对漏洞扫描来说极为重要。

现有检测主机存活性的方法有两种,一种是通过系统的ping命令检测测主机是否存活,该方法存在很大的局限性,面对服务端配置了防火墙且禁用ping回应的主机,无法判断其存活性;另一种是采用第三方工具来判断主机存活性,此方法比较复杂,对使用者网络技术要求较高,影响了主机存活性的检测效率。

因此,如何提高主机存活性检测的效率及准确率是本领域技术人员目前需要解决的技术问题。



技术实现要素:

本申请的目的是提供一种主机存活检测的方法、系统、设备及可读存储介质,用于提高主机存活性检测的效率及准确率。

为解决上述技术问题,本申请提供一种主机存活检测的方法,该方法包括:

根据输入的主机存活检测指令确定对应的网络协议类型及目标主机;

根据所述网络协议类型生成对应的检测数据包;

将所述检测数据包发送至所述目标主机,并判断预设时间内是否接收到所述目标主机返回的响应数据包;

若是,则确认所述目标主机存活。

可选的,根据所述网络协议类型生成对应的检测数据包,包括:

生成每个所述网络协议类型对应的检测数据包;

其中,所述网络协议类型包括tcp/ip协议类型、ipx/spx协议类型、netbeui协议类型、http协议类型、pop3协议类型、smtp协议类型、ftp协议类型、dns协议类型中的至少两项。

可选的,将所述检测数据包发送至所述目标主机,包括:

对每个所述检测数据包进行排序,并选择第一个检测数据包为待发送数据包;

将所述待发送数据包发送至所述目标主机。

可选的,当所述预设时间内未接收到所述目标主机返回的响应数据包时,还包括:

判断所述待发送数据包是否为最后一个检测数据包;

若否,则将所述待发送数据包更新为下一个检测数据包,并返回执行将所述待发送数据包发送至所述目标主机的步骤;

若是,则确认所述目标主机未存活。

可选的,将所述检测数据包发送至所述目标主机,包括:

将所有所述检测数据包发送至所述目标主机。

可选的,在根据输入的主机存活检测指令确定对应的网络协议类型及目标主机之前,还包括:

输出所有所述网络协议类型。

可选的,所述输出所有所述网络协议类型包括:

通过执行特定参数列举所有所述网络协议类型。

本申请还提供一种主机存活检测的系统,该系统包括:

确定模块,用于根据输入的主机存活检测指令确定对应的网络协议类型及目标主机;

生成模块,用于根据所述网络协议类型生成对应的检测数据包;

第一判断模块,用于将所述检测数据包发送至所述目标主机,并判断预设时间内是否接收到所述目标主机返回的响应数据包;

第一确认模块,用于当所述预设时间内接收到所述目标主机返回的响应数据包时,确认所述目标主机存活。

本申请还提供一种主机存活检测设备,该主机存活检测设备包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上述任一项所述主机存活检测的方法的步骤。

本申请还提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述主机存活检测的方法的步骤。

本申请所提供主机存活检测的方法,包括:根据输入的主机存活检测指令确定对应的网络协议类型及目标主机;根据网络协议类型生成对应的检测数据包;将检测数据包发送至目标主机,并判断预设时间内是否接收到目标主机返回的响应数据包;若是,则确认目标主机存活。

本申请所提供的技术方案,通过根据网络协议类型生成对应的检测数据包,然后将检测数据包发送至目标主机,并根据预设时间内是否接收到目标主机返回的响应数据包判定目标主机是否存活,整个过程避免了单一ping命令被禁用导致的无法检测主机存活性的问题,且方案简单,只需要用户输入包括网络协议类型和目标主机的主机存活检测命令即可,对用户网络技术没有过高的要求,极大的提高了主机存活性检测的效率及准确率。本申请同时还提供了一种主机存活检测的系统、设备及可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

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

图1为本申请实施例所提供的一种主机存活检测的方法的流程图;

图2为本申请实施例所提供的另一种主机存活检测的方法的流程图;

图3为本申请实施例所提供的一种主机存活检测的系统的结构图;

图4为本申请实施例所提供的一种主机存活检测设备的结构图。

具体实施方式

本申请的核心是提供一种主机存活检测的方法、系统、设备及可读存储介质,用于提高主机存活性检测的效率及准确率。

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

现有检测主机存活性的方法有两种,一种是通过系统的ping命令检测测主机是否存活,该方法存在很大的局限性,面对服务端配置了防火墙且禁用ping回应的主机,无法判断其存活性;另一种是采用第三方工具来判断主机存活性,此方法比较复杂,对使用者网络技术要求较高,影响了主机存活性的检测效率;故本申请提供了一种主机存活检测的方法,用于解决上述问题。

请参考图1,图1为本申请实施例所提供的一种主机存活检测的方法的流程图。

其具体包括如下步骤:

s101:根据输入的主机存活检测指令确定对应的网络协议类型及目标主机;

这里提到的目标主机即为需要检测其存活性的主机,目标主机可以为一个,也可以为多个,本申请对此不做具体限定;

这里提到的网络协议类型为发送检测数据包所使用的网络协议,根据主机存活检测指令确定的网络协议类型可以为一个,也可以为多个。

可选的,为便于用户选择网络协议类型,在根据输入的主机存活检测指令确定对应的网络协议类型及目标主机之前,还可以执行如下步骤:

输出所有网络协议类型。

可选的,针对于传统的命令行显示程序,这里提到的输出所有网络协议类型,其具体可以为:

通过执行特定参数列举所有网络协议类型。

可选的,针对于图形界面程序,这里提到的输出所有网络协议类型,则可以直接在图形界面程序中查看所有网络协议类型。

s102:根据网络协议类型生成对应的检测数据包;

s103:将检测数据包发送至目标主机,并判断预设时间内是否接收到目标主机返回的响应数据包;

若否,则进入步骤s104;

当预设时间内接收到目标主机返回的响应数据包时,则证明目标主机能接收到检测数据包并做出响应,此时执行步骤s104确认目标主机存活;

可选的,当预设时间内未接收到目标主机返回的响应数据包时,则证明目标主机可能未接收到检测数据包,此时还可以确认目标主机未存活。

可选的,步骤s102中提到的根据所述网络协议类型生成对应的检测数据包,其具体可以为:

生成每个所述网络协议类型对应的检测数据包;

其中,所述网络协议类型包括tcp/ip协议类型、ipx/spx协议类型、netbeui协议类型、http协议类型、pop3协议类型、smtp协议类型、ftp协议类型、dns协议类型中的至少两项。

在此基础上,为提高主机存活检测的效率,这里提到的将检测数据包发送至目标主机,其具体可以为:

将所有检测数据包发送至目标主机。

s104:确认目标主机存活。

基于上述技术方案,本申请所提供的一种主机存活检测的方法,通过根据网络协议类型生成对应的检测数据包,然后将检测数据包发送至目标主机,并根据预设时间内是否接收到目标主机返回的响应数据包判定目标主机是否存活,整个过程避免了单一ping命令被禁用导致的无法检测主机存活性的问题,且方案简单,只需要用户输入包括网络协议类型和目标主机的主机存活检测命令即可,对用户网络技术没有过高的要求,极大的提高了主机存活性检测的效率及准确率。

基于上述实施例,当根据主机存活检测指令确定的网络协议类型为多个时,本申请还提供了另一种主机存活检测的方法,请参考图2,图2为本申请实施例所提供的另一种主机存活检测的方法的流程图。

其具体包括如下步骤:

s201:根据输入的主机存活检测指令确定对应的网络协议类型及目标主机;

s202:生成每个网络协议类型对应的检测数据包;

在本步骤中,这里提到的网络协议类型可以包括tcp/ip协议类型、ipx/spx协议类型、netbeui协议类型、http协议类型、pop3协议类型、smtp协议类型、ftp协议类型、dns协议类型中的至少两项。

s203:对每个检测数据包进行排序,并选择第一个检测数据包为待发送数据包;

s204:将待发送数据包发送至目标主机;

s205:判断预设时间内是否接收到目标主机返回的响应数据包;

若否,则进入步骤s206;若是,则进入步骤s209。

s206:判断待发送数据包是否为最后一个检测数据包;

若否,则进入步骤s207;若是,则进入步骤s208。

s207:将待发送数据包更新为下一个检测数据包,并返回执行步骤s204;

s208:确认目标主机未存活。

s209:确认目标主机存活。

基于上述技术方案,本申请实施例通过生成多个网络协议类型对应的检测数据包,并在目标主机预设时间内未响应第一个检测数据包时,向其发送下一个检测包,只要目标主机响应了一个检测数据包则认为其存活;当目标主机对所有的检测数据包都未响应时,确认目标主机未存活,通过这种方式避免了目标主机被漏掉的情况,极大的提高了主机存活检测的准确率。

请参考图3,图3为本申请实施例所提供的一种主机存活检测的系统的结构图。

该系统可以包括:

确定模块100,用于根据输入的主机存活检测指令确定对应的网络协议类型及目标主机;

生成模块200,用于根据网络协议类型生成对应的检测数据包;

第一判断模块300,用于将检测数据包发送至目标主机,并判断预设时间内是否接收到目标主机返回的响应数据包;

第一确认模块400,用于当预设时间内接收到目标主机返回的响应数据包时,确认目标主机存活。

在上述实施例的基础上,在一个具体实施例中,该生成模块200可以包括:

生成子模块,用于生成每个网络协议类型对应的检测数据包;

其中,网络协议类型包括tcp/ip协议类型、ipx/spx协议类型、netbeui协议类型、http协议类型、pop3协议类型、smtp协议类型、ftp协议类型、dns协议类型中的至少两项。

在上述实施例的基础上,在一个具体实施例中,该第一判断模块300可以包括:

排序子模块,用于对每个检测数据包进行排序,并选择第一个检测数据包为待发送数据包;

第一发送子模块,用于将待发送数据包发送至目标主机。

在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:

第二判断模块,用于当预设时间内未接收到目标主机返回的响应数据包时,判断待发送数据包是否为最后一个检测数据包;

更新模块,用于当待发送数据包不为最后一个检测数据包时,将待发送数据包更新为下一个检测数据包,并返回发送子模块执行将待发送数据包发送至目标主机的步骤;

第二确认模块,用于当待发送数据包为最后一个检测数据包时,确认目标主机未存活。

在上述实施例的基础上,在一个具体实施例中,该第一判断模块300可以包括:

第二发送子模块,用于将所有检测数据包发送至目标主机。

在上述实施例的基础上,在一个具体实施例中,该系统还可以包括:

输出模块,用于输出所有网络协议类型。

在上述实施例的基础上,在一个具体实施例中,该输出模块可以包括:

列举子模块,用于通过执行特定参数列举所有网络协议类型。

由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

请参考图4,图4为本申请实施例所提供的一种主机存活检测设备的结构图。

该主机存活检测设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器522可以设置为与存储介质530通信,在主机存活检测设备500上执行存储介质530中的一系列指令操作。

主机存活检测设备500还可以包括一个或一个以上电源525,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述图1至图2所描述的主机存活检测的方法中的步骤由主机存活检测设备基于该图4所示的结构实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。

集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上对本申请所提供的一种主机存活检测的方法、系统、设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

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