CN111147445A - 抓包方法、装置、系统及存储介质 - Google Patents
抓包方法、装置、系统及存储介质 Download PDFInfo
- Publication number
- CN111147445A CN111147445A CN201911198040.0A CN201911198040A CN111147445A CN 111147445 A CN111147445 A CN 111147445A CN 201911198040 A CN201911198040 A CN 201911198040A CN 111147445 A CN111147445 A CN 111147445A
- Authority
- CN
- China
- Prior art keywords
- component
- packet capturing
- request message
- target
- target application
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种抓包方法、装置、系统及存储介质,该方法包括在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件;在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件。通过本发明能够有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种抓包方法、装置、系统及存储介质。
背景技术
当今互联网的市场中,H5、小程序等轻应用承载着大量的流量,通常它们的交互运作模式为前端和后端交互运作的模式,在前端和后端交互运作的模式中,异步请求是前端与后端进行信息交互的主要渠道,异步请求主要采用超文本传输协议(HyperTextTransfer Protocol,HTTP)和超文本传输安全协议(Hyper Text Transfer Protocol overSecureSocket Layer,HTTPS)两种协议之一来传输。
相关技术中,针对HTTPS的抓包,是使用中间人代理的方式,在需要被抓包的设备上,安装代理服务器生成的证书。
这种方式下,每次抓包时均要在设备上安装用于抓包所生成的证书,而不同的设备、不同的抓包工具的证书可能都不相同,抓包操作较为繁琐,并且仅仅只能从开发者的角度执行抓包任务,抓包效果不佳。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的在于提出一种抓包方法、装置、系统及存储介质,能够有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
为达到上述目的,本发明第一方面实施例提出的抓包方法,包括:在目标应用初始化时,调用已配置的前端抓包组件,所述前端抓包组件具有对应的后端处理组件;在所述目标应用调用所述目标接口时,建立所述前端抓包组件和所述后端处理组件的通信连接;以及,所述前端抓包组件获取所述目标应用的请求报文,并将所述请求报文发送至所述后端处理组件。
本发明第一方面实施例提出的抓包方法,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接,以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,能够有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
为达到上述目的,本发明第二方面实施例提出的抓包装置,包括:调用模块,用于在目标应用初始化时,调用已配置的前端抓包组件,所述前端抓包组件具有对应的后端处理组件;建立模块,用于在所述目标应用调用所述目标接口时,建立所述前端抓包组件和所述后端处理组件的通信连接;获取模块,用于所述前端抓包组件获取所述目标应用的请求报文,并将所述请求报文发送至所述后端处理组件。
本发明第二方面实施例提出的抓包装置,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接,以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,能够有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
为达到上述目的,本发明第三方面实施例提出的抓包系统,所处系统包括:本发明第二方面实施例提出的抓包装置。
本发明第三方面实施例提出的抓包系统,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接,以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,能够有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
为达到上述目的,本发明第四方面实施例提出的非临时性计算机可读存储介质,当所述存储介质中的指令由处理器被执行时,使得终端能够执行一种抓包方法,所述方法包括:本发明第一方面实施例提出的抓包方法。
本发明第四方面实施例提出的非临时性计算机可读存储介质,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接,以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,能够有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例提出的抓包方法的流程示意图;
图2是本发明另一实施例提出的抓包方法的流程示意图;
图3为本发明实施例中前端显示组件的应用示意图;
图4为本发明实施例中前端抓包组件的应用示意图;
图5为本发明实施例中后端处理组件的应用示意图;
图6为本发明实施例中抓包方法的时序示意图;
图7是本发明一实施例提出的抓包装置的结构示意图;
图8是本发明另一实施例提出的抓包装置的结构示意图;
图9是本发明另一实施例提出的抓包系统的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
为了解决相关技术中每次抓包时均要在设备上安装用于抓包所生成的证书,而不同的设备、不同的抓包工具的证书可能都不相同,抓包操作较为繁琐,并且仅仅只能从开发者的角度执行抓包任务,抓包效果不佳的技术问题,本发明实施例提供一种抓包方法,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,而不是在目标应用的设备侧安装伪造的证书执行抓包程序,由此,有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
图1是本发明一实施例提出的抓包方法的流程示意图。
本实施例以抓包方法被配置为抓包装置中来举例说明。
本实施例中抓包方法可以被配置在抓包装置中,抓包装置可以设置在服务器中,或者也可以设置在电子设备中,本发明实施例对此不作限制。
需要说明的是,本发明实施例的执行主体,在硬件上可以例如为服务器或者电子设备中的中央处理器(Central Processing Unit,CPU),在软件上可以例如为服务器或者电子设备中的相关的后台服务,对此不作限制。
本发明实施例中的抓包装置可以至少包括前端抓包组件、后端处理组件,其中,前端抓包组件用于执行针对目标应用的抓包任务,后端处理组件与前端抓包组件进行数据通信,前端抓包组件将执行抓包任务时所获取的目标应用的请求报文发送至后端处理组件,由后端处理组件根据相应的处理规则对请求报文继续处理。
参见图1,该方法包括:
S101:在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件。
其中,当前待抓包的应用,可以被称为目标应用。
可选地,目标应用为轻应用。
作为一种示例,可于预先将前端抓包组件配置在目标应用对应的安装程序中,从而将前端抓包组件作为目标应用的组件中的一部分,在宿主设备安装目标应用的组件时,即可以在宿主设备中安装前端抓包组件,从而在目标应用初始化时,调用已配置的前端抓包组件,对此不作限制。
作为另一种示例,前端抓包组件也可以是设备的出厂程序预先安装在设备中的,目标应用可以配置有相应的程序处理逻辑,在目标应用初始化时,可以通过执行该程序处理逻辑,从而调用已配置的前端抓包组件,对此不作限制。
而本发明实施例中,在调用前端抓包组件时,首先根据user-agent函数判断出当前的目标应用所属设备的设备环境,并注册相应的用于捕获特定异常类型的请求报文的函数,具体如,根据设备环境是否支持相应的函数的情况,注册下列用于捕获特定异常类型的请求报文的函数:注册window.onerror事件函数,该注册window.onerror事件函数用于处理代码异常的请求报文;注册window.addEventListener('error')事件函数,用于捕获资源加载异常的请求报文;注册window.addEventListener('unhandledrejection')事件函数,用以捕获未处理的Promise类异常的请求报文,以及重载console函数,加入信息存储逻辑,从而完成在目标应用初始化时调用已配置的前端抓包组件的步骤。
本发明实施例在具体执行的过程中,在目标应用初始化时,调用已配置的前端抓包组件时,可以调用前端抓包组件,从而使前端抓包组件识别目标应用的目标类型,并确定与目标类型对应的异步请求方法,以及重载对应的异步请求方法,得到目标请求方法;从而使前端抓包组件获取目标应用的请求报文时,通过执行目标请求方法从而获取请求报文。
其中,目标类型用于标识目标应用所属设备的设备环境,不同的设备环境所支持的异步请求方法相同或者不相同。
上述通过识别目标应用的目标类型,并确定与目标类型对应的异步请求方法,以及重载对应的异步请求方法,得到目标请求方法,该目标请求方法用于被执行从而获得请求报文,由于是在目标应用初始化时通过重载的方式得到目标请求方法,由此,能够有效减少了函数名的数量,避免了函数名字空间的污染,有效提升前端抓包组件的程序的可读性,提升抓包效率。
作为一种示例,根据目标应用的目标类型的不同,重载对应的异步请求方法,具体例如,若目标类型指示目标应用为支付宝小程序,则重载my.request方法;若目标类型指示目标应用为H5,则视容器支持情况,相应地重载fetch、XMLHttpRequest方法;其它目标类型的应用中分场景分别处理,而后,向外提供被重载了的异步请求方法(被重载了的异步请求方法可以被称为目标请求方法),从而使前端抓包组件获取目标应用的请求报文时,通过执行目标请求方法从而获取请求报文。
其中,该目标请求方法具有两种运作模式:若处于实时调试运作模式,则捕获的任何请求报文将会同步发送至后端处理组件;若处于常规运作模式,则将会在设备中存储捕获到的请求报文。
S102:在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接。
本发明实施例在上述调用已配置的前端抓包组件,还针对前端抓包组件配置目标接口,若配置前端抓包组件的程序代码为JavaScript,则目标接口可以支持WebSocket链接方法,从而在目标应用调用目标接口时,通过执行WebSocket链接方法建立前端抓包组件和后端处理组件的通信连接。
当然,目标接口所支持的链接方法也可以为其它任意可能的链接方法,具体可以根据配置前端抓包组件所采用的程序代码的类型进行灵活的配置,对此不作限制。
S103:前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件。
本发明实施例中的请求报文支持Https协议,从而实现针对支持Https协议的请求报文进行高效的抓包任务。
在具体执行的过程中,上述针对前端抓包组件配置完毕目标请求方法,由此,可以通过执行目标请求方法从而获取请求报文,并基于上述步骤建立的通信连接,将请求报文发送至后端处理组件,由后端处理组件根据相应的处理规则对请求报文继续处理。
本实施例中,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,而不是在目标应用的设备侧安装伪造的证书执行抓包程序,由此,有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
图2是本发明另一实施例提出的抓包方法的流程示意图。
本实施例中,上述的抓包装置中还可以包括
参见图2,该方法包括:
S201:在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件。
S202:在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接。
S201-S202的执行过程可以参见上述实施例,在此不再赘述。
本发明实施例中,在目标应用调用目标接口时,检测当前应用场景;采用与当前应用场景对应的建立方式,建立前端抓包组件和后端处理组件的通信连接。
其中,当前应用场景可以例如为开发者使用场景,或者用户使用场景,对此不作限制。
可选地,在当前应用场景为第一应用场景时,直接建立前端抓包组件和后端处理组件的通信连接;在当前应用场景为第二应用场景时,生成提示信息,从而根据提示信息对用户进行相应的提示,以及在接收到用户对提示信息的确认操作时,建立前端抓包组件和后端处理组件的通信连接。
例如,当当前应用场景为第一应用场景(第一应用场景例如开发者使用场景),表明开发员需要捕获请求报文以进行程序运行测试,此时可以直接建立前端抓包组件和后端处理组件的通信连接,当当前应用场景为第二应用场景(第二应用场景例如用户使用场景),表明需要由用户触发执行获取请求报文以进行程序运行测试,此时可以生成提示信息,从而根据提示信息对用户进行相应的提示,以及在接收到用户对提示信息的确认操作时,建立前端抓包组件和后端处理组件的通信连接。
通过上述步骤,结合了当前应用场景建立前端抓包组件和后端处理组件的通信连接,能够使得抓包操作更符合实际的应用场景需求,避免给用户带来干扰,提升用户使用体验度。
S203:当建立前端抓包组件和后端处理组件的通信连接时,后端处理组件,将通信连接的连接信息推送至前端显示组件。
S204:前端显示组件,显示接收到的连接信息。
其中,在显示连接信息时,可以形成通信连接的列表,并在通信连接的列表中显示各通信连接的名称等关键字,并对通信连接对应的通信参数等信息进行隐藏,当接收到针对特定通信连接的查看指令时,显示该特定通信连接的通信参数等信息,对此不作限制。
S205:前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件。
本发明实施例在获取目标应用的请求报文时,可以获取已存储的目标应用的第一请求报文;和/或,获取目标应用所实时产生的第二请求报文,能够有效保障所捕获请求报文的完整性,避免遗漏关键请求报文,有效保障抓包精准度。
S206:后端处理组件,接收前端抓包组件所发送的请求报文,并将请求报文推送至前端显示组件。
S207:前端显示组件,显示接收到的请求报文。
其中,在显示请求报文时,可以形成请求报文的列表,并在请求报文的列表中显示各请求报文的名称等关键字,并对请求报文对应的详情信息等进行隐藏,当接收到针对特定请求报文的查看指令时,显示该特定请求报文的详情页,对此不作限制。
上述的前端显示组件,可以是一个展示捕获到的请求报文的Web模块,它可以用于展示当前活动通信链接的列表,使得开发者可以通过点击当前活动通信链接的列表,选择已和后端处理组件建立起的通信链接进行实时查看;还可以用于展示请求报文详情页,针对某一条请求报文,开发者可以经由请求报文详情页查看HTTP/HTTPS请求报文详情信息,以及日志或错误信息。
本实施例中,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,而不是在目标应用的设备侧安装伪造的证书执行抓包程序,由此,有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。通过当建立前端抓包组件和后端处理组件的通信连接时,后端处理组件,将通信连接的连接信息推送至前端显示组件,前端显示组件,显示接收到的连接信息,以及后端处理组件,接收前端抓包组件所发送的请求报文,并将请求报文推送至前端显示组件,前端显示组件,显示接收到的请求报文,能够方便开发人员对通信连接的情况和请求报文的详情进行查看,及时地辅助程序运行问题的定位,提升请求报文的处理效果。
作为一个具体的示例,参见图3,图3为本发明实施例中前端显示组件的应用示意图,包括:
S301:接收开发员的选择指令,选择指令用于选取目标通信连接。
S302:判断目标通信连接是否有效,若有效,则执行S303,否则执行S306。
S303:展示目标通信连接对应的已推送的请求报文。
S304:展示目标通信连接对应的当前实时推送的请求报文。
S305:接收通信连接关闭请求,并根据通信连接关闭请求关闭目标通信连接。
S306:结束。
作为一个具体的示例,参见图4,图4为本发明实施例中前端抓包组件的应用示意图,包括:
S401:调用已配置的前端抓包组件。
S402:注册用于捕获特定异常类型的请求报文的函数,重载对应的异步请求方法。
S403:监听目标应用是否产生请求报文,若是,则执行S404,否则执行S407。
S404:判断是否已建立WebSocket通信链接,若是,则执行S405,否则执行S408。
S405:将请求报文发送至后端处理组件,并重复执行S403。
S406:接收选择指令,选择指令用于选取当前通信连接。
S407:目标应用所属设备中是否已存储有目标应用的第一请求报文,若是,则执行S405,否则执行S403。
S408:对监听到的请求报文进行存储。
作为一个具体的示例,参见图5,图5为本发明实施例中后端处理组件的应用示意图,包括:
S501:后端处理组件建立与前端抓包组件之间的通信连接。
S502:后端处理组件监听是否接收到前端抓包组件发送的请求报文。
S503:对请求报文进行相应的处理,并存储处理后的请求报文。
S504:判断是否需要推送至前端显示组件,若是,则执行S505,否则执行S506。
S505:将请求报文推送至前端显示组件。
S506:结束。
作为一个具体的示例,参见图6,图6为本发明实施例中抓包方法的时序示意图,针对图6的说明如下:目标应用加载并采用初始化工具模块初始化,目标应用调用的前端抓包组件请求与后端处理组件建立WebSocket通信链接,后端处理组件为所需要建立的WebSocket通信链接分配资源,并建立WebSocket通信链接,后端处理组件向前端抓包组件反馈已建立WebSocket通信链接的响应消息,同时,形成通信连接的列表,并将通信连接的列表推送至前端显示组件,由前端显示组件显示通信连接的列表,前端抓包组件持续地监听目标应用是否产生请求报文,并在捕获到请求报文时将其推送至后端处理组件,后端处理组件对请求报文进行相应的数据处理,若前端显示组件接收到开发员的指令,则根据该指令请求建立与后端处理组件之间的WebSocket通信链接,此时,后端处理组件在确认已建立与前端显示组件的WebSocket通信链接之后,接收前端抓包组件获取的请求报文,并在对请求报文进行相应的数据处理的同时,将请求报文推送至前端显示组件,供开发人员查看。
图7是本发明一实施例提出的抓包装置的结构示意图。
参见图7,装置700,包括:
调用模块701,用于在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件;
建立模块702,用于在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;
获取模块703,通过前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件。
可选地,一些实施例中,获取模块703,具体用于:
通过前端抓包组件获取已存储的目标应用的第一请求报文;和/或,
通过前端抓包组件获取目标应用所实时产生的第二请求报文。
可选地,一些实施例中,建立模块702,具体用于:
在目标应用调用目标接口时,检测当前应用场景;
采用与当前应用场景对应的建立方式,建立前端抓包组件和后端处理组件的通信连接。
可选地,一些实施例中,建立模块702,还用于:
在当前应用场景为第一应用场景时,直接建立前端抓包组件和后端处理组件的通信连接;
在当前应用场景为第二应用场景时,生成提示信息,从而根据提示信息对用户进行相应的提示,以及在接收到用户对提示信息的确认操作时,建立前端抓包组件和后端处理组件的通信连接。
可选地,一些实施例中,参见图8,装置700,还包括:
接收模块704,通过后端处理组件,接收前端抓包组件所发送的请求报文,并将请求报文推送至前端显示组件;
显示模块705,配置在前端显示组件中,用于显示接收到的请求报文。
可选地,一些实施例中,建立模块702,还用于:
当建立前端抓包组件和后端处理组件的通信连接时,通过后端处理组件将通信连接的连接信息推送至前端显示组件;
通过前端显示组件中的显示模块,显示接收到的连接信息。
可选地,一些实施例中,参见图8,装置700,还包括:
识别模块706,通过前端抓包组件,识别目标应用的目标类型,并确定与目标类型对应的异步请求方法,以及重载对应的异步请求方法,得到目标请求方法;
获取模块703,通过
前端抓包组件执行目标请求方法从而获取请求报文。
可选地,一些实施例中,目标应用为轻应用。
可选地,一些实施例中,请求报文支持Https协议。
需要说明的是,前述图1-图6对抓包方法实施例的解释说明也适用于该实施例的抓包装置700,其实现原理类似,此处不在赘述。
本实施例中,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,而不是在目标应用的设备侧安装伪造的证书执行抓包程序,由此,有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
图9是本发明另一实施例提出的抓包系统的结构示意图。
抓包系统90包括:抓包装置700。
需要说明的是,前述图1-图6对抓包方法实施例的解释说明也适用于该实施例的抓包系统90,其实现原理类似,此处不在赘述。
本实施例中,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,而不是在目标应用的设备侧安装伪造的证书执行抓包程序,由此,有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行一种抓包方法,方法包括:
在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件;
在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,
前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件。
本实施例中的非临时性计算机可读存储介质,通过在目标应用初始化时,调用已配置的前端抓包组件,前端抓包组件具有对应的后端处理组件,并在目标应用调用目标接口时,建立前端抓包组件和后端处理组件的通信连接;以及,前端抓包组件获取目标应用的请求报文,并将请求报文发送至后端处理组件,而不是在目标应用的设备侧安装伪造的证书执行抓包程序,由此,有效提升抓包操作的便捷性,提升抓包效率,提升抓包效果。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (20)
1.一种抓包方法,其特征在于,所述方法包括:
在目标应用初始化时,调用已配置的前端抓包组件,所述前端抓包组件具有对应的后端处理组件;
在所述目标应用调用所述目标接口时,建立所述前端抓包组件和所述后端处理组件的通信连接;以及,
所述前端抓包组件获取所述目标应用的请求报文,并将所述请求报文发送至所述后端处理组件。
2.如权利要求1所述的抓包方法,其特征在于,所述前端抓包组件获取所述目标应用的请求报文,包括:
所述前端抓包组件获取已存储的所述目标应用的第一请求报文;和/或,
所述前端抓包组件获取所述目标应用所实时产生的第二请求报文。
3.如权利要求1所述的抓包方法,其特征在于,所述在所述目标应用调用所述目标接口时,建立所述前端抓包组件和所述后端处理组件的通信连接,包括:
在所述目标应用调用所述目标接口时,检测当前应用场景;
采用与所述当前应用场景对应的建立方式,建立所述前端抓包组件和所述后端处理组件的通信连接。
4.如权利要求3所述的抓包方法,其特征在于,所述采用与所述当前应用场景对应的建立方式,建立所述前端抓包组件和所述后端处理组件的通信连接,包括:
在所述当前应用场景为第一应用场景时,直接建立所述前端抓包组件和所述后端处理组件的通信连接;
在所述当前应用场景为第二应用场景时,生成提示信息,从而根据所述提示信息对用户进行相应的提示,以及在接收到用户对所述提示信息的确认操作时,建立所述前端抓包组件和所述后端处理组件的通信连接。
5.如权利要求1所述的抓包方法,其特征在于,所述前端抓包组件获取所述目标应用的请求报文,并将所述请求报文发送至所述后端处理组件之后,还包括:
所述后端处理组件,接收所述前端抓包组件所发送的请求报文,并将所述请求报文推送至前端显示组件;
所述前端显示组件,显示接收到的所述请求报文。
6.如权利要求5所述的抓包方法,其特征在于,所述建立所述前端抓包组件和所述后端处理组件的通信连接,包括:
当建立所述前端抓包组件和所述后端处理组件的通信连接时,所述后端处理组件,将所述通信连接的连接信息推送至所述前端显示组件;
所述前端显示组件,显示接收到的所述连接信息。
7.如权利要求1所述的抓包方法,其特征在于,所述在目标应用初始化时,调用已配置的前端抓包组件后,还包括:
所述前端抓包组件,识别所述目标应用的目标类型,并确定与所述目标类型对应的异步请求方法,以及重载所述对应的异步请求方法,得到目标请求方法;
所述前端抓包组件获取所述目标应用的请求报文,包括:
所述前端抓包组件执行所述目标请求方法从而获取所述请求报文。
8.如权利要求1-7任一项所述的抓包方法,其特征在于,所述目标应用为轻应用。
9.如权利要求1-7任一项所述的抓包方法,其特征在于,所述请求报文支持Https协议。
10.一种抓包装置,其特征在于,所述装置包括:
调用模块,用于在目标应用初始化时,调用已配置的前端抓包组件,所述前端抓包组件具有对应的后端处理组件;
建立模块,用于在所述目标应用调用所述目标接口时,建立所述前端抓包组件和所述后端处理组件的通信连接;
获取模块,通过所述前端抓包组件获取所述目标应用的请求报文,并将所述请求报文发送至所述后端处理组件。
11.如权利要求10所述的抓包装置,其特征在于,所述获取模块,具体用于:
通过所述前端抓包组件获取已存储的所述目标应用的第一请求报文;和/或,
通过所述前端抓包组件获取所述目标应用所实时产生的第二请求报文。
12.如权利要求10所述的抓包装置,其特征在于,所述建立模块,具体用于:
在所述目标应用调用所述目标接口时,检测当前应用场景;
采用与所述当前应用场景对应的建立方式,建立所述前端抓包组件和所述后端处理组件的通信连接。
13.如权利要求12所述的抓包装置,其特征在于,所述建立模块,还用于:
在所述当前应用场景为第一应用场景时,直接建立所述前端抓包组件和所述后端处理组件的通信连接;
在所述当前应用场景为第二应用场景时,生成提示信息,从而根据所述提示信息对用户进行相应的提示,以及在接收到用户对所述提示信息的确认操作时,建立所述前端抓包组件和所述后端处理组件的通信连接。
14.如权利要求10所述的抓包装置,其特征在于,所述装置,还包括:
接收模块,通过所述后端处理组件接收所述前端抓包组件所发送的请求报文,并将所述请求报文推送至前端显示组件;
显示模块,配置在所述前端显示组件中,用于显示接收到的所述请求报文。
15.如权利要求14所述的抓包装置,其特征在于,所述建立模块,还用于:
当建立所述前端抓包组件和所述后端处理组件的通信连接时,通过所述后端处理组件将所述通信连接的连接信息推送至所述前端显示组件;
通过所述前端显示组件中的显示模块,显示接收到的所述连接信息。
16.如权利要求10所述的抓包装置,其特征在于,所述装置,还包括:
识别模块,通过所述前端抓包组件识别所述目标应用的目标类型,并确定与所述目标类型对应的异步请求方法,以及重载所述对应的异步请求方法,得到目标请求方法;
所述获取模块,通过所述前端抓包组件执行所述目标请求方法从而获取所述请求报文。
17.如权利要求10-16任一项所述的抓包装置,其特征在于,所述目标应用为轻应用。
18.如权利要求10-16任一项所述的抓包装置,其特征在于,所述请求报文支持Https协议。
19.一种抓包系统,其特征在于,包括:
如上述权利要求10-18任一项所述的抓包装置。
20.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一项所述的抓包方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911198040.0A CN111147445B (zh) | 2019-11-29 | 2019-11-29 | 抓包方法、装置、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911198040.0A CN111147445B (zh) | 2019-11-29 | 2019-11-29 | 抓包方法、装置、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111147445A true CN111147445A (zh) | 2020-05-12 |
CN111147445B CN111147445B (zh) | 2022-05-31 |
Family
ID=70517449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911198040.0A Active CN111147445B (zh) | 2019-11-29 | 2019-11-29 | 抓包方法、装置、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111147445B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596812A (zh) * | 2020-12-22 | 2021-04-02 | 深圳集智数字科技有限公司 | 一种操作请求的响应方法、装置、设备及存储介质 |
CN112596812B (zh) * | 2020-12-22 | 2024-05-31 | 深圳集智数字科技有限公司 | 一种操作请求的响应方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110214108A1 (en) * | 2010-02-26 | 2011-09-01 | Roland Grunberg | Architecture, system and method for generating visualizations from running executable code |
CN104156275A (zh) * | 2014-06-30 | 2014-11-19 | 青岛海信移动通信技术股份有限公司 | 一种安卓Android平台异常处理的方法和装置 |
CN107329901A (zh) * | 2017-07-31 | 2017-11-07 | 腾讯科技(深圳)有限公司 | 数据包抓取方法、终端、服务器和存储介质 |
CN108121633A (zh) * | 2016-11-30 | 2018-06-05 | 北京国双科技有限公司 | 异常捕获方法及装置 |
CN109032828A (zh) * | 2018-07-20 | 2018-12-18 | 网宿科技股份有限公司 | 应用异常处理方法及终端 |
CN110347731A (zh) * | 2018-03-13 | 2019-10-18 | 北京京东尚科信息技术有限公司 | 获取数据的方法和系统 |
-
2019
- 2019-11-29 CN CN201911198040.0A patent/CN111147445B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110214108A1 (en) * | 2010-02-26 | 2011-09-01 | Roland Grunberg | Architecture, system and method for generating visualizations from running executable code |
CN104156275A (zh) * | 2014-06-30 | 2014-11-19 | 青岛海信移动通信技术股份有限公司 | 一种安卓Android平台异常处理的方法和装置 |
CN108121633A (zh) * | 2016-11-30 | 2018-06-05 | 北京国双科技有限公司 | 异常捕获方法及装置 |
CN107329901A (zh) * | 2017-07-31 | 2017-11-07 | 腾讯科技(深圳)有限公司 | 数据包抓取方法、终端、服务器和存储介质 |
CN110347731A (zh) * | 2018-03-13 | 2019-10-18 | 北京京东尚科信息技术有限公司 | 获取数据的方法和系统 |
CN109032828A (zh) * | 2018-07-20 | 2018-12-18 | 网宿科技股份有限公司 | 应用异常处理方法及终端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112596812A (zh) * | 2020-12-22 | 2021-04-02 | 深圳集智数字科技有限公司 | 一种操作请求的响应方法、装置、设备及存储介质 |
CN112596812B (zh) * | 2020-12-22 | 2024-05-31 | 深圳集智数字科技有限公司 | 一种操作请求的响应方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111147445B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9961129B2 (en) | Business transaction correlation with client request monitoring data | |
US8782215B2 (en) | Performance testing in a cloud environment | |
US20170126531A1 (en) | Network Aware Distributed Business Transaction Anomaly Detection | |
US20150067146A1 (en) | Custom correlation of a distributed business transaction | |
CN108769124B (zh) | PaaS平台的应用部署方法、装置、服务器及存储介质 | |
CN111694674B (zh) | 消息分发处理方法、装置、设备及存储介质 | |
CN108270837B (zh) | 一种利用闲置资源的分布式任务调度方法及系统 | |
US20170126789A1 (en) | Automatic Software Controller Configuration based on Application and Network Data | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
CN103825783A (zh) | 一种测试方法及装置 | |
US9935853B2 (en) | Application centric network experience monitoring | |
US20170126580A1 (en) | Tracking Contention in a Distributed Business Transaction | |
CN106407061B (zh) | 一种北向接口测试装置和北向接口的测试方法 | |
US9819933B2 (en) | Automated testing of media devices | |
EP2614614A1 (en) | Dynamic configuration of interconnected devices for measuring performance characteristics in a network | |
US10432490B2 (en) | Monitoring single content page application transitions | |
CN106484720B (zh) | 一种检测推广url的有效性的方法和装置 | |
US10191844B2 (en) | Automatic garbage collection thrashing monitoring | |
CN111147445B (zh) | 抓包方法、装置、系统及存储介质 | |
US10389818B2 (en) | Monitoring a network session | |
CN109495319B (zh) | Cdn节点的故障信息确定方法、装置及设备 | |
US10216926B2 (en) | Isolation of untrusted code in operating system without isolation capability | |
CN106598770B (zh) | Android系统中Native层异常上报处理方法及装置 | |
US20170222904A1 (en) | Distributed Business Transaction Specific Network Data Capture | |
CN113839828B (zh) | 一种网络质量探测方法、装置、终端设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |