CN105227599B - Web应用的识别方法和装置 - Google Patents

Web应用的识别方法和装置 Download PDF

Info

Publication number
CN105227599B
CN105227599B CN201410261058.1A CN201410261058A CN105227599B CN 105227599 B CN105227599 B CN 105227599B CN 201410261058 A CN201410261058 A CN 201410261058A CN 105227599 B CN105227599 B CN 105227599B
Authority
CN
China
Prior art keywords
finger print
data item
web
stored characteristics
response message
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
Application number
CN201410261058.1A
Other languages
English (en)
Other versions
CN105227599A (zh
Inventor
何双宁
许鑫城
郑兴
董昭
马杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410261058.1A priority Critical patent/CN105227599B/zh
Publication of CN105227599A publication Critical patent/CN105227599A/zh
Application granted granted Critical
Publication of CN105227599B publication Critical patent/CN105227599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种Web应用的识别方法和装置。其中,该方法包括:向运行有Web应用的服务器发送用于请求访问Web应用的请求消息;接收服务器返回的响应消息;判断是否存在与接收的响应消息的数据内容匹配的预存特征数据项,其中,预存特征数据项对应于同一类型的Web应用;若存在与接收的响应消息的数据内容匹配的预存特征数据项,则输出与匹配的预存特征数据项对应的Web应用描述信息,其中,Web应用描述信息用于描述同一类型的Web应用。本发明解决了现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例的技术问题。

Description

Web应用的识别方法和装置
技术领域
本发明涉及互联网应用领域,具体而言,涉及一种Web应用的识别方法和装置。
背景技术
在互联网应用领域,Web应用通常可以是指加载在Web应用框架中的各类网络应用程序,其中,加载的Web应用可以用于实现多种不同的功能,而加载后的Web应用框架则可以形成功能齐备的网页或网站,进而维护有这些网页或网站、并运行有这些Web应用的Web服务器便可以向用户提供相应的服务,如网页浏览服务、邮箱服务等。
考虑到网页或网站所需加载的诸多功能,一个网页或多个网页组合形成的网站所需加载的Web应用可能会有成百上千个,排除数量庞大且构成繁杂的Web应用对于开发者造成的负担,对于网页、网站或网络系统的管理和维护人员来说,如何有效地识别出具体的某一个或某一类Web应用便成为了一个令人头疼的问题。
针对这一问题,目前通常所采用的解决方案是人工维护所需管理的网页、网站或网络系统中的每个Web应用的访问路径、端口号以及进程编号等能够唯一标识每个Web应用的数据记录所形成的数据表,并在识别某一Web应用时,手动查询出该Web应用的访问路径、端口号以及进程编号等信息,然后与数据记录进行匹配,并输出匹配的结果来识别出该Web应用。然而,对于维护人员来说,采用该方案来识别Web应用显然较为费时费力,并且运维人员需要为每个Web应用的实例也即实际加载到网页中的Web应用维护一条数据记录,也就是说,现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例,即便能够通过手动筛选的方式来完成,其人工成本和效率也不尽如人意。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种Web应用的识别方法和装置,以至少解决现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例的技术问题。
根据本发明实施例的一个方面,提供了一种Web应用的识别方法,包括:向运行有Web应用的服务器发送用于请求访问上述Web应用的请求消息;接收上述服务器返回的响应消息;判断是否存在与接收的上述响应消息的数据内容匹配的预存特征数据项,其中,上述预存特征数据项对应于同一类型的Web应用;若存在与接收的上述响应消息的数据内容匹配的预存特征数据项,则输出与上述匹配的预存特征数据项对应的Web应用描述信息,其中,上述Web应用描述信息用于描述上述同一类型的Web应用。
根据本发明实施例的另一方面,还提供了一种Web应用的识别装置,包括:发送单元,用于向运行有Web应用的服务器发送用于请求访问上述Web应用的请求消息;接收单元,用于接收上述服务器返回的响应消息;第一判断单元,用于判断是否存在与接收的上述响应消息的数据内容匹配的预存特征数据项,其中,上述预存特征数据项对应于同一类型的Web应用;输出单元,用于在存在与接收的上述响应消息的数据内容匹配的预存特征数据项时,输出与上述匹配的预存特征数据项对应的Web应用描述信息,其中,上述Web应用描述信息用于描述上述同一类型的Web应用。
在本发明实施例中,采用了向运行有Web应用的服务器发送请求访问Web应用的请求消息、然后再对接收到的服务器所返回的响应消息进行匹配分析的方式,进而可以根据匹配的结果来获取并输出该Web应用的描述信息,从而实现对Web应用的自动识别。具体地,在本发明实施例中,可以在服务器所返回的响应消息的数据内容与对应于同一类型的Web应用的预存特征数据项之间进行匹配,通过这一方式,可以实现对同一类型的Web应用或者说加载在同一网页或不同网页中的同一Web应用的不同实例的识别,而无关于该Web应用具体被加载在哪个网页或网站中,进而解决了现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的Web应用的识别方法的示意图;
图2是根据本发明实施例的一种可选的Web应用的识别方法或装置的实施环境的示意图;
图3是根据本发明实施例的另一种可选的Web应用的识别方法的示意图;
图4是根据本发明实施例的又一种可选的Web应用的识别方法的示意图;
图5是根据本发明实施例的一种可选的Web应用的识别装置的示意图;
图6是根据本发明实施例的一种可选的存储介质中存储的程序代码所执行的操作步骤的示意图;
图7是根据本发明实施例的一种可选的服务器的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种Web应用的识别方法,如图1所示,该方法包括:
S102:向运行有Web应用的服务器发送用于请求访问Web应用的请求消息;
S104:接收服务器返回的响应消息;
S106:判断是否存在与接收的响应消息的数据内容匹配的预存特征数据项,其中,预存特征数据项对应于同一类型的Web应用;
S108:若存在与接收的响应消息的数据内容匹配的预存特征数据项,则输出与匹配的预存特征数据项对应的Web应用描述信息,其中,Web应用描述信息用于描述该同一类型的Web应用。
应当明确的是,本发明实施例所要解决的问题之一是提供一种方法,以便于实现对Web应用的有效识别。
在互联网应用领域,Web应用通常可以是指加载在Web应用框架中的各类网络应用程序,其中,加载的Web应用可以用于实现多种不同的功能,而加载后的Web应用框架则可以形成功能齐备的网页或网站,进而维护有这些网页或网站、并运行有这些Web应用的Web服务器便可以向用户提供相应的服务,如网页浏览服务、邮箱服务等。
考虑到网页或网站所需加载的诸多功能,一个网页或多个网页组合形成的网站所需加载的Web应用可能会有成百上千个,排除数量庞大且构成繁杂的Web应用对于开发者造成的负担,对于网页、网站或网络系统的管理和维护人员来说,如何有效地识别出具体的某一个或某一类Web应用便成为了一个令人头疼的问题。
针对这一问题,目前通常所采用的解决方案是人工维护所需管理的网页、网站或网络系统中的每个Web应用的访问路径、端口号以及进程编号等能够唯一标识每个Web应用的数据记录所形成的数据表,并在识别某一Web应用时,手动查询出该Web应用的访问路径、端口号以及进程编号等信息,然后与数据记录进行匹配,并输出匹配的结果来识别出该Web应用。然而,对于维护人员来说,采用该方案来识别Web应用显然较为费时费力,并且运维人员需要为每个Web应用的实例也即实际加载到网页中的Web应用维护一条数据记录,也就是说,现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例,即便能够通过手动筛选的方式来完成,其人工成本和效率也不尽如人意。
为解决上述问题,在本发明实施例中,采用了向运行有Web应用的服务器发送请求访问Web应用的请求消息、然后再对接收到的服务器所返回的响应消息进行匹配分析的方式,进而可以根据匹配的结果来获取并输出该Web应用的描述信息,从而实现对Web应用的自动识别。具体地,在本发明实施例中,可以在服务器所返回的响应消息的数据内容与唯一对应于同一类型的Web应用的预存特征数据项之间进行匹配,通过这一方式,可以实现对同一类型的Web应用或者说加载在同一网页或不同网页中的同一Web应用的不同实例的识别,而无关于该Web应用具体被加载在哪个网页或网站中,进而解决了现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例的技术问题。
以下将结合附图和具体的实施例对本发明技术方案及其工作原理进行更为详细的描述。首先,将结合图2对本发明技术方案的实施环境进行描述。
如图2所示,根据本发明实施例提供的Web应用的识别方法的实施环境至少可以包括一个Web服务器202和一个后台服务器204。具体地,Web服务器202可以用于提供各类Web服务,例如网页浏览服务或邮箱服务等,并且该Web服务器上可以运行有与其所提供的Web服务相关的多个Web应用。此外,后台服务器204可以用于提供运维管理相关的各类服务,具体地,可以用于提供Web应用描述信息的获取服务,或者说,可以提供Web应用的识别服务。更具体地,在本发明实施例中,上述Web服务器202和后台服务器204分别可以表示用于提供各自对应的服务的服务器应用,也可以表示安装并运行有这些服务器应用的服务器设备,本发明对此不作限定。
进一步可选地,如图2所示,在本发明实施例中,后台服务器204可以包括与Web服务器连接的用于向Web服务器发送访问请求和接收Web服务器202返回的响应消息的通信模块206,以及用于对Web服务器202返回的响应消息进行匹配分析的匹配分析模块208,该匹配分析模块208可以进一步地与数据库服务器210连接,以便基于数据库服务器210所存储的预存特征数据项对Web服务器202返回的响应消息进行匹配分析。当然,以上只是一种示例,并不会对本发明构成任何限定,例如,在本发明的一些实施例中,作为匹配参照的预存特征数据项也可以不单独存储在数据库服务器210上,也可以一并由后台服务器204来维护等。
在上述环境下,根据本发明实施例提供的获取方法,在步骤S102中,用于提供管理和/或运维服务的后台服务器可以向运行有Web应用的服务器如Web服务器发送用于请求访问Web应用的请求消息,进而在步骤S104中,后台服务器可以接收Web服务器返回的响应消息。
具体地,在本发明实施例中,上述Web应用可以包括多种用于实现不同功能的Web应用程序,例如,对于一个综合性的在线社区网站来说,其所使用的Web应用可以包括计数器、留言版、聊天室和BBS等,而对于一个网页类型的在线游戏的来说,其所使用的Web应用可以包括在线聊天、脚本NPC、数据提供等。需要说明的是,本发明并不会对Web应用进行具体限定,这并不影响本发明技术方案的实施及其技术效果的实现,此类实施方式均应视为是在本发明的保护范围之内。
此外,在本发明实施例中,上述请求消息通常可以是http消息。一般地,http消息通常可以包括客户端到服务器的请求消息和服务器到客户端的响应消息,在本发明实施例中,步骤S102中所描述的请求消息可以是http消息中的请求消息,步骤S104中所描述的响应消息可以是http消息中的响应消息。其中,在通过步骤S102和步骤S104所体现的后台服务器与Web服务器之间的交互过程中,后台服务器可以视为是Web服务器的客户端,用于向Web服务器发送请求并接收其响应。由此可见,在本发明实施例中,Web服务器自身所需的功能与传统的Web服务器的功能是相同的,也就是说,本发明的实施并不依赖于对运行有网页、网站及其中加载的Web应用的Web服务器的改进,从而在仅对用于运维管理的后台服务器进行配置的前提下便可以实现对Web应用的有效识别,这在一方面降低了系统更新的成本,在另一方面可以利用后台服务器和Web服务器各自提供的两类服务的解耦提高了整个系统的可维护性。
当然,以上只是一些示例,并不意味着是对本发明的限定。例如,上述实施例中以http消息为例对本发明的可行的实施方式进行了描述,然而在本发明的一些实施例中,在后台服务器与Web服务器之间传输的请求消息和响应消息并不仅限于是http消息,该请求消息和响应消息还可以采用当下或未来的由收发双方约定的用于实现上述交互过程的任何可行的信息载体的格式,例如ftp消息等,本发明对此不作限定。此外,为描述方便,上述实施例中所描述的消息收发双方为后台服务器和Web服务器,然而在本发明的一些实施例中,用于分别实现相应功能并提供相应服务的物理设备也可以并不局限于“后台服务器”和“Web服务器”这两个具体的名称,例如,在一些实施例中,后台服务器与Web服务器可以设置在同一个计算机设备或计算机系统上,等等。应当理解的是,类似的本发明实施例的等效或变型的实施方式均应视为是在本发明的保护范围之内。
在以上描述的基础上,根据本发明实施例提供的Web应用描述信息的获取方法,在步骤S106中,后台服务器可以进一步地判断是否存在与接收的响应消息匹配的预存特征数据项,进而在判断出存在与接收的响应消息匹配的预存特征数据项的情形下,通过步骤S108输出与匹配的预存特征数据项对应的Web应用描述信息。
在本发明实施例中,后台服务器在接收到Web服务器返回的响应消息之后,可以判断返回的响应消息与维护在后台服务器本地或数据库中的预存特征数据项是否匹配,或者说,判断是否存在与返回的响应消息匹配的预存特征数据项,其中,一个预存特征数据项可以是预存在后台服务器的、且唯一对应于某一类Web应用或者说同一Web应用的多个实例的数值或字符串等,换而言之,在本发明实施例中,所描述的同一类型的Web应用可以包括同一Web应用的不同实例,这些不同的实例可以是同一Web应用在不同环境下的具体应用,例如加载在不同的网页文件中的同一Web应用的代码等,然而本发明对此不作限定,在本发明的一些实施例中,该同一类型的Web应用也可以是采用其他的划分方式所划分出的具有某些相同特征的一批Web应用。相对应地,在本发明实施例中,上述预存特征数据项通常可以具有该类Web应用的响应信息的某些“特征”,例如该类Web应用的响应消息所使用的协议的特征、响应正文中所具备的一些特别的字符串或者是响应正文的哈希值等,本发明对此不作限定。通过上述方式,便可以判断出返回响应消息的Web服务器上运行的被访问的Web应用是否为由预存特征数据项所标识的Web应用或一类Web应用,从而实现对Web应用的有效识别。进一步地,作为对Web应用进行识别的结果,可以输出经过识别的Web应用的Web应用描述信息,以便于运维管理人员的查看、或者是后续流程的处理。例如,作为一种可行的后续处理的流程,在本发明实施例中,在步骤S108之后,上述方法还可以包括:
S2、判断输出的Web应用描述信息是否为待查找的描述信息;
S4、若输出的Web应用描述信息为待查找的描述信息,则判断出Web应用为待查找的Web应用。
通过上述方式,便可以利用预先输入到后台服务器的待查找的描述信息实现对符合该待查找的描述信息的待查找的Web应用的查找。当然,这只是一种示例,在本发明的其他一些实施例中,还可以结合输出的Web应用描术信息对Web应用采取更为复杂的处理逻辑,以实现更为丰富的功能,本发明在此不作累述,亦不作任何限定。
除此之外,在本发明实施例中,判断接收的响应消息与预存特征数据项是否匹配的方式也可以有多种。例如,作为一些可选的方式,在本发明实施例中,上述步骤S106可以包括以下操作至少之一:
S6、判断接收的响应消息的消息报头中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
S8、判断接收的响应消息的响应正文中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
S10、判断基于接收的响应消息所获取的校验码是否为任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配。
通过这一方式,便可以缩小匹配分析过程中的检索范围,进而提高匹配分析处理的速度,并加快对Web应用的识别速度,从而提高了系统的工作效率。在另一方面,缩小匹配分析过程中的检索范围也可以达到提高匹配的精确程度的效果,从而避免发生错误识别的可能性。
如图3所示,在本发明实施中,作为另一种可选的实施方式,在步骤S106之前,上述获取方法还可以包括:
S302:获取多个类型的Web应用对应的多个指纹信息,其中,多个类型的Web应用中的每一个Web应用对应多个指纹信息中的一个或多个,每个指纹信息包括至少一个预存特征数据项以及与至少一个预存特征数据项对应的匹配类型和Web应用描述信息,其中,匹配类型用于指示每个指纹信息对应的Web应用所返回的响应信息与至少一个预存特征数据项之间的对应关系;其中,
上述步骤S106可以包括:
S304:判断多个指纹信息中是否存在与接收的响应消息匹配的指纹信息,其中,接收的响应信息与匹配的指纹信息中的预存特征数据项之间满足由匹配的指纹信息中的匹配类型所指示的对应关系;
S306:若存在匹配的指纹信息,则将匹配的指纹信息中的预设标识项作为匹配的预存特征数据项,并将匹配的指纹信息中的Web应用描述信息作为与匹配的预存特征数据项对应的Web应用描述信息。
在本发明实施例中,可以基于Web应用的“指纹信息”对Web应用进行识别,其中,该指纹信息至少包括用于唯一识别Web应用的预存特征数据项。一般地,指纹信息可以由运维管理人员或者是Web应用的开发者预先编写好,结合Web应用的特性形成每个Web应用的独有的特征。具体地,该指纹信息通常可以包括以字符串的形式出现的预存特征数据项,用于与Web服务器返回的响应信息的消息报头(header)、响应正文(body)或者是消息报头、正文或整体的校验码之间进行匹配。具体地,在本发明实施例中,上述步骤S304可以包括以下操作步骤至少之一:
S12、判断响应消息的消息报头中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的消息报头中包含有任意一个指纹信息中的预存特征数据项;S14、若是,则判断出任意一个指纹信息与接收的响应信息匹配;
S16、判断响应消息的响应正文中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的响应正文中包含有任意一个指纹信息中的预存特征数据项;S18、若是,则判断出任意一个指纹信息与接收的响应信息匹配;
S20、判断基于响应消息获取的校验码是否为任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为基于任意一个指纹信息对应的Web应用所返回的相应信息获取的校验码为任意一个指纹信息中的预存特征数据项;S22、若是,则判断出任意一个指纹信息与接收的响应信息匹配。
一般地,在上述实施例中,步骤S12所描述的在响应消息的消息报头与预存特征数据项之间进行匹配的方式可以视为是基于Web应用的响应消息的协议特征对Web应用进行识别,步骤S16所描述的在响应消息的响应正文与预存特征数据项之间进行匹配的方式可以视为是基于Web应用的响应消息中的业务数据对Web应用进行识别,步骤S20所描述的在响应消息的校验码与预存特征数据项之间进行匹配的方式可以视为是对响应消息中的数据内容的精确匹配,例如,该校验码可以是使用消息摘要算法第五版md5(Message DigestAlgorithm MD5)算法所计算得出的响应消息的响应正文部分的md5值。这些不同的匹配方式或者说匹配类型可以由指纹信息中的匹配类型来指示,例如表1所示,在一个实施例中,匹配类型1和2分别可以表示用于匹配响应消息中的消息报头的header类型和用于指示匹配响应消息中的响应正文的body类型,其各自对应的预存特征数据项分别可以是“Nginx”和“WordPress”,其中,Nginx可以是开发名为WordPress的Web应用的开发者。在上述场景下,当检测到Web应用的响应消息的消息报头中包含有字符串“Nginx”、且具有该预存特征数据项的ID为001的指纹信息中所包括的匹配类型为1时,则可以判断出该Web应用为与指纹信息001匹配的Web应用,进而可以输出该指纹信息001中的Web应用描述信息,也即识别出该Web应用是名为WordPress的Web应用。换而言之,在本发明实施例中,上述Web应用描述信息可以包括Web应用的名称信息、版本信息或者是其他用于描述上述同一类型的Web应用的各类信息,并且这些信息可能并不会直接携带在访问Web应用所返回的响应信息中,从而可以减轻数据传输压力,并达到利用更为全面的描述信息来识别Web应用的效果。
表1
进一步可选地,在本发明实施例中,上述步骤S108还可以包括:
S24:若匹配的指纹信息为多个,则输出多个匹配的指纹信息中的具有最大预设权值的指纹信息中的Web应用描述信息,其中,多个指纹信息中的与同一类型的Web应用对应的多个指纹信息具有不同的预设权值。
在本发明实施例中,若检测到Web应用的响应信息具有多个匹配的指纹信息,则可以选择其中具有最大预设权值的指纹信息中的Web应用描述信息进行输出,以避免在多个匹配的指纹信息中的Web应用描述信息不同时出现冲突。
在另一方面,如图4所示,可选地,在本发明实施例中,上述步骤S102可以包括:
S402:获取用于指示请求访问的Web应用的访问路径和与访问路径对应的预存特征数据项;其中,
步骤S106可以包括:
S404:判断与访问路径对应的预存特征数据项中是否存在匹配的预存特征数据项;其中,
步骤S108可以包括:
S406:若与访问路径对应的预存特征数据项中存在匹配的预存特征数据项,则输出与匹配的预存特征数据项对应的Web应用描述信息。
上述方式也可以结合在前述的基于指纹信息对Web应用进行识别的方案中,例如,在一个实施中,指纹信息可以如表2所示,其中,访问路径“/test”可以表示基于所管理的网站的域名的一个相对路径。在上述场景下,后台服务器可以向维护有该网站的Web服务器发送携带有相对路径“/test”的请求消息,进而Web服务器可以根据该相对路径找到指定的Web应用并返回该Web应用的响应消息,从而实现更为精确地匹配。
表2
通过上述实施例对本发明技术方案进行了描述,然而应当理解的是,上述实施例仅用于对本发明的理解,而不应视为是丢本发明的限定。例如,在本发明实施例中,以Web服务器为例对Web应用描述信息的获取方法及其具体地对Web应用的识别进行了描述,然而在本发明的其他实施例中,运行有Web应用的服务器也可以不限于是Web服务器等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施如实施例1中所述的获取方法的Web应用的识别装置,如图5所示,该装置包括:
1)发送单元502,用于向运行有Web应用的服务器发送用于请求访问Web应用的请求消息;
2)接收单元504,用于接收服务器返回的响应消息;
3)第一判断单元506,用于判断是否存在与接收的响应消息匹配的预存特征数据项,其中,预存特征数据项用于唯一标识同一类型的Web应用;
4)输出单元508,用于在存在与接收的响应消息匹配的预存特征数据项时,输出与匹配的预存特征数据项对应的Web应用描述信息。
应当明确的是,本发明实施例所要解决的问题之一是提供一种装置,以便于实现对Web应用的有效识别。
在互联网应用领域,Web应用通常可以是指加载在Web应用框架中的各类网络应用程序,其中,加载的Web应用可以用于实现多种不同的功能,而加载后的Web应用框架则可以形成功能齐备的网页或网站,进而维护有这些网页或网站、并运行有这些Web应用的Web服务器便可以向用户提供相应的服务,如网页浏览服务、邮箱服务等。
考虑到网页或网站所需加载的诸多功能,一个网页或多个网页组合形成的网站所需加载的Web应用可能会有成百上千个,排除数量庞大且构成繁杂的Web应用对于开发者造成的负担,对于网页、网站或网络系统的管理和维护人员来说,如何有效地识别出具体的某一个或某一类Web应用便成为了一个令人头疼的问题。
针对这一问题,目前通常所采用的解决方案是人工维护所需管理的网页、网站或网络系统中的每个Web应用的访问路径、端口号以及进程编号等能够唯一标识每个Web应用的数据记录所形成的数据表,并在识别某一Web应用时,手动查询出该Web应用的访问路径、端口号以及进程编号等信息,然后与数据记录进行匹配,并输出匹配的结果来识别出该Web应用。然而,对于维护人员来说,采用该方案来识别Web应用显然较为费时费力,并且运维人员需要为每个Web应用的实例也即实际加载到网页中的Web应用维护一条数据记录,也就是说,现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例,即便能够通过手动筛选的方式来完成,其人工成本和效率也不尽如人意。
为解决上述问题,在本发明实施例中,采用了向运行有Web应用的服务器发送请求访问Web应用的请求消息、然后再对接收到的服务器所返回的响应消息进行匹配分析的方式,进而可以根据匹配的结果来获取并输出该Web应用的描述信息,从而实现对Web应用的自动识别。具体地,在本发明实施例中,可以在服务器所返回的响应消息与用于唯一标识同一类型的Web应用的预存特征数据项之间进行匹配,通过这一方式,可以实现对同一类型的Web应用或者说加载在同一网页或不同网页中的同一Web应用的不同实例的识别,而无关于该Web应用具体被加载在哪个网页或网站中,进而解决了现有的方案无法识别出同一类型的Web应用在同一网页或不同网页中出现的多个实例的技术问题。
以下将结合附图和具体的实施例对本发明技术方案及其工作原理进行更为详细的描述。首先,将结合图2对本发明技术方案的实施环境进行描述。
如图2所示,根据本发明实施例提供的Web应用的识别装置的实施环境至少可以包括一个Web服务器202和一个后台服务器204。具体地,Web服务器202可以用于提供各类Web服务,例如网页浏览服务或邮箱服务等,并且该Web服务器上可以运行有与其所提供的Web服务相关的多个Web应用。在本发明实施例中,上述识别装置可以设置在后台服务器204上,设置有该识别装置的后台服务器204可以用于提供运维管理相关的各类服务,具体地,可以用于提供Web应用描述信息的获取服务,或者说,可以提供Web应用的识别服务。更具体地,在本发明实施例中,上述Web服务器202和后台服务器204分别可以表示用于提供各自对应的服务的服务器应用,也可以表示安装并运行有这些服务器应用的服务器设备,本发明对此不作限定。
进一步可选地,如图2所示,在本发明实施例中,后台服务器204可以包括与Web服务器连接的用于向Web服务器发送访问请求和接收Web服务器202返回的响应消息的通信模块206,以及用于对Web服务器202返回的响应消息进行匹配分析的匹配分析模块208,该匹配分析模块208可以进一步地与数据库服务器210连接,以便基于数据库服务器210所存储的预存特征数据项对Web服务器202返回的响应消息进行匹配分析。当然,以上只是一种示例,并不会对本发明构成任何限定,例如,在本发明的一些实施例中,作为匹配参照的预存特征数据项也可以不单独存储在数据库服务器210上,也可以一并由后台服务器204来维护等。
在上述环境下,根据本发明实施例提供的识别装置,设置有该识别装置的用于提供管理和/或运维服务的后台服务器可以通过发送单元502向运行有Web应用的服务器如Web服务器发送用于请求访问Web应用的请求消息,进而通过接收单元504,后台服务器可以接收Web服务器返回的响应消息。
具体地,在本发明实施例中,上述Web应用可以包括多种用于实现不同功能的Web应用程序,例如,对于一个综合性的在线社区网站来说,其所使用的Web应用可以包括计数器、留言版、聊天室和BBS等,而对于一个网页类型的在线游戏的来说,其所使用的Web应用可以包括在线聊天、脚本NPC、数据提供等。需要说明的是,本发明并不会对Web应用进行具体限定,这并不影响本发明技术方案的实施及其技术效果的实现,此类实施方式均应视为是在本发明的保护范围之内。
此外,在本发明实施例中,上述请求消息通常可以是http消息。一般地,http消息通常可以包括客户端到服务器的请求消息和服务器到客户端的响应消息,在本发明实施例中,发送单元502中所描述的请求消息可以是http消息中的请求消息,接收单元504中所描述的响应消息可以是http消息中的响应消息。其中,在通过发送单元502和接收单元504所体现的后台服务器与Web服务器之间的交互过程中,后台服务器可以视为是Web服务器的客户端,用于向Web服务器发送请求并接收其响应。由此可见,在本发明实施例中,Web服务器自身所需的功能与传统的Web服务器的功能是相同的,也就是说,本发明的实施并不依赖于对运行有网页、网站及其中加载的Web应用的Web服务器的改进,从而在仅对用于运维管理的后台服务器进行配置的前提下便可以实现对Web应用的有效识别,这在一方面降低了系统更新的成本,在另一方面可以利用后台服务器和Web服务器各自提供的两类服务的解耦提高了整个系统的可维护性。
当然,以上只是一些示例,并不意味着是对本发明的限定。例如,上述实施例中以http消息为例对本发明的可行的实施方式进行了描述,然而在本发明的一些实施例中,在后台服务器与Web服务器之间传输的请求消息和响应消息并不仅限于是http消息,该请求消息和响应消息还可以采用当下或未来的由收发双方约定的用于实现上述交互过程的任何可行的信息载体的格式,例如ftp消息等,本发明对此不作限定。此外,为描述方便,上述实施例中所描述的消息收发双方为后台服务器和Web服务器,然而在本发明的一些实施例中,用于分别实现相应功能并提供相应服务的物理设备也可以并不局限于“后台服务器”和“Web服务器”这两个具体的名称,例如,在一些实施例中,后台服务器与Web服务器可以设置在同一个计算机设备或计算机系统上,等等。应当理解的是,类似的本发明实施例的等效或变型的实施方式均应视为是在本发明的保护范围之内。
在以上描述的基础上,根据本发明实施例提供的Web应用的识别装置,后台服务器可以进一步地通过第一判断单元506来判断是否存在与接收的响应消息匹配的预存特征数据项,进而在判断出存在与接收的响应消息匹配的预存特征数据项的情形下,通过输出单元508输出与匹配的预存特征数据项对应的Web应用描述信息。
在本发明实施例中,后台服务器在接收到Web服务器返回的响应消息之后,可以判断返回的响应消息与维护在后台服务器本地或数据库中的预存特征数据项是否匹配,或者说,判断是否存在与返回的响应消息匹配的预存特征数据项,其中,一个预存特征数据项可以是预存在后台服务器的、且唯一对应于某一类Web应用或者说同一Web应用的多个实例的数值或字符串等,换而言之,在本发明实施例中,所描述的同一类型的Web应用可以包括同一Web应用的不同实例,这些不同的实例可以是同一Web应用在不同环境下的具体应用,例如加载在不同的网页文件中的同一Web应用的代码等,然而本发明对此不作限定,在本发明的一些实施例中,该同一类型的Web应用也可以是采用其他的划分方式所划分出的具有某些相同特征的一批Web应用。相对应地,在本发明实施例中,上述预存特征数据项通常可以具有该类Web应用的响应信息的某些“特征”,例如该类Web应用的响应消息所使用的协议的特征、响应正文中所具备的一些特别的字符串或者是响应正文的哈希值等,本发明对此不作限定。通过上述方式便可以判断出返回响应消息的Web服务器上运行的被访问的Web应用是否为由预存特征数据项所标识的Web应用或一类Web应用,从而实现对Web应用的有效识别。进一步地,作为对Web应用进行识别的结果,可以输出经过识别的Web应用的Web应用描述信息,以便于运维管理人员的查看、或者是后续流程的处理。例如,作为一种可行的后续处理的流程,在本发明实施例中,与输出单元508耦合地,上述装置还可以包括:
1)第二判断单元,用于判断输出的Web应用描述信息是否为待查找的描述信息;
2)第三判断单元,用于在输出的Web应用描述信息为待查找的描述信息时,判断出Web应用为待查找的Web应用。
通过上述方式,便可以利用预先输入到后台服务器的待查找的描述信息实现对符合该待查找的描述信息的待查找的Web应用的查找。当然,这只是一种示例,在本发明的其他一些实施例中,还可以结合输出的Web应用描术信息对Web应用采取更为复杂的处理逻辑,以实现更为丰富的功能,本发明在此不作累述,亦不作任何限定。
除此之外,在本发明实施例中,判断接收的响应消息与预存特征数据项是否匹配的方式也可以有多种。例如,作为一些可选的方式,在本发明实施例中,上述第一判断单元506可以包括以下至少之一:
1)第二判断模块,用于判断接收的响应消息的消息报头中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
2)第三判断模块,用于判断接收的响应消息的响应正文中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
3)第四判断模块,用于判断基于接收的响应消息所获取的校验码是否为任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配。
通过这一方式,便可以缩小匹配分析过程中的检索范围,进而提高匹配分析处理的速度,并加快对Web应用的识别速度,从而提高了系统的工作效率。在另一方面,缩小匹配分析过程中的检索范围也可以达到提高匹配的精确程度的效果,从而避免发生错误识别的可能性。
在本发明实施中,作为另一种可选的实施方式,与第一判断单元506耦合地,上述识别装置还可以包括:
1)获取单元,用于获取多个类型的Web应用对应的多个指纹信息,其中,多个类型的Web应用中的每一个对应多个指纹信息中的一个或多个,每个指纹信息包括至少一个预存特征数据项以及与至少一个预存特征数据项对应的匹配类型和Web应用描述信息,其中,匹配类型用于指示每个指纹信息对应的Web应用所返回的响应信息与至少一个预存特征数据项之间的对应关系;其中,
上述第一判断单元506可以包括:
1)第一判断模块,用于判断多个指纹信息中是否存在与接收的响应消息匹配的指纹信息,其中,接收的响应信息与匹配的指纹信息中的预存特征数据项之间满足由匹配的指纹信息中的匹配类型所指示的对应关系;若存在匹配的指纹信息,则将匹配的指纹信息中的预设标识项作为匹配的预存特征数据项,并将匹配的指纹信息中的Web应用描述信息作为与匹配的预存特征数据项对应的Web应用描述信息。
在本发明实施例中,可以基于Web应用的“指纹信息”对Web应用进行识别,其中,该指纹信息至少包括用于唯一识别Web应用的预存特征数据项。一般地,指纹信息可以由运维管理人员或者是Web应用的开发者预先编写好,结合Web应用的特性形成每个Web应用的独有的特征。具体地,该指纹信息通常可以包括以字符串的形式出现的预存特征数据项,用于与Web服务器返回的响应信息的消息报头(header)、响应正文(body)或者是消息报头、正文或整体的校验码之间进行匹配。具体地,在本发明实施例中,上述第一判断模块可以包括以下至少之一:
1)第一判断子模块,用于判断响应消息的消息报头中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的消息报头中包含有任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配;
2)第二判断子模块,用于判断响应消息的响应正文中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的响应正文中包含有任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配;
3)第三判断子模块,用于判断基于响应消息获取的校验码是否为任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为基于任意一个指纹信息对应的Web应用所返回的相应信息获取的校验码为任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配。
一般地,在上述实施例中,第一判断子模块中所描述的在响应消息的消息报头与预存特征数据项之间进行匹配的方式可以视为是基于Web应用的响应消息的协议特征对Web应用进行识别,第二判断子模块中所描述的在响应消息的响应正文与预存特征数据项之间进行匹配的方式可以视为是基于Web应用的响应消息中的业务数据对Web应用进行识别,第三判断子模块中所描述的在响应消息的校验码与预存特征数据项之间进行匹配的方式可以视为是对响应消息中的数据内容的精确匹配,例如,该校验码可以是使用消息摘要算法第五版md5(Message Digest Algorithm MD5)算法所计算得出的响应消息的响应正文部分的md5值。这些不同的匹配方式或者说匹配类型可以由指纹信息中的匹配类型来指示,例如实施例1中的表1所示,在一个实施例中,匹配类型1和2分别可以表示用于匹配响应消息中的消息报头的header类型和用于指示匹配响应消息中的响应正文的body类型,其各自对应的预存特征数据项分别可以是“Nginx”和“WordPress”,其中,Nginx可以是开发名为WordPress的Web应用的开发者。在上述场景下,当检测到Web应用的响应消息的消息报头中包含有字符串“Nginx”、且具有该预存特征数据项的ID为001的指纹信息中所包括的匹配类型为1时,则可以判断出该Web应用为与指纹信息001匹配的Web应用,进而可以输出该指纹信息001中的Web应用描述信息,也即识别出该Web应用是名为WordPress的Web应用。换而言之,在本发明实施例中,上述Web应用描述信息可以包括Web应用的名称信息、版本信息或者是其他用于描述上述同一类型的Web应用的各类信息,并且这些信息可能并不会直接携带在访问Web应用所返回的响应信息中,从而可以减轻数据传输压力,并达到利用更为全面的描述信息来识别Web应用的效果。
进一步可选地,在本发明实施例中,上述输出单元508还可以包括:
1)第一输出模块,用于在匹配的指纹信息为多个时,输出多个匹配的指纹信息中的具有最大预设权值的指纹信息中的Web应用描述信息,其中,多个指纹信息中的与同一类型的Web应用对应的多个指纹信息具有不同的预设权值。
在本发明实施例中,若检测到Web应用的响应信息具有多个匹配的指纹信息,则可以选择其中具有最大预设权值的指纹信息中的Web应用描述信息进行输出,以避免在多个匹配的指纹信息中的Web应用描述信息不同时出现冲突。
在另一方面,可选地,在本发明实施例中,上述发送单元502可以包括:
1)获取模块,用于获取用于指示请求访问的Web应用的访问路径和与访问路径对应的预存特征数据项;其中,
第一判断单元506可以包括:
1)第五判断模块,用于判断与访问路径对应的预存特征数据项中是否存在匹配的预存特征数据项;其中,
输出单元508可以包括:
1)第二输出模块,用于在与访问路径对应的预存特征数据项中存在匹配的预存特征数据项时,输出与匹配的预存特征数据项对应的Web应用描述信息。
上述方式也可以结合在前述的基于指纹信息对Web应用进行识别的方案中,例如,在一个实施中,指纹信息可以如实施例1中的表2所示,其中,访问路径“/test”可以表示基于所管理的网站的域名的一个相对路径。在上述场景下,后台服务器可以向维护有该网站的Web服务器发送携带有相对路径“/test”的请求消息,进而Web服务器可以根据该相对路径找到指定的Web应用并返回该Web应用的响应消息,从而实现更为精确地匹配。
通过上述实施例对本发明技术方案进行了描述,然而应当理解的是,上述实施例仅用于对本发明的理解,而不应视为是丢本发明的限定。例如,在本发明实施例中,以Web服务器为例对Web应用的识别装置及其具体地对Web应用的识别进行了描述,然而在本发明的其他实施例中,运行有Web应用的服务器也可以不限于是Web服务器等。
实施例3
根据本发明实施例,还提供了一种用于存储如实施例1中所描述的获取方法的进程实体的存储介质,如图6所示,该存储介质被设置为存储用于执行以下步骤的程序代码:
S602:向运行有Web应用的服务器发送用于请求访问Web应用的请求消息;
S604:接收服务器返回的响应消息;
S606:判断是否存在与接收的响应消息的数据内容匹配的预存特征数据项,其中,预存特征数据项对应于同一类型的Web应用;
S608:若存在与接收的响应消息的数据内容匹配的预存特征数据项,则输出与匹配的预存特征数据项对应的Web应用描述信息,其中,Web应用描述信息用于描述该同一类型的Web应用。
可选地,在本实施例中,上述存储介质可以位于如图2所示的后台服务器204上,具体地,该存储介质可以设置在一台网络设备上,也可以分功能地设置在多台网络设备上。
可选地,在本实施例中,存储介质还被设置为存储用于执行以下步骤的程序代码:S26、在判断是否存在与响应消息匹配的预存特征数据项之前,获取多个类型的Web应用对应的多个指纹信息,其中,多个类型的Web应用中的每一个对应多个指纹信息中的一个或多个,每个指纹信息包括至少一个预存特征数据项以及与至少一个预存特征数据项对应的匹配类型和Web应用描述信息,其中,匹配类型用于指示每个指纹信息对应的Web应用所返回的响应信息与至少一个预存特征数据项之间的对应关系;其中,
处理器可以根据存储介质中存储的用于执行步骤S606的代码执行以下操作:S28、判断多个指纹信息中是否存在与接收的响应消息匹配的指纹信息,其中,接收的响应信息与匹配的指纹信息中的预存特征数据项之间满足由匹配的指纹信息中的匹配类型所指示的对应关系;若存在匹配的指纹信息,则将匹配的指纹信息中的预设标识项作为匹配的预存特征数据项,并将匹配的指纹信息中的Web应用描述信息作为与匹配的预存特征数据项对应的Web应用描述信息。
可选地,在本实施例中,处理器可以根据存储介质中存储的用于执行步骤S28的代码执行以下操作至少之一:
S30、判断响应消息的消息报头中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的消息报头中包含有任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配;
S32、判断响应消息的响应正文中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的响应正文中包含有任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配;
S34、判断基于响应消息获取的校验码是否为任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为基于任意一个指纹信息对应的Web应用所返回的相应信息获取的校验码为任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配。
可选地,在本实施例中,处理器可以根据存储介质中存储的用于执行步骤S608的代码执行以下操作:
S36、若匹配的指纹信息为多个,则输出多个匹配的指纹信息中的具有最大预设权值的指纹信息中的Web应用描述信息,其中,多个指纹信息中的与同一类型的Web应用对应的多个指纹信息具有不同的预设权值。
可选地,在本实施例中,处理器可以根据存储介质中存储的用于执行步骤S606的代码执行以下操作至少之一:
S38、判断接收的响应消息的消息报头中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
S40、判断接收的响应消息的响应正文中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
S42、判断基于接收的响应消息所获取的校验码是否为任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配。
可选地,在本实施例中,处理器可以根据存储介质中存储的用于执行步骤S602的代码执行以下操作:S44、获取用于指示请求访问的Web应用的访问路径和与访问路径对应的预存特征数据项;其中,
处理器还可以根据存储介质中存储的用于执行步骤S606的代码执行以下操作:S46、判断与访问路径对应的预存特征数据项中是否存在匹配的预存特征数据项;其中,
处理器还可以根据存储介质中存储的用于执行步骤S608的代码执行以下操作:S48、若与访问路径对应的预存特征数据项中存在匹配的预存特征数据项,则输出与匹配的预存特征数据项对应的Web应用描述信息。
可选地,在本实施例中,上述存储介质还可以被设置为执行以下操作步骤:
S50、在输出与匹配的预存特征数据项对应的Web应用描述信息之后,判断输出的Web应用描述信息是否为待查找的描述信息;
S52、若输出的Web应用描述信息为待查找的描述信息,则判断出Web应用为待查找的Web应用。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
实施例4
根据本发明实施例,还提供了一种用于实施如实施例1中所描述的获取方法的服务器,如图7所示,该服务器包括:
1)通信接口702,用于向运行有Web应用的另一服务器发送用于请求访问Web应用的请求消息;以及接收该另一服务器返回的响应消息;
2)处理器704,用于判断是否存在与接收的响应消息的数据内容匹配的预存特征数据项,其中,预存特征数据项对应于同一类型的Web应用;若存在与接收的响应消息的数据内容匹配的预存特征数据项,则输出与匹配的预存特征数据项对应的Web应用描述信息,其中,Web应用描述信息用于描述该同一类型的Web应用。
可选地,在本实施例中,根据本发明实施例提供的服务器可以是如图2所示的后台服务器204,上述另一服务器可以是图2中所示的Web服务器202。具体地,Web服务器202可以用于提供各类Web服务,例如网页浏览服务或邮箱服务等,并且该Web服务器上可以运行有与其所提供的Web服务相关的多个Web应用。此外,后台服务器204可以用于提供运维管理相关的各类服务,具体地,可以用于提供Web应用描述信息的获取服务,或者说,可以提供Web应用的识别服务。更具体地,在本发明实施例中,上述Web服务器202和后台服务器204分别可以表示用于提供各自对应的服务的服务器应用,也可以表示安装并运行有这些服务器应用的服务器设备,本发明对此不作限定。
可选地,在本实施例中,上述处理器704可以被设置为执行以下操作:
S54、在判断是否存在与响应消息匹配的预存特征数据项之前,获取多个类型的Web应用对应的多个指纹信息,其中,多个类型的Web应用中的每一个对应多个指纹信息中的一个或多个,每个指纹信息包括至少一个预存特征数据项以及与至少一个预存特征数据项对应的匹配类型和Web应用描述信息,其中,匹配类型用于指示每个指纹信息对应的Web应用所返回的响应信息与至少一个预存特征数据项之间的对应关系;
S56、判断多个指纹信息中是否存在与接收的响应消息匹配的指纹信息,其中,接收的响应信息与匹配的指纹信息中的预存特征数据项之间满足由匹配的指纹信息中的匹配类型所指示的对应关系;若存在匹配的指纹信息,则将匹配的指纹信息中的预设标识项作为匹配的预存特征数据项,并将匹配的指纹信息中的Web应用描述信息作为与匹配的预存特征数据项对应的Web应用描述信息。
可选地,在本实施例中,处理器704还可以进一步地被设置为以下操作至少之一:
S58、判断响应消息的消息报头中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的消息报头中包含有任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配;
S60、判断响应消息的响应正文中是否包含有任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为任意一个指纹信息对应的Web应用所返回的响应信息的响应正文中包含有任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配;
S62、判断基于响应消息获取的校验码是否为任意一个指纹信息中的预存特征数据项、并且任意一个指纹信息中的匹配类型所指示的对应关系为基于任意一个指纹信息对应的Web应用所返回的相应信息获取的校验码为任意一个指纹信息中的预存特征数据项;若是,则判断出任意一个指纹信息与接收的响应信息匹配。
可选地,在本实施例中,处理器704还可以被设置为执行以下操作:
S64、若匹配的指纹信息为多个,则输出多个匹配的指纹信息中的具有最大预设权值的指纹信息中的Web应用描述信息,其中,多个指纹信息中的与同一类型的Web应用对应的多个指纹信息具有不同的预设权值。
可选地,在本实施例中,处理器704还可以被设置为执行以下操作至少之一:
S66、判断接收的响应消息的消息报头中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
S68、判断接收的响应消息的响应正文中是否包含有任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配;
S70、判断基于接收的响应消息所获取的校验码是否为任意一个预存特征数据项;若是,则判断出响应消息与任意一个预存特征数据项匹配。
可选地,在本实施例中,处理器704可以被设置为执行以下操作:
S72、获取用于指示请求访问的Web应用的访问路径和与访问路径对应的预存特征数据项;
S74、判断与访问路径对应的预存特征数据项中是否存在匹配的预存特征数据项;
S76、若与访问路径对应的预存特征数据项中存在匹配的预存特征数据项,则输出与匹配的预存特征数据项对应的Web应用描述信息。
可选地,在本实施例中,处理器704还可以进一步地被设置为执行以下操作:
S78、在输出与匹配的预存特征数据项对应的Web应用描述信息之后,判断输出的Web应用描述信息是否为待查找的描述信息;
S80、若输出的Web应用描述信息为待查找的描述信息,则判断出Web应用为待查找的Web应用。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的服务器,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (16)

