一种判断网络服务器的服务规范的方法和装置与流程

文档序号:12751842阅读:198来源:国知局
一种判断网络服务器的服务规范的方法和装置与流程

本发明涉及计算机网络技术领域,尤其涉及一种判断网络服务器的服务规范的方法和装置。



背景技术:

网络服务器的服务规范是一种研究和评价网络服务器架构设计的方法,并由一组相互协作的架构约束来定义,架构约束是指网络服务器的运行环境施加在架构设计之上的约束。

互联网,特别是移动互联网的高速发展,给开发者带来了新的机遇和挑战。老一代的网络服务器的服务规范已经不再适应新的互联网环境,越来越多的开发者使用一种更加规范和优秀的网络服务器的服务规范来应对如今更为复杂的互联网环境,也就是REST服务规范。

REST(Representational state transfer),即表征状态转义,是Roy Fielding博士在其2000年博士论文中提出来的一种网络服务器的服务规范。REST服务规范的核心是面向资源,可以降低开发的复杂性,提高系统的可伸缩性。REST提出设计概念和准则为:(1)网络上的所有事物都可以被抽象为资源(resource);(2)每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识;(3)所有的操作都是无状态的。

鉴于REST服务规范的这些特点,目前越来越多的服务使用这种服务规范来设计和实现,基于REST服务规范设计实现的网络服务器结构清晰、符合标准、易于理解,同时扩展方便,例如:Amazon.com提供接近REST服务规范的Web服务进行图书查找,雅虎提供的Web服务也是REST服务规范的。那么在搜索和扫描领域,如果能预先判断出网络服务器的服务规范是否为REST服务规范,并按照REST服务规范的特点对网络服务器进行扫描,可以大大提高其扫描速率。

因此,迫切需要一种能判断网络服务器服务规范的方案。



技术实现要素:

为此,本发明提供一种判断网络服务器服务规范的方法和装置,以力图解决或者至少缓解上面存在的至少一个问题。

根据本发明的一个方面,提供了一种判断网络服务器的服务规范的方法,网络服务器具有相对应的服务器网络地址,并且响应于对包含该服务器网络地址为根目录的网络地址的访问请求而返回服务结果,服务结果包括网络内容和相应的状态码,方法包括步骤:获取网络服务器响应于对第一网络地址的访问请求而返回的第一网络内容和第一状态码,第一状态码和第一网络内容指示所述网络服务器存在第一网络地址指向的资源并返回了对应于该资源的网络内容,第一网络地址包括以服务器网络地址为根目录的至少一级子目录;修改第一网络地址中的至少一级子目录,以生成第二网络地址;获取网络服务器响应于对第二网络地址的访问请求而返回的第二网络内容和第二状态码,第二网络内容或第二状态码指示网络服务器中不存在第二网络地址指向的资源;修改第一网络地址中的最后一级子目录,以生成第三网络地址;获取网络服务器响应于对第三网络地址的访问请求而返回的第三网络内容和第三状态码;根据第三状态码、或第二网络内容和第三网络内容,判断第三状态码或第三网络内容是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源;若第三状态码和第三网络内容均没有指示网络服务器不存在或拒绝访问第三网络地址指向的资源,则比对第三网络内容和第一网络内容是否结构相似;以及若比对结果是第三网络内容和第一网络内容结构相似,则确定网络服务器的服务规范为特定服务规范。

可选地,在根据本发明的方法中,还包括步骤:在获取网络服务器响应于对第二网络地址的访问请求而返回的第二网络内容和第二状态码的步骤之后,判断第二网络内容或第二状态码是否指示网络服务器不存在第二网络地址指向的资源;若第二网络内容和第二状态码均没有指示网络服务器不存在第二网络地址指向的资源,则重复上述修改生成网络地址、获取返回网络内容和状态码、以及判断的步骤,直至获取的第二网络内容或第二状态码指示网络服务器上不存在第二网络地址指向的资源为止。

根据本发明的另一方面,提供了一种网络服务器的服务规范判断装置,网络服务器具有相对应的服务器网络地址,并且响应于对包含该服务器网络地址为根目录的网络地址的访问请求而返回服务结果,服务结果包括网络内容和相应的状态码,该装置包括:内容获取模块,适于获取网络服务器响应于对第一网络地址的访问请求而返回的第一网络内容和第一状态码,第一状态码和第一网络内容指示网络服务器存在所述第一网络地址指向的资源并返回了对应于该资源的网络内容,第一网络地址包括以服务器网络地址为根目录的至少一级子目录;还适于获取网络服务器响应于对第二网络地址的访问请求而返回的第二网络内容和第二状态码,第二网络内容或第二状态码指示网络服务器不存在第二网络地址指向的资源;还适于获取网络服务器响应于对第三网络地址的访问请求而返回的第三网络内容和第三状态码;地址修改模块,适于修改第一网络地址中的至少一级子目录,以生成第二网络地址;还适于修改第一网络地址中的最后一级子目录,以生成第三网络地址;内容分析模块,适于根据第三状态码、或第二网络内容和第三网络内容,判断第三状态码或第三网络内容是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源;还适于若第三状态码和第三网络内容均没有指示网络服务器不存在所述第三网络地址指向的资源或拒绝访问该资源,则比对第三网络内容和第一网络内容是否结构相似;以及规范判断模块,适于若比对结果是第三网络内容和第一网络内容结构相似,则确定网络服务器的服务规范为特定服务规范。

可选地,在根据本发明的装置中,内容分析模块还适于在获取网络服务器响应于对第二网络地址的访问请求而返回的第二网络内容和第二状态码之后,判断第二网络内容或第二状态码是否指示网络服务器不存在第二网络地址指向的资源;若第二网络内容和第二状态码均没有指示网络服务器不存在第二网络地址指向的资源,则地址修改模块、内容获取模块和内容分析模块还适于分别重复执行上述修改生成网络地址、获取返回网络内容和状态码、以及判断的步骤,直至内容分析模块判断获取的第二网络内容或第二状态码指示网络服务器上不存在第二网络地址指向的资源为止。

根据本发明的还有一个方面,提供了一种计算设备,包括根据本发明的网络服务器服务规范判断装置。

根据本发明的网络服务器服务规范判断方案通过多次修改网络服务器的网络地址并请求访问,获取网络服务器响应于访问请求而返回的网络内容和状态码,并通过分析这些获取的网络内容和状态码实现了对该网络服务器的服务规范是否为特定服务规范的判断,并且过程简便,易于实现。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明的一个示例性实施方式的网络环境100的结构框图;

图2示出了根据本发明的一个示例性实施方式的计算设备200的结构框图;

图3示出了根据本发明的一个示例性实施方式的网络服务器扫描方法300的流程图;

图4示出了根据本发明的一个示例性实施方式的判断网络服务器服务规范的方法400的流程图;

图5示出了根据本发明的一个示例性实施方式的对第一网络地址进行正则表达式匹配的结果的示意图;以及

图6示出了根据本发明一个示例性实施方式的网络服务器扫描装置500的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个示例性实施方式的网络环境100的结构框图。如图1所示,网络环境100包括计算设备200和与该计算设备200通过网络连接的至少一个网络服务器300。网络服务器具有相对应的服务器网络地址,并存储有各种资源。计算设备200可以向网络服务器300发送包含该服务器网络地址为根目录的网络地址的访问请求,请求访问网络服务器300上存储的资源。网络服务器300可以接收计算设备200发送的请求并响应于该请求,返回相应的服务结果至计算设备200,服务结果包括对应于该资源的网络内容和相应的状态码。

图2示出了根据本发明一个示例性实施方式的实现本发明方案的计算设备200的结构框图。在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。

