本发明涉及端口扫描技术领域,尤其涉及一种基于http请求的web资产发现方法及装置。
背景技术:
传统的syn扫描是向目标主机的一个端口发送请求连接的syn包,若扫描器在收到目标主机对应的端口反馈syn/ack数据时,则判断该端口为开放状态,继而发送一个rst数据,断开与目标主机对应的端口的连接。若扫描器在收到目标主机对应的端口反馈rst数据时,则判断该端口为关闭状态。
但本发明的发明人在研究过程中发现,现有技术中存在以下技术问题:使用syn扫描需要root权限,且syn扫描过程中扫描器与目标主机对应的端口并没有建立完全的连接,无法判断目标主机是否存在能提供指定信息的web服务端口,具有局限性。
技术实现要素:
本发明第一实施例提供了一种基于http请求的互联网web资产发现方法及装置,能在不需要root的权限下,判断被监测的web服务器是否存在能提供指定信息的web服务端口。
本发明一实施例提供一种基于http请求的互联网web资产发现方法,适于在测试设备中执行,至少包括如下步骤:
获取用户请求网页的http请求,并将所述http请求发送给提供web服务的设备,同时,启动计时;
若在设定时间内接收到所述提供web服务的设备根据所述http请求返回的正常响应,则判断该设备存在相应类型的web服务;
若在设定时间内未收到所述提供web服务的设备根据所述http请求返回的正常响应,或收到所述提供web服务的设备根据所述http请求返回的异常响应,则判断该设备不存在相应类型的web服务。
进一步的,所述测试设备为实施所述方法的嵌入式设备或智能终端设备,即客户端,包括笔记本电脑、台式pc、平板和智能手机;所述提供web服务的设备为各相应类型的web服务器。
进一步的,所述提供web服务的设备设置有ip资产数据库和web资产数据库;其中,
所述ip资产数据库,为针对每个ip地址的端口、服务、应用和版本类型进行收集而形成的收据库,用于提供搜索接口供客户端进行信息查询;
所述web资产数据库,为针对每个web登录页面的各类型信息的收集,包括对中间件、服务器类型和开发语言进行收集而形成的数据库,用于提供搜索接口供客户端进行信息查询。
进一步的,所述http请求包括如下8种请求方法:
opions,为返回web服务器针对特定资源所支持的html请求方法,或web服务器发送测试服务器功能;
get,向特定资源发出请求,即请求指定页面信息,并返回实体主体;
post,向指定资源提交数据进行处理请求,即提交表单和上传文件,又可能导致新的资源的建立或原有资源的修改;
put,向指定资源位置上上传其最新内容,即从客户端向web服务器传送的数据取代指定文档的内容;
head,与get请求类似,返回的响应中没有具体内容,用于获取报头;
delete,请求web服务器删除request-url所标示的资源,即请求web服务器删除页面;
trace,回显web服务器收到的请求,用于测试和诊断;
connect,http/1.1协议中能够将连接改为管道方式的代理服务器。
对应的本发明第二实施例提供了一种基于http请求的互联网web资产发现装置,设置在测试设备中,包括:
http请求发起模块,用于获取用户请求网页的http请求,并将所述http请求发送给提供web服务的设备,同时,启动计时;
http响应判断模块,用于若在设定时间内接收到所述提供web服务的设备根据所述http请求返回的正常响应,则判断该设备存在相应类型的web服务;
http响应判断模块,还用于若在设定时间内未收到所述提供web服务的设备根据所述http请求返回的正常响应,或收到所述提供web服务的设备根据所述http请求返回的异常响应,则判断该设备不存在相应类型的web服务。
进一步的,所述测试设备为实施所述方法的嵌入式设备或智能终端设备,即客户端,包括笔记本电脑、台式pc、平板和智能手机;所述提供web服务的设备为各相应类型的web服务器。
进一步的,所述提供web服务的设备设置有ip资产数据库和web资产数据库;其中,
所述ip资产数据库,为针对每个ip地址的端口、服务、应用和版本类型进行收集而形成的收据库,用于提供搜索接口供客户端进行信息查询;
所述web资产数据库,为针对每个web登录页面的各类型信息的收集,包括对中间件、服务器类型和开发语言进行收集而形成的数据库,用于提供搜索接口供客户端进行信息查询。
进一步的,所述http请求包括如下8种请求方法:
opions,为返回web服务器针对特定资源所支持的html请求方法,或web服务器发送测试服务器功能;
get,向特定资源发出请求,即请求指定页面信息,并返回实体主体;
post,向指定资源提交数据进行处理请求,即提交表单和上传文件,又可能导致新的资源的建立或原有资源的修改;
put,向指定资源位置上上传其最新内容,即从客户端向web服务器传送的数据取代指定文档的内容;
head,与get请求类似,返回的响应中没有具体内容,用于获取报头;
delete,请求web服务器删除request-url所标示的资源,即请求web服务器删除页面;
trace,回显web服务器收到的请求,用于测试和诊断;
connect,http/1.1协议中能够将连接改为管道方式的代理服务器。
实施本发明实施例具有如下有益效果:
本发明的实施例提供的基于http请求的互联网web资产发现方法及装置,通过将特定http请求发送给提供web服务的设备,在预设的时间内若对应的web服务设备根据该http请求返回的正常响应,则判断该设备存在相应类型的web服务,若在预设的时间内未收到提供web服务的设备根据该http请求返回的正常响应,或收到所述提供web服务的设备根据所述http请求返回的异常响应,则判断该设备不存在相应类型的web服务。
附图说明
图1是本发明第一实施例提供的基于http请求的互联网web资产发现方法的流程示意图。
图2是本发明第二实施例提供的基于http请求的互联网web资产发现装置的连接示意图。
附图标记说明:101、http请求发起模块;102、http响应判断模块。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
第一实施例:
参阅图1,本发明第一实施例提供的一种基于http请求的互联网web资产发现方法,至少包括如下步骤:
s101,获取用户请求网页的http请求,并将所述http请求发送给提供web服务的设备,同时,启动计时;
s102,若在设定时间内接收到所述提供web服务的设备根据所述http请求返回的正常响应,则判断该设备存在相应类型的web服务;
s103,若在设定时间内未收到所述提供web服务的设备根据所述http请求返回的正常响应,或收到所述提供web服务的设备根据所述http请求返回的异常响应,则判断该设备不存在相应类型的web服务。
对于步骤s101,所述测试设备为实施所述方法的嵌入式设备或智能终端设备,即客户端,包括笔记本电脑、台式pc、平板和智能手机;所述提供web服务的设备为各相应类型的web服务器。
需要说明的是,测试设备根据所要判断的web服务类型,发起对应的http请求,所述http请求中包含特定的web服务信息请求指令,同时开始计时。
需要说明的是,所述提供web服务的设备设置有ip资产数据库和web资产数据库;其中,
所述ip资产数据库,为针对每个ip地址的端口、服务、应用和版本类型进行收集而形成的收据库,用于提供搜索接口供客户端进行信息查询;
所述web资产数据库,为针对每个web登录页面的各类型信息的收集,包括对中间件、服务器类型和开发语言进行收集而形成的数据库,用于提供搜索接口供客户端进行信息查询,
进一步的,所述http请求包括如下8种请求方法:
opions,为返回web服务器针对特定资源所支持的html请求方法,或web服务器发送测试服务器功能;
get,向特定资源发出请求,即请求指定页面信息,并返回实体主体;
post,向指定资源提交数据进行处理请求,即提交表单和上传文件,又可能导致新的资源的建立或原有资源的修改;
put,向指定资源位置上上传其最新内容,即从客户端向web服务器传送的数据取代指定文档的内容;
head,与get请求类似,返回的响应中没有具体内容,用于获取报头;
delete,请求web服务器删除request-url所标示的资源,即请求web服务器删除页面;
trace,回显web服务器收到的请求,用于测试和诊断;
connect,http/1.1协议中能够将连接改为管道方式的代理服务器。
对于步骤s102和步骤s103,若所述测试设备在预设的时间内能与所述提供web服务的设备实现3次握手并传输特定的http请求,则判断该设备存在相应类型的web服务,若所述测试设备预设的时间内无法能与所述提供web服务的设备建立连接,则判断所述设备不存在相应类型的web服务。
通过实施本发明的第一实施例,能将特定http请求发送给提供web服务的设备,在预设的时间内若对应的web服务设备根据该http请求返回的正常响应,则判断该设备存在相应类型的web服务,若在预设的时间内未收到提供web服务的设备根据该http请求返回的正常响应,或收到所述提供web服务的设备根据所述http请求返回的异常响应,则判断该设备不存在相应类型的web服务。
第二实施例:
参阅图2,对应的本发明第二实施例提供了一种基于http请求的互联网web资产发现装置,包括:
http请求发起模块101,用于获取用户请求网页的http请求,并将所述http请求发送给提供web服务的设备,同时,启动计时;
http响应判断模块102,用于若在设定时间内接收到所述提供web服务的设备根据所述http请求返回的正常响应,则判断该设备存在相应类型的web服务;
http响应判断模块102,还用于若在设定时间内未收到所述提供web服务的设备根据所述http请求返回的正常响应,或收到所述提供web服务的设备根据所述http请求返回的异常响应,则判断该设备不存在相应类型的web服务。
优选的,所述测试设备为实施所述方法的嵌入式设备或智能终端设备,即客户端,包括笔记本电脑、台式pc、平板和智能手机;所述提供web服务的设备为各相应类型的web服务器。
需要说明的是,测试设备根据所要判断的web服务类型,发起对应的http请求,所述http请求中包含特定的web服务信息请求指令,同时开始计时。
需要说明的是,所述提供web服务的设备设置有ip资产数据库和web资产数据库;其中,
所述ip资产数据库,为针对每个ip地址的端口、服务、应用和版本类型进行收集而形成的收据库,用于提供搜索接口供客户端进行信息查询;
所述web资产数据库,为针对每个web登录页面的各类型信息的收集,包括对中间件、服务器类型和开发语言进行收集而形成的数据库,用于提供搜索接口供客户端进行信息查询,
进一步的,所述http请求包括如下8种请求方法:
opions,为返回web服务器针对特定资源所支持的html请求方法,或web服务器发送测试服务器功能;
get,向特定资源发出请求,即请求指定页面信息,并返回实体主体;
post,向指定资源提交数据进行处理请求,即提交表单和上传文件,又可能导致新的资源的建立或原有资源的修改;
put,向指定资源位置上上传其最新内容,即从客户端向web服务器传送的数据取代指定文档的内容;
head,与get请求类似,返回的响应中没有具体内容,用于获取报头;
delete,请求web服务器删除request-url所标示的资源,即请求web服务器删除页面;
trace,回显web服务器收到的请求,用于测试和诊断;
connect,http/1.1协议中能够将连接改为管道方式的代理服务器。
具体的,若所述测试设备在预设的时间内能与所述提供web服务的设备实现3次握手并传输特定的http请求,则判断该设备存在相应类型的web服务,若所述测试设备预设的时间内无法能与所述提供web服务的设备建立连接,则判断所述设备不存在相应类型的web服务。
通过实施本发明的第二实施例,能够执行本发明第一实施例的基于http请求的互联网web资产发现方法,从而在不需要root的权限下,判断被监测的web服务器是否存在能提供指定信息的web服务端口。
以上是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。