1.一种Web应用的识别方法,其特征在于,包括:
向运行有Web应用的服务器发送用于请求访问所述Web应用的请求消息;
接收所述服务器返回的响应消息;
判断是否存在与接收的所述响应消息的数据内容匹配的预存特征数据项,其中,所述预存特征数据项对应于同一类型的Web应用;
若存在与接收的所述响应消息的数据内容匹配的预存特征数据项,则输出与所述匹配的预存特征数据项对应的Web应用描述信息,其中,所述Web应用描述信息用于描述所述同一类型的Web应用。
2.根据权利要求1所述的方法,其特征在于,
在所述判断是否存在与所述响应消息的数据内容匹配的预存特征数据项之前,所述方法还包括:获取多个类型的Web应用对应的多个指纹信息,其中,所述多个类型的Web应用中的每一个Web应用对应所述多个指纹信息中的一个或多个,每个指纹信息包括至少一个预存特征数据项以及与所述至少一个预存特征数据项对应的匹配类型和Web应用描述信息,其中,所述匹配类型用于指示所述每个指纹信息对应的Web应用所返回的响应消息与所述至少一个预存特征数据项之间的对应关系;
所述判断是否存在与所述响应消息的数据内容匹配的预存特征数据项包括:判断所述多个指纹信息中是否存在与接收的所述响应消息的数据内容匹配的指纹信息,其中,接收的所述响应消息与所述匹配的指纹信息中的预存特征数据项之间满足由所述匹配的指纹信息中的匹配类型所指示的对应关系;若存在所述匹配的指纹信息,则将所述匹配的指纹信息中的预设标识项作为所述匹配的预存特征数据项,并将所述匹配的指纹信息中的Web应用描述信息作为与所述匹配的预存特征数据项对应的Web应用描述信息。
3.根据权利要求2所述的方法,其特征在于,所述判断所述多个指纹信息中是否存在与接收的所述响应消息的数据内容匹配的指纹信息包括以下至少之一:
判断所述响应消息的消息报头中是否包含有任意一个指纹信息中的预存特征数据项、并且所述任意一个指纹信息中的匹配类型所指示的对应关系为所述任意一个指纹信息对应的Web应用所返回的响应消息的消息报头中包含有所述任意一个指纹信息中的预存特征数据项;若是,则判断出所述任意一个指纹信息与接收的所述响应消息匹配;
判断所述响应消息的响应正文中是否包含有任意一个指纹信息中的预存特征数据项、并且所述任意一个指纹信息中的匹配类型所指示的对应关系为所述任意一个指纹信息对应的Web应用所返回的响应消息的响应正文中包含有所述任意一个指纹信息中的预存特征数据项;若是,则判断出所述任意一个指纹信息与接收的所述响应消息匹配;
判断基于所述响应消息获取的校验码是否为任意一个指纹信息中的预存特征数据项、并且所述任意一个指纹信息中的匹配类型所指示的对应关系为基于所述任意一个指纹信息对应的Web应用所返回的响应消息获取的校验码为所述任意一个指纹信息中的预存特征数据项;若是,则判断出所述任意一个指纹信息与接收的所述响应消息匹配。
4.根据权利要求2所述的方法,其特征在于,所述输出与所述匹配的预存特征数据项对应的Web应用描述信息包括:
若所述匹配的指纹信息为多个,则输出多个所述匹配的指纹信息中的具有最大预设权值的指纹信息中的Web应用描述信息,其中,所述多个指纹信息中的与同一类型的Web应用对应的多个指纹信息具有不同的预设权值。
5.根据权利要求1所述的方法,其特征在于,所述判断是否存在与接收的所述响应消息的数据内容匹配的预存特征数据项包括以下至少之一:
判断接收的所述响应消息的消息报头中是否包含有任意一个预存特征数据项;若是,则判断出所述响应消息与所述任意一个预存特征数据项匹配;
判断接收的所述响应消息的响应正文中是否包含有任意一个预存特征数据项;若是,则判断出所述响应消息与所述任意一个预存特征数据项匹配;
判断基于接收的所述响应消息所获取的校验码是否为任意一个预存特征数据项;若是,则判断出所述响应消息与所述任意一个预存特征数据项匹配。
6.根据权利要求1至5中任一项所述的方法,其特征在于,
所述向运行有Web应用的服务器发送用于请求访问所述Web应用的请求消息包括:获取用于指示请求访问的所述Web应用的访问路径和与所述访问路径对应的预存特征数据项;
所述判断是否存在与接收的所述响应消息的数据内容匹配的预存特征数据项包括:判断与所述访问路径对应的预存特征数据项中是否存在所述匹配的预存特征数据项;
所述输出与所述匹配的预存特征数据项对应的Web应用描述信息包括:若与所述访问路径对应的预存特征数据项中存在所述匹配的预存特征数据项,则输出与所述匹配的预存特征数据项对应的Web应用描述信息。
7.根据权利要求1至5中任一项所述的方法,其特征在于,在所述输出与所述匹配的预存特征数据项对应的Web应用描述信息之后,所述方法还包括:
判断输出的所述Web应用描述信息是否为待查找的描述信息;
若输出的所述Web应用描述信息为待查找的描述信息,则判断出所述Web应用为待查找的Web应用。
8.根据权利要求1至5中任一项所述的方法,其特征在于,所述同一类型的Web应用包括同一Web应用的不同实例,和/或,所述Web应用描述信息包括Web应用的名称信息和/或版本信息。
9.一种Web应用的识别装置,其特征在于,包括:
发送单元,用于向运行有Web应用的服务器发送用于请求访问所述Web应用的请求消息;
接收单元,用于接收所述服务器返回的响应消息;
第一判断单元,用于判断是否存在与接收的所述响应消息的数据内容匹配的预存特征数据项,其中,所述预存特征数据项对应于同一类型的Web应用;
输出单元,用于在存在与接收的所述响应消息的数据内容匹配的预存特征数据项时,输出与所述匹配的预存特征数据项对应的Web应用描述信息,其中,所述Web应用描述信息用于描述所述同一类型的Web应用。
10.根据权利要求9所述的装置,其特征在于,
所述装置还包括:获取单元,用于获取多个类型的Web应用对应的多个指纹信息,其中,所述多个类型的Web应用中的每一个Web应用对应所述多个指纹信息中的一个或多个,每个指纹信息包括至少一个预存特征数据项以及与所述至少一个预存特征数据项对应的匹配类型和Web应用描述信息,其中,所述匹配类型用于指示所述每个指纹信息对应的Web应用所返回的响应消息与所述至少一个预存特征数据项之间的对应关系;
所述第一判断单元包括:第一判断模块,用于判断所述多个指纹信息中是否存在与接收的所述响应消息的数据内容匹配的指纹信息,其中,接收的所述响应消息与所述匹配的指纹信息中的预存特征数据项之间满足由所述匹配的指纹信息中的匹配类型所指示的对应关系;若存在所述匹配的指纹信息,则将所述匹配的指纹信息中的预设标识项作为所述匹配的预存特征数据项,并将所述匹配的指纹信息中的Web应用描述信息作为与所述匹配的预存特征数据项对应的Web应用描述信息。
11.根据权利要求10所述的装置,其特征在于,所述第一判断模块包括以下至少之一:
第一判断子模块,用于判断所述响应消息的消息报头中是否包含有任意一个指纹信息中的预存特征数据项、并且所述任意一个指纹信息中的匹配类型所指示的对应关系为所述任意一个指纹信息对应的Web应用所返回的响应消息的消息报头中包含有所述任意一个指纹信息中的预存特征数据项;若是,则判断出所述任意一个指纹信息与接收的所述响应消息匹配;
第二判断子模块,用于判断所述响应消息的响应正文中是否包含有任意一个指纹信息中的预存特征数据项、并且所述任意一个指纹信息中的匹配类型所指示的对应关系为所述任意一个指纹信息对应的Web应用所返回的响应消息的响应正文中包含有所述任意一个指纹信息中的预存特征数据项;若是,则判断出所述任意一个指纹信息与接收的所述响应消息匹配;
第三判断子模块,用于判断基于所述响应消息获取的校验码是否为任意一个指纹信息中的预存特征数据项、并且所述任意一个指纹信息中的匹配类型所指示的对应关系为基于所述任意一个指纹信息对应的Web应用所返回的响应消息获取的校验码为所述任意一个指纹信息中的预存特征数据项;若是,则判断出所述任意一个指纹信息与接收的所述响应消息匹配。
12.根据权利要求10所述的装置,其特征在于,所述输出单元包括:
第一输出模块,用于在所述匹配的指纹信息为多个时,输出多个所述匹配的指纹信息中的具有最大预设权值的指纹信息中的Web应用描述信息,其中,所述多个指纹信息中的与同一类型的Web应用对应的多个指纹信息具有不同的预设权值。
13.根据权利要求9所述的装置,其特征在于,所述第一判断单元包括以下至少之一:
第二判断模块,用于判断接收的所述响应消息的消息报头中是否包含有任意一个预存特征数据项;若是,则判断出所述响应消息与所述任意一个预存特征数据项匹配;
第三判断模块,用于判断接收的所述响应消息的响应正文中是否包含有任意一个预存特征数据项;若是,则判断出所述响应消息与所述任意一个预存特征数据项匹配;
第四判断模块,用于判断基于接收的所述响应消息所获取的校验码是否为任意一个预存特征数据项;若是,则判断出所述响应消息与所述任意一个预存特征数据项匹配。
14.根据权利要求9至13中任一项所述的装置,其特征在于,
所述发送单元包括:获取模块,用于获取用于指示请求访问的所述Web应用的访问路径和与所述访问路径对应的预存特征数据项;
所述第一判断单元包括:第五判断模块,用于判断与所述访问路径对应的预存特征数据项中是否存在所述匹配的预存特征数据项;
所述输出单元包括:第二输出模块,用于在与所述访问路径对应的预存特征数据项中存在所述匹配的预存特征数据项时,输出与所述匹配的预存特征数据项对应的Web应用描述信息。
15.根据权利要求9至13中任一项所述的装置,其特征在于,所述装置还包括:
第二判断单元,用于判断输出的所述Web应用描述信息是否为待查找的描述信息;
第三判断单元,用于在输出的所述Web应用描述信息为待查找的描述信息时,判断出所述Web应用为待查找的Web应用。
16.根据权利要求9至13中任一项所述的装置,其特征在于,所述同一类型的Web应用包括同一Web应用的不同实例,和/或,所述Web应用描述信息包括Web应用的名称信息和/或版本信息。
CN201410261058.1A 2014-06-12 2014-06-12 Web应用的识别方法和装置 Active CN105227599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410261058.1A CN105227599B (zh) 2014-06-12 2014-06-12 Web应用的识别方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410261058.1A CN105227599B (zh) 2014-06-12 2014-06-12 Web应用的识别方法和装置

Publications (2)

Publication Number Publication Date
CN105227599A CN105227599A (zh) 2016-01-06
CN105227599B true CN105227599B (zh) 2017-12-26

Family

ID=54996274

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410261058.1A Active CN105227599B (zh) 2014-06-12 2014-06-12 Web应用的识别方法和装置

Country Status (1)

Country Link
CN (1) CN105227599B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395637A (zh) * 2017-08-29 2017-11-24 厦门安胜网络科技有限公司 http隧道主动检测方法、终端设备及存储介质
CN107864127B (zh) * 2017-10-30 2020-07-10 北京神州绿盟信息安全科技股份有限公司 一种应用程序的识别方法及装置
CN108959929B (zh) * 2018-07-23 2021-01-01 奇安信科技集团股份有限公司 程序文件处理方法及装置
CN110198309A (zh) * 2019-05-14 2019-09-03 北京墨云科技有限公司 一种Web服务器识别方法、装置、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8087088B1 (en) * 2006-09-28 2011-12-27 Whitehat Security, Inc. Using fuzzy classification models to perform matching operations in a web application security scanner
CN102904940A (zh) * 2012-09-27 2013-01-30 杭州迪普科技有限公司 一种Web服务器识别的方法及装置
CN103065095A (zh) * 2013-01-29 2013-04-24 四川大学 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器
CN103297270A (zh) * 2013-05-24 2013-09-11 华为技术有限公司 应用类型识别方法及网络设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8087088B1 (en) * 2006-09-28 2011-12-27 Whitehat Security, Inc. Using fuzzy classification models to perform matching operations in a web application security scanner
CN102904940A (zh) * 2012-09-27 2013-01-30 杭州迪普科技有限公司 一种Web服务器识别的方法及装置
CN103065095A (zh) * 2013-01-29 2013-04-24 四川大学 一种基于指纹识别技术的web漏洞扫描方法和漏洞扫描器
CN103297270A (zh) * 2013-05-24 2013-09-11 华为技术有限公司 应用类型识别方法及网络设备

Also Published As

Publication number Publication date
CN105227599A (zh) 2016-01-06

Similar Documents

Publication Publication Date Title
CN103618794B (zh) 自动登录的方法、终端及服务器
CN106875303A (zh) 实现电子协议签约的方法和装置
CN105306495B (zh) 用户识别方法和装置
CN106528432A (zh) 测试场景数据的构建方法及装置、埋点测试方法
CN103348373A (zh) 个人信息发送/接收系统、个人信息发送/接收方法、个人信息提供设备、偏好管理设备以及计算机程序
CN105227599B (zh) Web应用的识别方法和装置
CN104618312B (zh) 一种m2m应用的远程注册方法、装置和系统
CN104092555B (zh) 一种更新参数值的方法、装置和系统
CN104217338B (zh) 基于智能移动终端的物品信息查询方法
CN104133765B (zh) 网络活动的测试用例发送方法及测试用例服务器
CN102724079A (zh) 一种以太网设备辅助配置的方法及系统
CN107463453A (zh) 同一终端不同应用间通信的方法、装置、设备和存储介质
CN109859006A (zh) 用于确定用户兴趣特征的方法、系统、电子设备和计算机可读介质
CN106789227A (zh) 一种上网行为分析方法及上网行为分析装置
CN107330091A (zh) 信息处理方法和装置
CN107295118A (zh) 联系人查找方法和装置
CN110516173A (zh) 一种非法网站识别方法、装置、设备及介质
CN110910143A (zh) 身份标识生成方法、装置、相关节点及介质
CN104618410B (zh) 资源推送方法和装置
CN109309655A (zh) 无状态通信安全签名方法、终端及服务器端
CN106790593A (zh) 一种页面处理方法和装置
CN101783742B (zh) 一种网络拓扑的发现方法和设备
CN107291826A (zh) 文件搜索处理方法及装置
CN107357810A (zh) 一种用于输出专题落地页的方法及系统
CN106603748A (zh) 一种终端上网方法及终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190806

Address after: 518000 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right