取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器((μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。

取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。应用222可以包括被配置为实现本发明方案的装置。在一些实施方式中,应用222可以布置为在操作系统上利用程序数据224进行操作。

计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。

网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。

计算设备200可以实现为小尺寸便携(或者移动)电子设备的一部分,这些电子设备可以是诸如蜂窝电话、个人数字助理(PDA)、个人媒体播放器设备、无线网络浏览设备、个人头戴设备、应用专用设备、或者可以包括上面任何功能的混合设备。计算设备200还可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。

现有网络服务器扫描方法通常在扫描时不对网络服务器的服务规范进行识别,采取通用的扫描策略对网络服务器进行扫描,通用的扫描策略中包含的需要扫描的内容很多,例如各网络服务器中常见的目录和文件等等。这样,扫描所占用的时间非常长,效率低。本发明提供了一种网络服务器扫描方法,适于在计算设备200中执行,可以加快扫描速度,达到快速扫描的目的。

图3示出了根据本发明一个示例性实施例的网络服务器扫描方法300的流程图。如图1所示,网络服务器扫描方法300始于步骤S310。在步骤S310中,判断网络服务器的服务规范是否为特定服务规范。若判断网络服务器的服务规范不为特定服务规范,则在步骤S320中,按照第一策略扫描该网络服务器,第一策略通常指示扫描常见目录和文件。若判断网络的服务规范为特定服务规范,则按照第二策略扫描该网络服务器,第二策略指示不扫描上述常见目录和文件。

这里的特定服务规范为REST服务规范。REST,即具象状态传输(英文:Representational State Transfer),是一种网络服务器的服务规范。REST提出设计概念和准则为:(1)网络上的所有事物都可以被抽象为资源(resource)。(2)每一个资源都有唯一的资源标识(resource identifier),对资源的操作不会改变这些标识。(3)所有的操作都是无状态的。

根据其设计概念和准则,REST服务规范具有如下特点:1.透明性,暴露资源存在。2.充分利用HTTP协议本身语义。3.无状态。而鉴于REST服务规范的这些特点,越来越多的网络服务器开始采用REST服务规范来设计,它结构清晰、符合标准、易于理解、扩展方便。对于网络服务器的扫描来说,如果能够确定网络服务器的服务规范为REST服务规范,那么对REST服务规范的网络服务器可以更快的获取信息。

图4示出了根据本发明的一个示例性实施方式的判断网络服务器的服务规范的方法400的流程图。如图4所示,判断网络服务器的服务规范的方法400始于步骤S410。

在步骤S410中,获取网络服务器响应于对第一网络地址的访问请求而返回的第一网络内容和第一状态码。第一网络地址可以包括以服务器网络地址为根目录的至少一级子目录。具体地,可以采用HTTP协议的get请求方式,向网络服务器发送请求并获取网络服务器返回的服务结果,服务结果包括网络内容和状态码。这里,第一状态码和第一网络内容可以指示网络服务器存在第一网络地址指向的资源并返回了对应于该资源的网络内容。例如,假设网络服务器网络地址为www.abc.com,第一网络地址www.abc.com/test1/test2/test3指向的资源存在于网络服务器上并能成功返回,其中,www.abc.com/为根目录,test1/test2/test3为根目录下的三级子目录。

而后在步骤S420中,修改该第一网络地址中的至少一级子目录,以生成第二网络地址。并在步骤S430中,获取网络服务器响应于对第二网络地址的访问请求而返回的第二网络内容和第二状态码,这里,第二网络内容或第二状态码指示网络服务器不存在第二网络地址指向的资源。其中,对目录的修改方式不作限制,可以是随机修改,也可以是其他修改方式。

具体地,根据本发明的一个实施方式,可以修改第一网络地址中的至少一级子目录,生成第二网络地址。其中修改的方式为按照特定服务规范,随机修改子目录中的字符串。例如,修改第一网络地址www.abc.com/test1/test2/test3的三级子目录test1/test2/test3,生成的第二网络地址可以为www.abc.com/asdasdasd。

在步骤S430之后,还可以判断获取的第二网络内容或第二状态码是否指示网络服务器不存在第二网络地址指向的资源。根据本发明的一个实施方式,可以判断第二状态码是否指示网络服务器不存在第二网络地址指向的资源,若第二状态码没有指示网络服务器不存在第二网络地址指向的资源,则判断第二网络内容是否指示网络服务器不存在第二网络地址指向的资源。

通常地,若第二状态码为404,即表示“Not Found”或“网络内容不存在”,则可以确定第二状态码指示网络服务器不存在第二网络地址指向的资源。若第二状态码为200,即“OK”或“请求成功”,则该第二状态码没有指示网络服务器不存在第二网络地址指向的资源。

接着,可以对第二网络内容进行特定关键字匹配,若匹配成功,则第二网络内容指示网络服务器不存在第二网络地址指向的资源,否则第二网络内容没有指示网络服务器不存在第二网络地址指向的资源。例如,可以匹配获取的第二网络内容的head字段中是否存在如“网络内容未找到”、或者“404 not found”这样的特定关键字。若匹配成功,第二网络内容存在特定关键字,则可以确定第二网络内容指示网络服务器不存在第二网络地址指向的资源,若匹配失败,则可以确定第二网络内容没有指示网络服务器不存在第二网络地址指向的资源。

若第二网络内容和第二状态码均没有指示网络服务器不存在第二网络地址指向的资源,则重复上述修改生成网络地址、获取返回网络内容和状态码、以及判断的步骤,直至获取的第二网络内容或第二状态码指示网络服务器上不存在第二网络地址指向的资源为止。

获取第二网络内容后,在步骤S440中,修改上述第一网络地址中的最后一级子目录,以生成第三网络地址。例如,修改第一网络地址www.abc.com/test1/test2/test3的最后一级子目录/test3,生成的第三网络地址可以为www.abc.com/test1/test2/test4。同样地,这里的修改方式可以是按照特定服务规范,随机修改子目录中的字符串。

生成第三网络地址后,在步骤S450中获取网络服务器响应于对第三网络地址的访问请求而返回的第三网络内容和第三状态码。而后在步骤S460中,根据第三状态码、或第二网络内容和第三网络内容,判断第三状态码或第三网络内容是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源。

具体地,先判断第三状态码是否指示网络服务器不存在第三网络地址指向的资源拒绝访问该资源,若第三状态码没有指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源,则比对第三网络内容和第二网络内容,根据第三网络内容和第二网络内容的比对结果判断第三网络内容是否指示网络服务器不存在第三网络地址指向的资源。

其中,若第三状态码为404(“Not Found”或“网络内容不存在”)或403(“Forbidden”或“服务器拒绝执行”),则可以确定第三状态码指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源。

若第三状态码为200(“OK”或“请求成功”),则确定第三状态码没有指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源。而后可以比对获取的第三网络内容和第二网络内容,进一步根据第三网络内容和第二网络内容的比对结果来判断第三网络内容是否指示网络服务器不存在第三网络地址指向的资源。

其中,根据本发明的一个实施方式,可以比对第三网络内容和第二网络内容是否内容相似,若比对结果是第三网络内容和第二网络内容内容相似,则第三网络内容指示网络服务器不存在第三网络地址指向的资源,若比对结果是第三网络内容和第二网络内容内容不相似,则第三网络内容没有指示网络服务器不存在第三网络地址指向的资源。判断内容相似可以通过现有的相似度检测算法来实现,本发明对此不作具体描述。

若第三状态码或第三网络内容指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源,则可以确定网络服务器的服务规范不为特定服务规范。

若第三状态码和第三网络内容均没有指示网络服务器不存在或拒绝访问第三网络地址指向的资源,则进一步在步骤S470中比对第三网络内容和第一网络内容是否结构相似。最后在步骤S480中,若比对结果是第三网络内容和第一网络内容结构相似,则确定网络服务器的服务规范为上述特定服务规范,也就是REST服务规范。

而若比对结果是第三网络内容和第一网络内容结构不相似,则不确定网络服务器的服务规范是否为特定服务规范。

其中,比对第三网络内容和第一网络内容是否结构相似的步骤还可以包括:比对第三网络内容和第一网络内容中相似的样式或类是否超过预定数量,比对第三网络内容和第一网络内容中代码相似度是否超过预定阈值,若上述二者均为是,则比对结果是第三网络内容和第一网络内容结构相似,否则比对结果是第三网络内容和第一网络内容结构不相似。通常返回的网络内容格式为HTML,那么可以通过比对第三网络内容和第一网络内容中相似的CSS样式或CSS类是否超过预定数量,比对第三网络内容和第一网络内容中HTML代码相似度是否超过预定阈值。这样可以判断出第三网络内容是否相对于第一网络内容只是在内容上存在改变,结构未变,若是,则符合以REST服务规范为服务规范的网络服务器的特点,可以确定该网络服务器的服务规范为特定服务规范。

此外,根据本发明的另一个实施方式,若根据第三网络内容和第一网络内容的比对结果不确定网络服务器的服务规范是否为特定服务规范,则获取网络服务器响应于对第三网络地址的上一级子目录的访问请求而返回的网络内容和状态码。

根据获取的状态码、或获取的网络内容和第二网络内容,判断网络内容或状态码是否指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源。若该网络内容或状态码指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则确定网络服务器的服务规范不为特定服务规范。若网络内容或状态码没有指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则比对该网络内容和第一网络内容是否结构相似,若比对结果是该网络内容和第一网络内容结构相似,则确定网络服务器的服务规范为特定服务规范。若比对结果是该网络内容和第一网络内容结构不相似,则不确定网络服务器的服务规范是否为特定服务规范。这里,对第三网络地址的上一级子目录执行的具体判断步骤与第三网络地址相同,此处不再赘述。

若根据网络服务器返回的第三网络地址的上一级子目录的状态码和网络内容不确定网络服务器的服务规范是否为特定服务规范,根据本发明的另一个实施方式,还可以重复获取网络服务器响应于对第三网络地址的再上一级子目录的访问请求而返回的网络内容和状态码,以及根据获取的网络内容和状态码确定网络服务器的服务规范是否为特定服务规范的步骤,直至根据获取的网络内容和状态码确定网络服务器的服务规范为或不为特定服务规范为止,或直至上一级子目录为根目录为止。。

根据本发明的还有一个实施方式,若根据到根目录之前的子目录的网络内容和状态码都无法确定网络服务器的服务规范为/不为上述特定服务规范,则可以通过对第一网络地址进行正则表达式匹配来确定网络服务器的服务规范是否为上述特定服务规范。

例如,假设第一网络地址为http://www.xxx.com/asd123/ac-a123/,根据URL的规范其必须是ASCII字符。截取网络服务器域名之后的字符串/asd123/ac-a123/如果满足如下“([/\w\-]{1,})”正则表达式,并且获得的结果与字符串/asd123/ac-a123/一样,则可以确认网络服务器的服务规范为上述特定服务规范。图5示出了根据本发明的一个示例性实施方式的对第一网络地址进行正则表达式匹配的结果的示意图。

如图5所示,第一网络地址http://www.xxx.com/asd123/ac-a123/在网络服务器域名之后的字符串/sdas1321/asd-SD/123-asd/经过正则表达式匹配后与原字符串一样,那么可以确定网络服务器的服务规范是特定服务规范。

图6示出了根据本发明一个示例性实施方式的网络服务器扫描装置500的结构框图。网络服务器具有相对应的服务器网络地址,并且响应于对包含该服务器网络地址为根目录的网络地址的访问请求而返回服务结果,服务结果包括网络内容和相应的状态码。如图6所示,网络服务器扫描装置500可以包括网络服务器服务规范判断装置600和扫描引擎510。网络服务器服务规范判断装置600可以包括内容获取模块610、地址修改模块620、内容分析模块630和规范判断模块640。

内容获取模块610适于获取网络服务器响应于对第一网络地址的访问请求而返回的第一网络内容和第一状态码,第一状态码和第一网络内容指示网络服务器存在第一网络地址指向的资源并返回了对应于该资源的网络内容,第一网络地址包括以服务器网络地址为根目录的至少一级子目录。

地址修改模块620与内容获取模块610连接,适于修改第一网络地址中的至少一级子目录,以生成第二网络地址。生成第二网络地址后,内容获取模块610还适于获取网络服务器响应于对第二网络地址的访问请求而返回的第二网络内容和第二状态码,第二网络内容或第二状态码指示网络服务器不存在第二网络地址指向的资源。

具体地,内容分析模块630适于在内容获取模块610获取网络服务器响应于对第二网络地址的访问请求而返回的第二网络内容和第二状态码之后,判断第二网络内容或第二状态码是否指示网络服务器不存在第二网络地址指向的资源。若第二网络内容和第二状态码均没有指示网络服务器不存在第二网络地址指向的资源,则地址修改模块620、网络内容获取模块610和内容分析模块630还适于分别重复执行上述修改生成网络地址、获取返回网络内容和状态码、以及判断的步骤,直至内容分析模块630判断获取的第二网络内容或第二状态码指示网络服务器上不存在第二网络地址指向的资源为止。

其中,内容分析模块630适于判断第二状态码是否指示网络服务器不存在第二网络地址指向的资源。若第二状态码没有指示网络服务器不存在第二网络地址指向的资源,则还适于确定第二网络内容是否指示网络服务器不存在第二网络地址指向的资源。具体地,内容分析模块630适于若状态码为404,则确定该第二状态码指示网络服务器不存在第二网络地址指向的资源。若状态码为200,则确定该第二状态码没有指示网络服务器不存在第二网络地址指向的资源。若确定该第二状态码没有指示网络服务器不存在第二网络地址指向的资源,内容分析模块630还可以对第二网络内容进行特定关键字匹配,若匹配成功,则确定第二网络内容指示网络服务器不存在第二网络地址指向的资源,否则确定第二网络内容没有指示网络服务器不存在第二网络地址指向的资源。

地址修改模块620还适于修改第一网络地址中的最后一级子目录,以生成第三网络地址。内容获取模块610还适于获取网络服务器响应于对第三网络地址的访问请求而返回的第三网络内容和第三状态码。内容分析模块630适于根据第三状态码、或第二网络内容和第三网络内容,判断第三状态码或第三网络内容是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源。具体地,内容分析模块630适于判断第三状态码是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源。若第三状态码没有指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源,则比对第三网络内容和第二网络内容,根据第三网络内容和第二网络内容的比对结果判断第三网络内容是否指示网络服务器不存在第三网络地址指向的资源。其中,内容分析模块630可以比对第三网络内容和第二网络内容是否内容相似,若比对结果是第三网络内容和第二网络内容内容相似,则确定第三网络内容指示网络服务器不存在第三网络地址指向的资源,若比对结果是第三网络内容和第二网络内容内容不相似,则确定第三网络内容没有指示网络服务器不存在第三网络地址指向的资源。

规范判断模块640适于若第三状态码或第三网络内容指示网络服务器不存在或拒绝访问第三网络地址指向的资源,则确定网络服务器的服务规范不为特定服务规范。

若第三状态码和第三网络内容均没有指示网络服务器不存在或拒绝访问第三网络地址指向的资源,则内容分析模块630还适于比对第三网络内容和第一网络内容是否结构相似,规范判断模块640适于若比对结果是第三网络内容和第一网络内容结构相似,则确定网络服务器的服务规范是否为特定服务规范。其中,特定服务规范为REST服务规范。

具体地,内容分析模块430适于比对第三网络内容和第一网络内容中相似的样式或类是否超过预定数量,比对第三网络内容和第一网络内容中代码相似度是否超过预定阈值,若上述二者均为是,则比对结果是第三网络内容和第一网络内容结构相似,否则比对结果是第三网络内容和第一网络内容结构不相似。

规范判断模块640还适于若比对结果是第三网络内容和第一网络内容结构不相似,则不确定网络服务器的服务规范是否为特定服务规范。

若规范判断模块640根据第三网络内容和第一网络内容的比对结果不确定网络服务器的服务规范是否为特定服务规范,则内容获取模块610还适于获取网络服务器响应于对第三网络地址的上一级子目录的访问请求而返回的网络内容和状态码,内容分析模块630还适于根据获取的状态码、或获取的网络内容和第二网络内容,判断该网络内容或状态码是否指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源。规范判断模块640还适于若网络内容或状态码指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则确定网络服务器的服务规范不为特定服务规范。若网络内容或状态码没有指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则内容分析模块630还适于比对该网络内容和第一网络内容是否结构相似,若比对结果是二者结构相似,则规范判断模块640可以确定网络服务器的服务规范为特定服务规范,若比对结果是二者结构不相似,则规范判断模块640不确定网络服务器的服务规范是否为特定服务规范。

其中,若规范判断模块640根据网络服务器返回的第三网络地址的上一级子目录的状态码和网络内容不确定网络服务器是否为特定服务规范,则内容获取模块610还适于重复获取网络服务器响应于对第三网络地址的再上一级子目录的访问请求而返回的网络内容和状态码,内容分析模块630和规范判断模块640还适于重复执行根据获取的网络内容和状态码判断网络服务器的服务规范是否为特定服务规范的步骤,直至规范判断模块640根据获取的网络内容和状态码确定网络服务器的服务规范为或不为特定服务规范为止,或直至上一级子目录为根目录为止。

根据本发明的还有一个实施方式,若根据到根目录之前的子目录的网络内容和状态码都无法确定网络服务器的服务规范为或不为上述特定服务规范,则规范判断模块640还可以通过对第一网络地址进行正则表达式匹配来确定网络服务器的服务规范是否为上述特定服务规范。

最后,扫描引擎510与规范判断模块640连接,若确定网络服务器的服务规范不为特定服务规范,则按照第一策略扫描网络服务器,第一策略指示扫描常见目录和文件;以及若确定网络服务器的服务规范为特定服务规范,则按照第二策略扫描网络服务器,第二策略指示不扫描常见目录和文件。

以上在结合图1~图5说明扫描网络服务器的方法和判断网络服务器服务规范的方法原理的具体描述中已经对各模块中的相应处理进行了详细解释,这里不再对重复内容进行赘述。

应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明还可以包括:A6、如A1-5中任一项所述的方法,其中,所述判断第三网络内容或第三状态码是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源的步骤包括:判断所述第三状态码是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源;若所述第三状态码没有指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源,则比对所述第三网络内容和第二网络内容,根据所述第三网络内容和第二网络内容的比对结果判断第三网络内容是否指示网络服务器不存在第三网络地址指向的资源。A7、如A6所述的方法,其中,所述比对第三网络内容和第二网络内容的步骤包括:比对第三网络内容和第二网络内容是否内容相似;所述根据第三网络内容和第二网络内容的比对结果判断第三网络内容是否指示网络服务器不存在第三网络地址指向的资源的步骤包括:若比对结果是第三网络内容和第二网络内容内容相似,则第三网络内容指示网络服务器不存在第三网络地址指向的资源,若比对结果是第三网络内容和第二网络内容内容不相似,则第三网络内容没有指示网络服务器不存在第三网络地址指向的资源。A8、如A1-7中任一项所述的方法,其中,所述方法还包括步骤:若所述第三状态码或第三网络内容指示所述网络服务器不存在或拒绝访问第三网络地址指向的资源,则确定所述网络服务器的服务规范不为特定服务规范;以及若比对所述第三网络内容和所述第一网络内容的比对结果是第三网络内容和第一网络内容结构不相似,则不确定所述网络服务器的服务规范是否为特定服务规范。A9、如A8所述的方法,其中,所述比对第三网络内容和第一网络内容是否结构相似的步骤包括:比对第三网络内容和第一网络内容中相似的样式或类是否超过预定数量;比对第三网络内容和第一网络内容中代码相似度是否超过预定阈值;若上述二者均为是,则比对结果是第三网络内容和第一网络内容结构相似,否则比对结果是第三网络内容和第一网络内容结构不相似。A10、如A1-9中任一项所述的方法,其中,所述方法还包括步骤:若根据所述第三网络内容和第一网络内容的比对结果不确定所述网络服务器的服务规范是否为所述特定服务规范,则获取所述网络服务器响应于对所述第三网络地址的上一级子目录的访问请求而返回的网络内容和状态码;根据获取的状态码、或获取的网络内容和第二网络内容,判断所述网络内容或状态码是否指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源;若所述网络内容或状态码指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则确定所述网络服务器的服务规范不为所述特定服务规范;若所述网络内容或状态码没有指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则比对所述网络内容和第一网络内容是结构相似;以及若比对结果是所述网络内容和第一网络内容结构相似,则确定所述网络服务器的服务规范为所述特定服务规范;若比对结果是所述网络内容和第一网络内容结构不相似,则不确定所述网络服务器的服务规范是否为所述特定服务规范。A11、如A10所述的方法,其中,所述方法还包括步骤:若根据所述网络服务器返回的第三网络地址的上一级子目录的状态码和网络内容不确定所述网络服务器的服务规范是否为所述特定服务规范,则重复获取所述网络服务器响应于对所述第三网络地址的再上一级子目录的访问请求而返回的网络内容和状态码,以及根据获取的网络内容和状态码确定所述网络服务器的服务规范是否为所述特定服务规范的步骤,直至根据获取的网络内容和状态码确定所述网络服务器的服务规范为或不为所述特定服务规范为止,或直至上一级子目录为根目录为止。A12、如A1-11中任一项所述的方法,其中,所述特定服务规范为REST服务规范。

B17、如B14-16中任一项所述的装置,其中,所述内容分析模块适于对所述第二网络内容进行特定关键字匹配,若匹配成功,则确定第二网络内容指示网络服务器不存在第二网络地址指向的资源,否则确定第二网络内容没有指示网络服务器不存在第二网络地址指向的资源。B18、如B13-17中任一项所述的装置,其中,所述内容分析模块还适于判断所述第三状态码是否指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源;若所述第三状态码没有指示网络服务器不存在第三网络地址指向的资源或拒绝访问该资源,则比对所述第三网络内容和第二网络内容,根据所述第三网络内容和第二网络内容的比对结果判断第三网络内容是否指示网络服务器不存在第三网络地址指向的资源。B19、如B18所述的装置,其中,所述内容分析模块还适于比对第三网络内容和第二网络内容是否内容相似;还适于若比对结果是第三网络内容和第二网络内容内容相似,则确定第三网络内容指示网络服务器不存在第三网络地址指向的资源,若比对结果是第三网络内容和第二网络内容内容不相似,则确定第三网络内容没有指示网络服务器不存在第三网络地址指向的资源。B20、如B13-19中任一项所述的装置,其中,所述规范判断模块还适于若所述第三状态码或第三网络内容指示网络服务器不存在或拒绝访问第三网络地址指向的资源,则确定所述网络服务器的服务规范不为特定服务规范;还适于若第三网络内容和第一网络内容的比对结果是第三网络内容和第一网络内容结构不相似,则不确定网络服务器的服务规范是否为特定服务规范。B21、如B13-20中任一项所述的装置,其中,所述内容分析模块还适于比对第三网络内容和第一网络内容中相似的样式或类是否超过预定数量;比对第三网络内容和第一网络内容中代码相似度是否超过预定阈值;若上述二者均为是,则比对结果是第三网络内容和第一网络内容结构相似,否则比对结果是第三网络内容和第一网络内容结构不相似。B22、如B13-21中任一项所述的装置,其中,若所述规范判断模块根据所述第三网络内容和第一网络内容的比对结果不确定所述网络服务器的服务规范是否为所述特定服务规范,则所述内容获取模块还适于获取所述网络服务器响应于对所述第三网络地址的上一级子目录的访问请求而返回的网络内容和状态码;所述内容分析模块还适于根据获取的状态码、或获取的网络内容和第二网络内容,判断所述网络内容或状态码是否指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源;所述规范判断模块还适于若所述网络内容或状态码指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则确定所述网络服务器的服务规范不为所述特定服务规范;所述内容分析模块还适于若所述网络内容或状态码没有指示网络服务器不存在第三网络地址的上一级子目录指向的资源或拒绝访问该资源,则比对所述网络内容和第一网络内容是否结构相似;以及所述规范判断模块还适于若比对结果是所述网络内容和第一网络内容结构相似,则确定所述网络服务器的服务规范为所述特定服务规范;还适于若比对结果是所述网络内容和第一网络内容结构不相似,则不确定所述网络服务器的服务规范是否为所述特定服务规范。B23、如B22所述的装置,其中,若所述规范判断模块根据网络服务器返回的第三网络地址的上一级子目录的状态码和网络内容不确定所述网络服务器的服务规范是否为所述特定服务规范,则所述网络内容获取模块还适于重复获取所述网络服务器响应于对第三网络地址的再上一级子目录的访问请求而返回的网络内容和状态码,所述内容分析模块和规范判断模块还适于重复执行根据获取的网络内容和状态码判断所述网络服务器的服务规范是否为所述特定服务规范的步骤,直至所述规范判断模块根据获取的网络内容和状态码确定所述网络服务器的服务规范为或不为所述特定服务规范为止,或直至上一级子目录为根目录为止。B24、如B13-23中任一项所述的装置,其中,所述特定服务规范为REST服务规范。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

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