CN106484592B - 一种异常检测方法和装置 - Google Patents

一种异常检测方法和装置 Download PDF

Info

Publication number
CN106484592B
CN106484592B CN201610862986.2A CN201610862986A CN106484592B CN 106484592 B CN106484592 B CN 106484592B CN 201610862986 A CN201610862986 A CN 201610862986A CN 106484592 B CN106484592 B CN 106484592B
Authority
CN
China
Prior art keywords
information
target
determining
target client
state
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
CN201610862986.2A
Other languages
English (en)
Other versions
CN106484592A (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.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing 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 Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201610862986.2A priority Critical patent/CN106484592B/zh
Publication of CN106484592A publication Critical patent/CN106484592A/zh
Application granted granted Critical
Publication of CN106484592B publication Critical patent/CN106484592B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种异常检测方法和装置,所述的方法包括:确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序;通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口;依据所述通信信息确定所述目标客户端和服务器的交互状态;当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。从而能够在客户端运行过程中快速分析出客户端与服务器的交互状态,在处于异常状态时,对所述目标客户端执行异常处理,提高客户端的稳定性。

Description

一种异常检测方法和装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种异常检测方法和一种异常检测装置。
背景技术
随着网络技术的发展,用户在终端中可以通过客户端执行各种操作,例如使用浏览器上网,使用游戏客户端玩游戏,使用视频客户端播放音视频等。
这类能够和网络连接的客户端,通常是通过与服务器的交互来为用户提供网络服务的。但是,当客户端和服务器由于某种原因无法交互时,用户就无法正常使用客户端。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的异常检测方法和相应的异常检测装置。
依据本发明的一个方面,提供了一种异常检测方法,包括:确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序;通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口;依据所述通信信息确定所述目标客户端和服务器的交互状态;当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。
可选的,所述确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序,包括:获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程;在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
可选的,所述通信信息包括:第一通信信息和第二通信信息;通过第一钩子程序拦截至少一个目标接口的通信信息,包括:通过第一钩子程序拦截所述发送接口发送的第一通信信息;通过第一钩子程序拦截所述接收接口接收的第二通信信息。
可选的,依据所述通信信息确定所述目标客户端和服务器的交互状态,包括:依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量;依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态。
可选的,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态,包括:确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
可选的,所述的方法还包括:在所述目标客户端的窗口注入第二钩子程序,其中,所述第二钩子程序为全局钩子,所述第一钩子程序为线程钩子;采用所述第二钩子程序拦截目标操作事件,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。
可选的,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态之前,还包括:通过所述目标操作事件对应的操作数量;当所述操作数量和第一信息数量不满足预设条件时,确定所述交互状态为异常状态;当所述操作数量和第一信息数量满足预设条件时,执行依据第一信息数量和第二信息数量确定交互状态的步骤。
可选的,对所述目标客户端执行以下至少一种异常处理:对所述目标客户端对应目标页面进行刷新;依据所述异常状态生成提示信息,显示所述提示信息。
可选的,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。
根据本发明的另一个方面,提供了一种异常检测装置,包括:第一注入模块,用于确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序;通信拦截模块,用于通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口;状态确定模块,用于依据所述通信信息确定所述目标客户端和服务器的交互状态;异常处理模块,用于当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。
可选的,第一注入模块,包括:句柄确定子模块,用于获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程;钩子注入子模块,用于在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
可选的,所述通信信息包括:第一通信信息和第二通信信息;通信拦截模块,用于通过第一钩子程序拦截所述发送接口发送的第一通信信息;通过第一钩子程序拦截所述接收接口接收的第二通信信息。
可选的,所述状态确定模块,用于依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量;依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态。
可选的,所述状态确定模块,用于确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
可选的,所述的装置还包括:第二注入模块,用于在所述目标客户端的窗口注入第二钩子程序,其中,所述第二钩子程序为全局钩子,所述第一钩子程序为线程钩子;操作拦截模块,用于采用所述第二钩子程序拦截目标操作事件,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。
可选的,还包括:所述状态确定模块,还用于通过所述目标操作事件对应的操作数量;当所述操作数量和第一信息数量不满足预设条件时,确定所述交互状态为异常状态;当所述操作数量和第一信息数量满足预设条件时,执行依据第一信息数量和第二信息数量确定交互状态的步骤。
可选的,所述异常处理模块,用于对所述目标客户端执行以下至少一种异常处理:对所述目标客户端对应目标页面进行刷新;依据所述异常状态生成提示信息,显示所述提示信息。
可选的,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。
可以在目标客户端的第一进程中注入第一钩子程序,通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口,然后确定所述目标客户端和服务器的交互状态,从而能够在客户端运行过程中快速分析出客户端与服务器的交互状态,在处于异常状态时,对所述目标客户端执行异常处理,提高客户端的稳定性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的另一种异常检测方法实施例的步骤流程图;
图2示出了根据本发明另一个实施例的一种异常检测方法实施例的步骤流程图;
图3示出了根据本发明另一个实施例的另一种异常检测方法实施例的步骤流程图;
图4示出了根据本发明一个实施例的一种异常检测装置实施例的结构框图;以及
图5示出了根据本发明另一个实施例的一种异常检测装置实施例的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
参照图1,示出了根据本发明一个实施例的一种异常检测方法实施例的步骤流程图,具体可以包括如下步骤:
步骤102,确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序。
目标客户端在终端中运行时,可以确定该目标客户端的第一进程,该第一进程可以为目标客户端的主进程,也可以为其他进程。然后再第一进程中注入钩子程序,该钩子程序可以为线程钩子,用于获取第一进程的进程消息。
本实施例中,目标客户端包括终端中运行的各种客户端,例如浏览器客户端、游戏客户端、视频客户端等。
步骤104,通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口。
在目标客户端运行过程中,可以采用第一钩子程序拦截第一进程的各进程消息,其中,可以拦截至少一个目标接口的通信信息,该目标接口包括所述目标客户端和服务器的通信接口,例如数据的发送、接收接口等。通过该目标接口可以确定服务器和目标客户端的交互情况。
步骤106,依据所述通信信息确定所述目标客户端和服务器的交互状态。
步骤108,当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。
采用该通信信息对目标客户端和服务器的交互进行分析,确定交互状态,例如是否能够正常发送消息、是否能够正常接收消息等。其中,若目标客户端和服务器不能正常交互,如发送或接收消息不正常等,可以确定出交互状态为异常状态,在处于异常状态时可以对目标客户端执行异常处理,其中,可以依据客户端的类型以及异常状态类型确定所需执行的异常处理操作,例如重新启动、刷新页面、提示等。
综上,可以在目标客户端的第一进程中注入第一钩子程序,通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口,然后确定所述目标客户端和服务器的交互状态,从而能够在客户端运行过程中快速分析出客户端与服务器的交互状态,在处于异常状态时,对所述目标客户端执行异常处理,提高客户端的稳定性。
本发明一个可选实施例中,可以基于客户端与和服务器中数据的发送、接收来检测连接状态。
参照图2,示出了根据本发明另一个实施例的一种异常检测方法实施例的步骤流程图,具体可以包括如下步骤:
步骤202,获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程。
步骤204,在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
其中,一个句柄使用的一个唯一的整数值,来标识应用程序中的不同对象和同类中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等,应用程序能够通过句柄访问相应的对象的信息。
本实施例中可以获取目标客户端的句柄,通过该句柄确定目标客户端对应的第一进程,然后在该第一进程中注入第一钩子程序,采用该第一钩子程序挂起所需调用的目标接口,该目标接口是与服务器通信的接口,包括发送接口和接收接口,发送接口用于目标客户端向服务器上传通信信息,接收接口用于接收服务器向目标客户端发送的通信信息。因此可以采用第一钩子程序挂起发送接口和接收接口,从而截获相应的通信信息。
步骤206,通过第一钩子程序拦截所述发送接口发送的第一通信信息,以及通过第一钩子程序拦截所述接收接口接收的第二通信信息。
步骤208,依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量。
步骤210,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态。
因此可以采用第一钩子程序拦截所述发送接口发送的第一通信信息,以及拦截所述接收接口接收的第二通信信息。然后统计在预设时间内目标客户端发送第一通信信息的第一信息数量,以及在该预设时间内目标客户端接收的第二通信信息的第二信息数量,例如可以设置接收计数器和发送计数器,在预设时间内,每接收一个第二通信信息则接收计数器中的第二信息数量+1,每发送一个第一通信信息则发送计数器中的第一信息数量+1,在预设时间达到时统计接收计数器的第二信息数量和发送计数器的第一信息数量,然后将各计数器清零在下一个预设时间继续计数。
再采用第一信息数量和第二信息数量的比较来确定目标客户端和服务器的交互状态。其中,在目标接口拦截通信信息以统计信息数量,因此在拦截到该通信信息在相应的计数器中+1后,即可将通信信息发送给所需的对象,如第一通信信息通过接口上传,以及将第二通信信息回传给第一进程等。
在一个可选实施例中,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态,包括:确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
步骤212,对所述目标客户端执行异常处理。
当所述第一差值超出所述异常阈值时,表征发送的数据远远超出接收的数据,确定所述交互状态为异常状态,例如服务器和客户端的连接断开了,然后可以执行异常处理。其中,对所述目标客户端执行以下至少一种异常处理:对所述目标客户端对应目标页面进行刷新;依据所述异常状态生成提示信息,显示所述提示信息。本实施例可以按照客户端的类型确定异常处理操作,例如对于网页客户端,当发送的数据远远超出接收的数据,即无法接收服务器反馈响应,则客户端和服务器的连接可能已断开,则可以将目标客户端对应目标页面进行刷新,重新请求服务器反馈网页数据并显示。对于游戏客户端、视频客户端等,也可以生成提示信息并显示,从而提示当前与服务器断开,请检查网络连接等。当然对于各种客户端也可以上述两个异常处理操作均执行,例如在刷新时显示提示信息,提示网络异常,又如在提示连接异常后依据用户指示刷新页面等。
本发明另一个可选实施例中,可以结合用户操作,以及客户端与和服务器中数据的发送、接收来检测连接状态。
参照图3,示出了根据本发明另一个实施例的另一种异常检测方法实施例的步骤流程图,具体可以包括如下步骤:
步骤302,获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程。
步骤304,在所述第一进程中注入线程钩子,采用所述线程钩子挂起目标接口,所述目标接口包括:发送接口和接收接口。
步骤306,在所述目标客户端的窗口注入全局钩子。
本发明各实施例中,所述第二钩子程序可以为全局钩子,所述第一钩子程序可以为线程钩子。因此获取目标客户端的句柄,通过该句柄确定目标客户端对应的第一进程,然后在该第一进程中注入第一钩子程序即线程钩子,采用该线程钩子挂起所需调用的发送接口和接收接口,发送接口用于目标客户端向服务器上传通信信息,接收接口用于接收服务器向目标客户端发送的通信信息。并且,可以在目标客户端的窗口注入全局钩子,通过该全局钩子接口针对窗口的操作信息。
步骤308,通过线程钩子拦截所述发送接口发送的第一通信信息,以及通过线程钩子拦截所述接收接口接收的第二通信信息。
步骤310,采用所述全局钩子拦截目标操作事件。
目标操作事件指的是针对目标客户端的窗口的操作事件,且该操作事件与服务器交互相关,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。鼠标操作事件指的是通过鼠标触发的操作事件,如通过鼠标点击、拖动等操作对应的操作事件;键盘操作事件指的是通过键盘触发的操作事件,例如通过键盘输出快捷键对应触发的事件等;触屏操作事件指的是针对具有触摸屏的设备,通过手指、触摸笔等触摸该触摸屏对应触发的事件。
从而通过线程钩子拦截发送的第一通信信息和接收的第二通信信息,并且采用全局钩子拦截目标操作事件。
步骤312,依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量,通过所述目标操作事件对应的操作数量。
本实施例统计发送的第一信息数量、接收的第二信息数量,还可以统计目标操作事件对应的操作数量,如采用操作计数器在拦截到一个目标操作事件后,为操作计数器的操作数量+1,然后将该目标操作事件反馈给窗口执行。
步骤314,判断操作数量和第一信息数量是否满足预设条件。
预设条件是用于判断客户端运行状态的条件,例如为操作数量与第一信息数量的第二差值小于交互阈值,可以将操作数量和第一信息数量进行比较,若操作数量和第一信息数量的第二差值小于交互阈值,则满足预设条件,反之,操作数量和第一信息数量的第二值不小于交互阈值,则不满足预设条件。
若是,即满足预设条件执行步骤316;若否,即不满足预设条件执行步骤322。
步骤316,确定第一信息数量减去第二信息数量的第一差值
步骤318,将所述第一差值和异常阈值进行比较。
在满足预设条件时,确定第一信息数量减去第二信息数量的第一差值,然后将第一差值和异常阈值进行比较。
若第一差值超出所述异常阈值,执行步骤322;若第一差值未超出所述异常阈值,执行步骤320。
步骤320,确定所述交互状态为正常状态。
第一差值未超出所述异常阈值,判断目标客户端的交互状态为正常状态。
步骤322,确定所述交互状态为异常状态。
步骤324,对所述目标客户端执行异常处理。
当操作数量和第一信息数量不满足预设条件,或,操作数量和第一信息数量满足预设条件但第一差值超出了所述异常阈值,确定所述交互状态为异常状态,可以执行异常处理操作。
其中,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。若操作数量和第一信息数量不满足预设条件,表征用户发出的操作请求远远大于目标客户端发出的第一通信信息,则可以确认存在目标客户端崩溃的异常状态;当操作数量和第一信息数量满足预设条件,当第一差值超出了所述异常阈值,表征目标客户端频繁的发出第一通信信息,但服务器反馈的第二通信信息较少,则可以确定存在目标客户端和服务器断开连接的异常状态。上述实施例论述了客户端的类型执行的异常处理操作,还可以依据异常类型的不同也可以采用不同的异常处理,例如针对目标客户端崩溃的异常状态,可以重启该客户端或提示用户执行重启操作;而针对断开连接的异常状态,可以刷新页面、提示用户等。
从而可以准确的确定目标客户端与服务器的交互状态,并且能够确定该客户端自身运行的状态。并且在统计信息数量后即返回执行,不会影响客户端的正常运行。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
在上述实施例的基础上,本实施例还提供了一种异常检测装置。
参照图4,示出了根据本发明一个实施例的一种异常检测装置实施例的结构框图,具体可以包括如下模块:
第一注入模块402,用于确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序。
通信拦截模块404,用于通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口。
状态确定模块406,用于依据所述通信信息确定所述目标客户端和服务器的交互状态。
异常处理模块408,用于当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。
综上,可以在目标客户端的第一进程中注入第一钩子程序,通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口,然后确定所述目标客户端和服务器的交互状态,从而能够在客户端运行过程中快速分析出客户端与服务器的交互状态,在处于异常状态时,对所述目标客户端执行异常处理,提高客户端的稳定性。
参照图5,示出了根据本发明另一个实施例的一种异常检测装置实施例的结构框图,具体可以包括如下模块:
第一注入模块402,用于确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序。
通信拦截模块404,用于通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口。
第二注入模块410,用于在所述目标客户端的窗口注入第二钩子程序,其中,所述第二钩子程序为全局钩子,所述第一钩子程序为线程钩子;
操作拦截模块412,用于采用所述第二钩子程序拦截目标操作事件,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。
状态确定模块406,用于依据所述通信信息确定所述目标客户端和服务器的交互状态。
异常处理模块408,用于当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。
其中,第一注入模块402,包括:
句柄确定子模块4022,用于获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程。
钩子注入子模块4024,用于在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
所述通信信息包括:第一通信信息和第二通信信息;通信拦截模块404,用于通过第一钩子程序拦截所述发送接口发送的第一通信信息;通过第一钩子程序拦截所述接收接口接收的第二通信信息。
所述状态确定模块406,用于依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量;依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态。
所述状态确定模块406状态确定模块,用于确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
所述状态确定模块406,还用于通过所述目标操作事件对应的操作数量;当所述操作数量和第一信息数量不满足预设条件时,确定所述交互状态为异常状态;当所述操作数量和第一信息数量满足预设条件时,执行依据第一信息数量和第二信息数量确定交互状态的步骤。
所述异常处理模块408,用于对所述目标客户端执行以下至少一种异常处理:对所述目标客户端对应目标页面进行刷新;依据所述异常状态生成提示信息,显示所述提示信息,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。
从而可以准确的确定目标客户端与服务器的交互状态,并且能够确定该客户端自身运行的状态。并且在统计信息数量后即返回执行,不会影响客户端的正常运行。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种异常检测方法和一种异常检测装置设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种异常检测方法,包括:确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序;通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口;依据所述通信信息确定所述目标客户端和服务器的交互状态;当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。
A2、如A1所述的方法,所述确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序,包括:获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程;在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
A3、如A2所述的方法,所述通信信息包括:第一通信信息和第二通信信息;通过第一钩子程序拦截至少一个目标接口的通信信息,包括:通过第一钩子程序拦截所述发送接口发送的第一通信信息;通过第一钩子程序拦截所述接收接口接收的第二通信信息。
A4、如A3所述的方法,依据所述通信信息确定所述目标客户端和服务器的交互状态,包括:依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量;依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态。
A5、如A4所述的方法,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态,包括:确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
A6、如A4所述的方法,所述的方法还包括:在所述目标客户端的窗口注入第二钩子程序,其中,所述第二钩子程序为全局钩子,所述第一钩子程序为线程钩子;采用所述第二钩子程序拦截目标操作事件,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。
A7、如A6所述的方法,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态之前,还包括:通过所述目标操作事件对应的操作数量;当所述操作数量和第一信息数量不满足预设条件时,确定所述交互状态为异常状态;当所述操作数量和第一信息数量满足预设条件时,执行依据第一信息数量和第二信息数量确定交互状态的步骤。
A8、如A1所述的方法,对所述目标客户端执行以下至少一种异常处理:对所述目标客户端对应目标页面进行刷新;依据所述异常状态生成提示信息,显示所述提示信息。
A9、如A7所述的方法,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。
B10、一种异常检测装置,包括:第一注入模块,用于确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序;通信拦截模块,用于通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口;状态确定模块,用于依据所述通信信息确定所述目标客户端和服务器的交互状态;异常处理模块,用于当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理。
B11、如B10所述的装置,第一注入模块,包括:句柄确定子模块,用于获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程;钩子注入子模块,用于在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
B12、如B11所述的装置,所述通信信息包括:第一通信信息和第二通信信息;通信拦截模块,用于通过第一钩子程序拦截所述发送接口发送的第一通信信息;通过第一钩子程序拦截所述接收接口接收的第二通信信息。
B13、如B12所述的装置,所述状态确定模块,用于依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量;依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态。
B14、如B13所述的装置,所述状态确定模块,用于确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
B15、如B13所述的装置,所述的装置还包括:第二注入模块,用于在所述目标客户端的窗口注入第二钩子程序,其中,所述第二钩子程序为全局钩子,所述第一钩子程序为线程钩子;操作拦截模块,用于采用所述第二钩子程序拦截目标操作事件,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。
B16、如B15所述的装置,还包括:所述状态确定模块,还用于通过所述目标操作事件对应的操作数量;当所述操作数量和第一信息数量不满足预设条件时,确定所述交互状态为异常状态;当所述操作数量和第一信息数量满足预设条件时,执行依据第一信息数量和第二信息数量确定交互状态的步骤。
B17、如B10所述的装置,其特征在于,所述异常处理模块,用于对所述目标客户端执行以下至少一种异常处理:对所述目标客户端对应目标页面进行刷新;依据所述异常状态生成提示信息,显示所述提示信息。
B18、如B17所述的装置,其特征在于,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。

Claims (12)

1.一种异常检测方法,包括:
确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序;
通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口;
依据所述通信信息确定所述目标客户端和服务器的交互状态;
当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理;
其中,所述通信信息包括:第一通信信息和第二通信信息;
通过第一钩子程序拦截至少一个目标接口的通信信息,包括:
通过第一钩子程序拦截发送接口发送的第一通信信息;
通过第一钩子程序拦截接收接口接收的第二通信信息;
其中,依据所述通信信息确定所述目标客户端和服务器的交互状态,包括:
依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量;
依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态;
其中,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态,包括:
确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;
当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;
当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
2.如权利要求1所述的方法,其特征在于,所述确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序,包括:
获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程;
在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
3.如权利要求1所述的方法,其特征在于,所述的方法还包括:
在所述目标客户端的窗口注入第二钩子程序,其中,所述第二钩子程序为全局钩子,所述第一钩子程序为线程钩子;
采用所述第二钩子程序拦截目标操作事件,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。
4.如权利要求3所述的方法,其特征在于,依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态之前,还包括:
通过所述目标操作事件对应的操作数量;
当所述操作数量和第一信息数量不满足预设条件时,确定所述交互状态为异常状态;
当所述操作数量和第一信息数量满足预设条件时,执行依据第一信息数量和第二信息数量确定交互状态的步骤。
5.如权利要求1所述的方法,其特征在于,对所述目标客户端执行以下至少一种异常处理:
对所述目标客户端对应目标页面进行刷新;
依据所述异常状态生成提示信息,显示所述提示信息。
6.如权利要求4所述的方法,其特征在于,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。
7.一种异常检测装置,包括:
第一注入模块,用于确定目标客户端的第一进程,在所述第一进程中注入第一钩子程序;
通信拦截模块,用于通过第一钩子程序拦截至少一个目标接口的通信信息,所述目标接口包括所述目标客户端和服务器的通信接口;
状态确定模块,用于依据所述通信信息确定所述目标客户端和服务器的交互状态;
异常处理模块,用于当判断所述交互状态为异常状态时,对所述目标客户端执行异常处理;
其中,所述通信信息包括:第一通信信息和第二通信信息;
通信拦截模块,用于通过第一钩子程序拦截发送接口发送的第一通信信息;通过第一钩子程序拦截接收接口接收的第二通信信息;
其中,所述状态确定模块,用于依据所述第一通信信息统计发送的第一信息数量,依据所述第二通信信息统计接收的第二信息数量;依据第一信息数量和第二信息数量,确定所述目标客户端和服务器的交互状态;
其中,所述状态确定模块,用于确定第一信息数量减去第二信息数量的第一差值,将所述第一差值和异常阈值进行比较;当所述第一差值超出所述异常阈值时,确定所述交互状态为异常状态;当所述第一差值未超出所述异常阈值时,确定所述交互状态为正常状态。
8.如权利要求7所述的装置,其特征在于,第一注入模块,包括:
句柄确定子模块,用于获取目标客户端的句柄,依据所述句柄确定所述目标客户端对应的第一进程;
钩子注入子模块,用于在所述第一进程中注入第一钩子程序,采用所述第一钩子程序挂起目标接口,所述目标接口包括:发送接口和接收接口。
9.如权利要求7所述的装置,其特征在于,所述的装置还包括:
第二注入模块,用于在所述目标客户端的窗口注入第二钩子程序,其中,所述第二钩子程序为全局钩子,所述第一钩子程序为线程钩子;
操作拦截模块,用于采用所述第二钩子程序拦截目标操作事件,其中,所述目标操作事件至少包括:鼠标操作事件、键盘操作事件、触屏操作事件。
10.如权利要求9所述的装置,其特征在于,还包括:
所述状态确定模块,还用于通过所述目标操作事件对应的操作数量;当所述操作数量和第一信息数量不满足预设条件时,确定所述交互状态为异常状态;当所述操作数量和第一信息数量满足预设条件时,执行依据第一信息数量和第二信息数量确定交互状态的步骤。
11.如权利要求7所述的装置,其特征在于,
所述异常处理模块,用于对所述目标客户端执行以下至少一种异常处理:对所述目标客户端对应目标页面进行刷新;依据所述异常状态生成提示信息,显示所述提示信息。
12.如权利要求11所述的装置,其特征在于,所述异常状态包括:目标客户端和服务器断开连接的异常状态,或,目标客户端崩溃的异常状态。
CN201610862986.2A 2016-09-28 2016-09-28 一种异常检测方法和装置 Active CN106484592B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610862986.2A CN106484592B (zh) 2016-09-28 2016-09-28 一种异常检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610862986.2A CN106484592B (zh) 2016-09-28 2016-09-28 一种异常检测方法和装置

Publications (2)

Publication Number Publication Date
CN106484592A CN106484592A (zh) 2017-03-08
CN106484592B true CN106484592B (zh) 2020-01-24

Family

ID=58269032

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610862986.2A Active CN106484592B (zh) 2016-09-28 2016-09-28 一种异常检测方法和装置

Country Status (1)

Country Link
CN (1) CN106484592B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239387A (zh) * 2017-05-25 2017-10-10 深圳市金立通信设备有限公司 一种数据异常检测方法及终端
CN111143151B (zh) * 2018-11-02 2023-11-17 菜鸟智能物流控股有限公司 业务监控方法、装置以及电子设备
CN113220559A (zh) * 2020-01-21 2021-08-06 北京沃东天骏信息技术有限公司 一种服务接口异常模拟方法、装置和系统以及客户端
CN115118575B (zh) * 2022-06-23 2024-05-03 奇安信科技集团股份有限公司 一种监控方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831043A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 应用程序监控方法和装置
CN104767653A (zh) * 2015-01-29 2015-07-08 小米科技有限责任公司 一种网络接口监控的方法和装置
CN104899106A (zh) * 2014-03-07 2015-09-09 阿里巴巴集团控股有限公司 接口服务异常时的处理方法和装置
CN104917651A (zh) * 2015-06-09 2015-09-16 北京齐尔布莱特科技有限公司 监测网络异常的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495226B2 (en) * 2011-12-21 2016-11-15 Cbs Interactive Inc. Integration of client side applications into a fantasy open platform environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102831043A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 应用程序监控方法和装置
CN104899106A (zh) * 2014-03-07 2015-09-09 阿里巴巴集团控股有限公司 接口服务异常时的处理方法和装置
CN104767653A (zh) * 2015-01-29 2015-07-08 小米科技有限责任公司 一种网络接口监控的方法和装置
CN104917651A (zh) * 2015-06-09 2015-09-16 北京齐尔布莱特科技有限公司 监测网络异常的方法及装置

Also Published As

Publication number Publication date
CN106484592A (zh) 2017-03-08

Similar Documents

Publication Publication Date Title
US8751628B2 (en) System and method for processing user interface events
CN106484592B (zh) 一种异常检测方法和装置
US9626240B2 (en) Adaptive application logger
EP3349137A1 (en) Client-side attack detection in web applications
US8407319B1 (en) Event-driven module loading
CN107390983B (zh) 业务指令执行方法、客户端和存储介质
US20150067147A1 (en) Group server performance correction via actions to server subset
US10649877B2 (en) Macro-script execution control
EP3554034A1 (en) Method and device for authenticating login
WO2013101372A1 (en) Geo-mapping system security events
US11245719B2 (en) Systems and methods for enhanced host classification
JP2019502973A (ja) 悪意のあるブラウザ拡張機能の無効化
WO2015112600A1 (en) Method and device for sharing data
KR102392095B1 (ko) 콘텐츠 아이템들로부터 함수 호출들의 트리거링 제어
EP3126961A1 (en) Monitoring of node.js applications
US9449308B2 (en) Defining actions for data streams via icons
US9800473B2 (en) Network based virtual collaborative problem solving space
CN108229980B (zh) 一种问题反馈的方法、装置及存储介质
EP4211562A1 (en) Out-of-the-box telemetry for rich-client application runtime frameworks
US20200389449A1 (en) Systems and methods of enabling fast user access to remote desktops
CN106693366B (zh) 验证操作合法性的方法、装置和加固安装包的方法、装置
CN105404439B (zh) 文件夹创建方法及装置
US9830209B2 (en) Web based user interface driven prophylactic cross-domain communication architecture
US10528449B2 (en) Grouping event reports
KR102146882B1 (ko) 메시지 모니터링 장치 및 방법

Legal Events

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

Effective date of registration: 20220706

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

TR01 Transfer of patent right