一种服务器状态的探测方法和装置制造方法及图纸

技术编号:8961213 阅读:193 留言:0更新日期:2013-07-25 20:26
本发明专利技术实施例公开了一种服务器状态的探测方法和装置。该方法包括:在需要探测目标服务器状态时,客户端向目标服务器的目标服务端口发送TCP协议的SYN请求,接收所述目标服务器返回的响应消息,根据所述响应消息,判断所述目标服务端口的状态。应用本发明专利技术能够降低探测服务器状态的维护成本、提高探测精度。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种服务器状态的探测方法和装置
技术介绍
在互联网服务中,常常需要探测服务器状态。目前,通常利用Internet控制报文协议(Internet Control Message Protocol, ICMP)的 Ping 消息来探测服务器状态。具体地,被监控的服务器侧针对特定客户端开通ICMP策略,则所述客户端可向所述被监控的服务器发送Ping消息,从而探测出该被监控的服务器当前是否可用。可见,目前客户端要想探测出目标服务器的状态,则首先要在目标服务器开通针对该客户端的ICMP策略,维护成本较高。另外,每一个服务器常常有多个服务端口,在服务器可用的状态下,可能存在着仅部分服务端口可用,而剩余的服务端口不可用的情况。客户端通过发送Ping消息,只能探测出服务器是否可用,而无法探测到某一个具体的服务端口是否可用,探测精度较差。
技术实现思路
有鉴于此,本专利技术提供了一种服务器状态的探测方法和装置,从而降低探测服务器状态的维护成本、提高探测精度。本专利技术的技术方案具体是这样实现的:一种服务器状态的探测方法,该方法包括:在需要探测目标服务器状态时,客户端向目标服务器的目标服务端口发送TCP协议的SYN请求,接收所述目标服务器返回的响应消息,根据所述响应消息,判断所述目标服务端口的状态。一种服务器状态的探测装置,该装置包括TCP连接模块和状态判断模块; 所述TCP连接模块,用于向目标服务器的目标服务端口发送TCP协议的SYN请求,接收所述目标服务器返回的响应消息;所述状态判断模块,用于根据所述TCP连接模块接收到的响应消息,判断所述目标服务端口的状态。由上述技术方案可见,本专利技术在需要探测目标服务器的状态时,向目标服务器的目标服务端口发送TCP协议的SYN请求,接收所述目标服务器返回的响应消息,根据所述响应消息判断所述目标服务端口的状态,换言之,本专利技术在需要探测目标服务器的状态时,通过与目标服务器的目标服务端口建立TCP连接,根据目标服务器返回的响应消息判断目标服务端口的状态,由于几乎所有的服务器和客户端都是支持TCP协议的,因此,不需要对服务器和客户端做任何改动,就可以探测到目标服务器的状态,与现有技术中需要先在目标服务器开通针对特定客户端的ICMP策略以后,所述特定客户端才能探测到所述目标服务器的状态相比,能够降低 维护成本。另外,由于本专利技术是向目标服务器的目标服务端口发送SYN请求,根据目标服务器返回的响应消息可以判断出所述目标服务端口的状态,换言之,本专利技术可以探测到目标服务器某一个具体的服务端口是否可用,与现有技术中只能探测到服务器是否可用相比,提闻了探测精度。附图说明图1是本专利技术提供的服务器状态的探测方法流程图。图2是探测服务器的服务端口状态的第一实施例。图3是探测服务器的服务端口状态的第二实施例。图4是本专利技术提供的获取探测链路路由节点并生成路线图的示意图。图5是从一个发给www.qq.com的SYN请求的通讯数据中提取出的路由节点信息列表。图6是根据图5的路由节点信息列表生成的路由路线图。图7是本专利技术提供的探测大量目标服务器状态的示意图。图 8 是从发给 www.qq.com、www.baidu.com、www.sina.com.cn 的 SYN 请求的通讯数据中提取出的路由节点信息列表。图9是根据图8的路由节点信息列表生成的路由路线图。图10是本专利技术提供的服务器状态的探测装置结构图。具体实施例方式本专利技术在需要探测目标服务器的状态时,通过与目标服务器的目标服务端口建立TCP连接,根据目标服务器返回的响应消息判断目标服务端口的状态,具体请参见图1。图1是本专利技术提供的服务器状态的探测方法流程图。如图1所示,该方法包括:步骤101,在需要探测目标服务器状态时,客户端向目标服务器的目标服务端口发送TCP协议的SYN请求。步骤102,所述客户端接收所述目标服务器返回的响应消息。步骤103,所述客户端根据所述响应消息,判断所述目标服务端口的状态。本步骤中,客户端识别目标服务器返回的响应消息的类型,根据响应消息的类型判断目标服务端口的状态。具体地,当客户端识别出目标服务器返回的响应消息是复位报文RST包时,所述客户端判定所述目标服务端口为不可用状态,当客户端识别出目标服务器返回的响应消息是SYN应答SYN/ACK包时,所述客户端口判定所述目标服务端口为可用状态。其中,SYN请求是在客户端和服务器之间建立TCP/IP连接时使用的握手信号。在客户端和服务器之间建立正常的TCP网络连接时,需要客户端首先发出一个SYN请求消息,然后服务器回复SYN-ACK应答标识接收到了这个SYN消息,最后客户端再以ACK消息响应所述SYN-ACK应答,这样,在客户端和服务器之间才能建立起可靠的TCP连接,数据才可以在客户端和服务器之间传递。与现有技术 中通过建立TCP网络连接来传递数据不同的是,本专利技术是通过执行TCP网络连接,根据TCP网络连接建立过程中服务器回复的响应消息,来判断服务器中相应服务端口的可用性,具体可参见图2和图3。图2是探测服务器的服务端口状态的第一实施例。如图2所示,在该第一实施例中,客户端向服务器的80端口发起一个TCP协议的SYN包,然后,客户端接收服务器回复的响应消息。当服务器的80端口不可用时,服务器向客户端回复复位报文(RST包),因此,当客户端识别出服务器回复的响应消息为RST包时,判定该服务器的80端口为不可用状态。图3是探测服务器的服务端口状态的第二实施例。如图3所示,在该第二实施例中,客户端向服务器的80端口发起一个TCP协议的SYN包,然后,客户端接收服务器回复的响应消息。当服务器的80端口处于正常监听状态、即可用状态时,服务器向客户端回复一个SYN应答(SYN/ACK)包,客户端接收该SYN/ACK包后,主动向服务器发送一个RST包,因此,当客户端识别出服务器回复的响应消息为SYN/ACK包时,判定该服务器的80端口为可用状态。在图2和图3中,服务器的80端口仅是服务端口的一个示例,在实际应用中,服务端口也可以为80端口以外的其他端口。由图1 图3可见,本专利技术通过执行TCP网络连接,根据TCP网络连接建立过程中服务器回复的响应消息,来判断服务器中相应服务端口的可用性,因此,即便服务器端屏蔽了 ICMP协议,使得客户端无法采用ICMP协议中的Ping消息进行服务器状态探测,客户端也可以利用本专利技术的方法实现对服务器状态的探测,并且,不需要对服务器和客户端进行改造,维护成本低,且能够探测到具体服务端口的状态,提高探测精度。本专利技术还可以通过监听客户端发给服务器的SYN请求的通讯数据,从所述通讯数据中提取出所述SYN请求经过的路由节点信息。本专利技术还可以进一步根据提取出的SYN请求经过的路由节点信息,按照SYN请求依次经过的路由节点信息,生成所述SYN请求的路由路线图。本专利技术还可以将提取出的SYN请求所经过的路由节点信息,发给ASN查询设备,从而获取相应路由节点的物理定位信息和/或运营商信息。下面对本专利技术提供的监听客户端发送的SYN请求的通讯数据并提取路由节点信息、以及生成SYN请求的路由路线图的方法进行示例性说明,具体请参见图4。图4是本专利技术提供的获取探测链路路由节本文档来自技高网...

【技术保护点】
一种服务器状态的探测方法,其特征在于,该方法包括:在需要探测目标服务器状态时,客户端向目标服务器的目标服务端口发送TCP协议的SYN请求,接收所述目标服务器返回的响应消息,根据所述响应消息,判断所述目标服务端口的状态。

【技术特征摘要】
1.一种服务器状态的探测方法,其特征在于,该方法包括: 在需要探测目标服务器状态时,客户端向目标服务器的目标服务端口发送TCP协议的SYN请求,接收所述目标服务器返回的响应消息,根据所述响应消息,判断所述目标服务端口的状态。2.根据权利要求1所述的方法,其特征在于,根据所述响应消息,判断所述目标服务端口的状态包括: 当客户端识别出目标服务器返回的响应消息是复位报文RST包时,所述客户端判定所述目标服务端口为不可用状态; 当客户端识别出目标服务器返回的响应消息是SYN应答SYN/ACK包时,所述客户端口判定所述目标服务端口为可用状态。3.根据权利要求2所述的方法,其特征在于,该方法还包括: 所述客户端在识别出目标服务器返回的响应消息是SYN应答SYN/ACK包后,向所述目标服务器发送RST包。·4.根据权利要求1所述的方法,其特征在于,该方法还包括: 客户端监听SYN请求的通讯数据,从所述通讯数据中提取出所述SYN请求经过的路由节点信息。5.根据权利要求4所述的方法,其特征在于, 将需要探测的目标服务器的地址信息送入队列,根据先进先出的原则,从所述队列中取出不大于预定个数的地址信息,针对取出的每一地址信息启动一个探测线程,利用所述探测线程探测该地址信息对应目标服务器的状态,并监听发给该目标服务器的SYN请求的通讯数据,从所述通讯数据中提取出所述SYN请求经过的路由节点信息; 其中,目标服务器的地址信息包括目标服务器的IP地址或域名。6.根据权利要求5所述的方法,其特征在于, 每个探测线程还根据自身提取出的所述SYN请求经过的路由节点信息,生成所述SYN请求的路由路线图。7.根据权利要求4所述的方法,其特征在于, 客户端启动进程,所述进程读取N个目标服务器的地址信息,并启动N个线程,每个线程探测一个目标服务器的状态,并监听发给该目标服务器的SYN请求的通讯数据,从所述通讯数据中提取出所述SYN请求经过的路由节点信息,所述进程根据所述N个线程提取出的路由节点信息,生成N路SYN请求的路由路线对比图; 其中,目标服务器的地址信息包括目标服务器的IP地址或域名...

【专利技术属性】
技术研发人员:刘天斯
申请(专利权)人:深圳市腾讯计算机系统有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1