发布信息

数据包抓取方法、装置、设备及计算机可读介质与流程

作者:admin      2022-09-02 18:18:02     941



电子通信装置的制造及其应用技术1.本技术涉及计算机技术领域,尤其涉及一种数据包抓取方法、装置、设备及计算机可读介质。背景技术:2.数据在网络中是以数据包的形式进行传输的,数据包可以在传输途中被截获,即抓包。抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作。通过对网络上传输的数据进行抓取,可以对其进行分析,如网络故障分析、程序网络接口分析、木马通讯数据内容分析等,在程序开发中,数据包抓取也对程序调试有很大帮助。3.目前,相关技术中,每个进行调试工作的机器都需要安装对应的抓包工具,并配置对应的端口、主机号,重复繁琐的过程造成执行效率低,且资源浪费严重。4.针对上述的问题,目前尚未提出有效的解决方案。技术实现要素:5.本技术提供了一种数据包抓取方法、装置、设备及计算机可读介质,以解决每个客户端都需要安装抓包工具的技术问题。6.根据本技术实施例的一个方面,本技术提供了一种数据包抓取方法,包括:建立代理服务与客户端之间的通信连接,并建立代理服务与云服务器之间的通信连接,代理服务用于作为客户端与云服务器之间进行通信的中间节点,代理服务部署在云服务器上;在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包,数据包包括通信数据,抓包服务部署在云服务器上。7.可选地,建立代理服务与客户端之间的通信连接包括:通过代理服务获取客户端发送的连接请求,连接请求为客户端申请通过目标端口与云服务器进行通信的请求,目标端口为客户端提供的端口;提取连接请求中携带的预设端口号,预设端口号为目标端口的端口号;按照预设端口号向客户端的目标端口发送连接确认信息,以建立代理服务与客户端之间的第一通信连接。8.可选地,建立代理服务与云服务器之间的通信连接包括:通过代理服务获取客户端发送的配置信息,配置信息为客户端通过第一通信连接发送的,配置信息用于保存客户端与云服务器进行数据通信所需的通信配置;提取配置信息中携带的目标域名,目标域名为客户端通过目标端口所要连接的域名,云服务器提供服务的多个域名中包括目标域名;将代理服务连接至目标域名,以建立代理服务与云服务器之间的第二通信连接。9.可选地,通过抓包服务抓取数据包之前,该方法还包括:在客户端经第一通信连接和第二通信连接与云服务器进行密钥交换时,通过抓包服务确定拦截证书,拦截证书为根据密钥交换时产生的数据生成的。10.可选地,在客户端经第一通信连接和第二通信连接与服务器进行密钥交换时,通过抓包服务确定拦截证书包括:通过代理服务获取云服务器发送的目标数字证书,目标数字证书为与目标域名匹配的数字证书,目标数字证书为云服务器通过第二通信连接发送的;提取目标数字证书中携带的公用名和主题备用名;将公用名和主题备用名传递至抓包服务,以利用抓包服务生成拦截证书。11.可选地,在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包包括:通过代理服务获取客户端向云服务器发送的数据请求;利用抓包服务按照拦截证书抓取数据。12.可选地,在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包还包括:通过代理服务获取云服务器响应数据请求向客户端发送的数据;利用抓包服务按照拦截证书抓取数据。13.可选地,利用抓包服务按照拦截证书抓取数据包括:采用拦截证书中携带的密钥解密所抓取的数据;在所抓取的数据被成功解密的情况下,保存解密数据。14.可选地,通过抓包服务抓取数据包还包括:在抓包服务中配置目标表达式;利用目标表达式过滤解密数据中与目标表达式不匹配的冗余数据,得到目标数据,并保存目标数据。15.可选地,保存目标数据之后,该方法还包括:将目标数据通过第一通信连接传递至消息队列,以使得客户端在监听到消息队列中存在目标数据的情况下,提取目标数据并展示在目标显示界面。16.可选地,在接收到至少一个抓包数据查看请求的情况下,该方法还包括:提取抓包数据查看请求中携带的目标地址,目标地址为发送抓包数据查看请求的客户端的互联网协议地址;向目标地址发送目标数据,以在具有目标地址的客户端上展示目标数据。17.可选地,在接收到多个数据抓取请求的情况下,该方法还包括:将代理服务分别与每个数据抓取请求匹配的客户端建立通信连接,并将代理服务与云服务器建立通信连接,数据抓取请求中包括客户端向云服务器发送的连接请求和客户端向云服务器发送的配置信息;通过抓包服务抓取各个端口中产生的通信数据,并将通信数据发送至与各个端口对应的客户端。18.根据本技术实施例的另一方面,本技术提供了一种数据包抓取装置,包括:通信代理模块,用于建立代理服务与客户端之间的通信连接,并建立代理服务与云服务器之间的通信连接,代理服务用于作为客户端与云服务器之间进行通信的中间节点,代理服务部署在云服务器上;抓包模块,用于在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包,数据包包括通信数据,抓包服务部署在云服务器上。19.根据本技术实施例的另一方面,本技术提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。20.根据本技术实施例的另一方面,本技术还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。21.本技术实施例提供的上述技术方案与相关技术相比具有如下优点:22.本技术技术方案为建立代理服务与客户端之间的通信连接,并建立代理服务与云服务器之间的通信连接,代理服务用于作为客户端与云服务器之间进行通信的中间节点,代理服务部署在云服务器上;在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包,数据包包括通信数据,抓包服务部署在云服务器上。本技术通过将抓包工具部署在云服务器上,从而在云服务器端进行数据抓包,解决了每个客户端都需要安装抓包工具的技术问题。附图说明23.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。24.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。25.图1为根据本技术实施例提供的一种可选的数据包抓取方法硬件环境示意图;26.图2为根据本技术实施例提供的一种可选的数据包抓取方法流程图;27.图3为根据本技术实施例提供的一种可选的数据交互示意图;28.图4为根据本技术实施例提供的一种可选的抓包工具使用示意图;29.图5为根据本技术实施例提供的一种可选的数据包抓取装置框图;30.图6为本技术实施例提供的一种可选的电子设备结构示意图。具体实施方式31.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。32.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本技术的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。33.相关技术中,每个进行调试工作的机器都需要安装对应的抓包工具,并配置对应的端口、主机号,重复繁琐的过程造成执行效率低,且大量host配置数据容易造成混乱,抓包工具抓取的数据无法多人同时查看,也无法多人同时使用抓包工具,造成资源浪费严重。34.为了解决背景技术中提及的问题,根据本技术实施例的一方面,提供了一种数据包抓取方法的实施例。35.可选地,在本技术实施例中,上述数据包抓取方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于pc、手机、平板电脑等。36.本技术实施例中的一种数据包抓取方法可以由服务器103来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:37.步骤s202,建立代理服务与客户端之间的通信连接,并建立代理服务与云服务器之间的通信连接,代理服务用于作为客户端与云服务器之间进行通信的中间节点,代理服务部署在云服务器上。38.本技术实施例中,上述客户端与云服务器之间通过网络进行通信,客户端向云服务器发送数据请求,云服务器响应该数据请求向客户端返回所需数据。本技术实施例提供一种云端抓包工具,包括上述代理服务,该云端抓包工具要进行数据抓包,需要将代理服务作为客户端与云服务器之间进行通信的中间节点,即使用代理服务将客户端发送给云服务器的数据请求转发给云服务器,将云服务器发送给客户端的响应数据转发给客户端,从而在保证客户端与云服务器正常通信的基础上,介入客户端与云服务器的通信。该代理服务部署在云服务器上,从而用户在进行开发测试、程序调试等需要抓包数据时,不需要在客户端上下载、安装抓包工具,也不需要部署环境、调试工具等。39.步骤s204,在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包,数据包包括通信数据,抓包服务部署在云服务器上。40.本技术实施例中,上述云端抓包工具还包括上述抓包服务,抓包服务用于代理服务转发通信数据时,抓取通信数据。抓包服务可以部署在云服务器上,用户只需配置端口、访问域名等,即可通过云端抓包工具抓取客户端与云服务器往来的通信数据。41.通过上述步骤s202至s204,本技术将抓包工具部署在云服务器上,从而在云服务器端进行数据抓包,解决了每个客户端都需要安装抓包工具的技术问题。42.可选地,建立代理服务与客户端之间的通信连接包括:43.步骤11,通过代理服务获取客户端发送的连接请求,连接请求为客户端申请通过目标端口与云服务器进行通信的请求,目标端口为客户端提供的端口;44.步骤12,提取连接请求中携带的预设端口号,预设端口号为目标端口的端口号;45.步骤13,按照预设端口号向客户端的目标端口发送连接确认信息,以建立代理服务与客户端之间的第一通信连接。46.本技术实施例中,客户端要访问云服务器,则客户端向云服务器发送连接请求,该连接请求被代理服务截获后,代理服务“伪装”成云服务器向客户端的目标端口发送连接建立的确认信息,此时代理服务与客户端之间就可以通过客户端的目标端口进行通信,二者所有的数据往来,都经过目标端口。客户端上提供的端口每次只为一个通信链路提供服务。客户端与代理服务之间的通信连接为上述第一通信连接。47.可选地,建立代理服务与云服务器之间的通信连接包括:48.步骤21,通过代理服务获取客户端发送的配置信息,配置信息为客户端通过第一通信连接发送的,配置信息用于保存客户端与云服务器进行数据通信所需的通信配置;49.步骤22,提取配置信息中携带的目标域名,目标域名为客户端通过目标端口所要连接的域名,云服务器提供服务的多个域名中包括目标域名;50.步骤23,将代理服务连接至目标域名,以建立代理服务与云服务器之间的第二通信连接。51.本技术实施例中,客户端在接收到代理服务返回的连接建立的确认信息后,将代理服务识别为云服务器,相当于客户端认为它正在与云服务器通信,所以客户端为了实现访问目的而向该“云服务器”发送配置信息,其中包括所要访问的目标域名。上述配置信息为客户端与云服务器之间的通信配置,例如客户端与云服务器之间如何进行加密通信,这就需要建立tls(transport layer security,传输层安全协议,用于两个应用程序之间提供保密性和数据完整性)连接。tls传输层安全性协议的前身是ssl(secure sockets layer,安全套接层)协议。52.本技术实施例中,代理服务获取到客户端所要连接的目标域名后,向云服务器发送连接至该目标域名的连接请求,客户端可以通过sni(server name indication,服务器名称指示)扩展服务来告知云服务器该客户端想要访问的目标域名,从而使得云服务器无需进行dns(domain name system,域名系统)域名解析即可确定客户端想要访问的域名,提高访问效率,减少资源浪费。53.本技术实施例中,上述配置信息可以为客户端与云服务器建立tls连接所需的配置信息。建立tls连接通过tls握手实现,主要通过以下步骤:54.步骤31,客户端发起请求:客户端以明文传输请求信息,包含版本信息,加密套件候选列表,压缩算法候选列表,随机数,扩展字段等信息。版本信息为客户端支持使用的ssl/tls版本,如tlsv1.2。加密套件候选列表为客户端支持的加密套件(cipher suites)列表,每个加密套件对应tls原理中的四个功能的组合:认证算法(用于身份验证)、密钥交换算法(用于密钥协商)、对称加密算法(用于信息加密)和信息摘要(用于完整性校验)。随机数random_c,用于后续的密钥的生成。扩展字段为支持协议与算法的相关参数以及其它辅助信息等,如上述sni扩展字段。55.步骤32,云服务器回应:云服务器返回协商的信息结果,包括选择使用的协议版本,选择的加密套件,选择的压缩算法、随机数random_s等,其中随机数用于后续的密钥协商。云服务器还发回其数字证书,此证书通常包含云服务器的名称、受信任的证书颁发机构(ca)和云服务器的公钥。56.步骤33,客户端回应:客户端需要向云服务器发送客户端的证书,让云服务器来验证客户端的合法性。客户端还需要对云服务器的证书进行检查,如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。如果证书没有问题,客户端就会从服务器证书中取出服务器的公钥。然后,向服务器发送一个随机数、编码改变通知以及客户端握手结束通知。该随机数用服务器公钥加密,以防止被窃听。例如,可以产生一个48个字节的key:客户端使用rsa、diffie-hellman等加密算法产生一个48个字节的pre-master。此时客户端已经获取全部的计算协商密钥需要的信息:两个明文随机数random_c和random_s与自己计算产生的pre-master,利用上述三个随机数计算得到协商密钥enc_key=fuc(random_c,random_s,pre-master)。编码改变通知表示随后的信息都将用双方商定的加密方法和密钥发送。客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的哈希值,用来供云服务器校验。57.步骤34,云服务器的最后回应:云服务器使用私钥解密加密的pre-master数据,基于之前交换的两个明文随机数random_c和random_s,计算得到协商密钥:enc_key=fuc(random_c,random_s,pre-master)。云服务器计算之前所有接收信息的哈希值,然后解密客户端发送的客户端握手结束通知,验证数据和密钥正确性。云服务器响应客户端发送的编码改变通知,也向客户端发送一个编码改变通知,告知客户端已经切换到协商过的加密套件状态,准备使用加密套件和加密数据了。最后,云服务器也会使用加密算法加密一段握手结束消息发送给客户端,以验证之前通过握手建立起来的加解密通道是否成功。58.本技术实施例中,代理服务作为客户端与云服务器进行通信的中间结点,抓包服务进行数据抓包的实现如图3所示,客户端发送的连接请求被代理服务截获并“伪装”云服务器响应客户端,客户端认为自己正在与云服务器通信,因此将包含目标域名等信息的配置信息发送给代理服务,代理服务利用客户端发送的配置信息成功与云服务器建立连接,云服务器响应代理服务的连接返回目标数字证书,代理服务将目标数字证书转发给客户端,完成tls握手,之后在客户端与云服务器进行通信时,抓包服务即可进行数据抓包。59.可选地,通过抓包服务抓取数据包之前,该方法还包括:60.在客户端经第一通信连接和第二通信连接与云服务器进行密钥交换时,通过抓包服务确定拦截证书,拦截证书为根据密钥交换时产生的数据生成的。61.本技术实施例中,客户端与云服务器及逆行密钥交换的过程即包含在上述tls握手的过程中,代理服务可以基于密钥交换过程中明文通信的数据生成拦截证书。62.可选地,在客户端经第一通信连接和第二通信连接与服务器进行密钥交换时,通过抓包服务确定拦截证书具体包括:63.步骤41,通过代理服务获取云服务器发送的目标数字证书,目标数字证书为与目标域名匹配的数字证书,目标数字证书为云服务器通过第二通信连接发送的;64.步骤42,提取目标数字证书中携带的公用名和主题备用名;65.步骤43,将公用名和主题备用名传递至抓包服务,以利用抓包服务生成拦截证书。66.本技术实施例中,云服务器发送的目标数字证书包括受信任的证书颁发机构(ca),代理服务提取其中的公用名(common name)和主题备用名(subject alternative name)后传递给抓包服务生成拦截证书。公用名和主题备用名用于身份验证。公用名(common name)是申请该目标数字证书所使用的域名(domain)或子域名(subdomain)。67.可选地,在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包包括:68.步骤51,通过代理服务获取客户端向云服务器发送的数据请求;69.步骤52,利用抓包服务按照拦截证书抓取数据。70.本技术实施例中,代理服务作为客户端与云服务器之间进行通信的中间节点,在转发客户端向云服务器发送的数据请求时,抓包服务可以进行数据抓取,其中,所抓取的数据为客户端的上述目标端口中产生的数据,即客户端可以通过多个端口访问云服务器,用户可以同时设置客户端的多个端口与该云服务器通信,进而通过云端抓包工具抓取各个端口上产生的数据。71.可选地,在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包还包括:72.步骤61,通过代理服务获取云服务器响应数据请求向客户端发送的数据;73.步骤62,利用抓包服务按照拦截证书抓取数据。74.本技术实施例中,代理服务作为客户端与云服务器之间进行通信的中间节点,在转发云服务器向客户端发送的响应数据时,抓包服务可以进行数据抓取,其中,所抓取的数据通过客户端的上述目标端口传送至客户端。客户端可以通过多个端口访问云服务器,云服务器也可以为多个端口的数据请求返回相应的数据,并把相应的数据返回至对应的发送端口,用户可以同时设置客户端的多个端口与该云服务器通信,进而通过云端抓包工具抓取各个端口上产生的数据。75.可选地,利用抓包服务按照拦截证书抓取数据包括:76.步骤71,采用拦截证书中携带的密钥解密所抓取的数据;77.步骤72,在所抓取的数据被成功解密的情况下,保存解密数据。78.本技术实施例中,抓包服务可以通过拦截证书中的密钥解密通信数据。所述密钥相当与客户端或云服务器持有的私钥,客户端将数据用与云服务器持有的私钥匹配的公钥进行加密后发送给云服务器,代理服务转发该加密数据时,抓包服务进行抓取,并利用与云服务器持有的私钥对数据进行解密,解密成功的数据进行保存。云服务器将数据用与客户端持有的私钥匹配的公钥进行加密后发送给客户端,代理服务转发该加密数据时,抓包服务进行抓取,并利用与客户端持有的私钥对数据进行解密,解密成功的数据进行保存。79.可选地,通过抓包服务抓取数据包还包括:80.步骤81,在抓包服务中配置目标表达式;81.步骤82,利用目标表达式过滤解密数据中与目标表达式不匹配的冗余数据,得到目标数据,并保存目标数据。82.本技术实施例中,还可以通过正则表达式等方式对数据进行过滤拦截。例如,利用表达式设置只抓取携带目标字符的数据,以及利用表达式设置不抓取携带目标字符的数据等。83.可选地,保存目标数据之后,该方法还包括:84.将目标数据通过第一通信连接传递至消息队列,以使得客户端在监听到消息队列中存在目标数据的情况下,提取目标数据并展示在目标显示界面。85.本技术实施例中,可以通过消息队列进行数据缓存,在使用客户端的用户需要查看某个端口的抓包数据时,从消息队列中查找是否有该端口的抓包数据,若有,则在显示屏幕上展示数据。86.可选地,在接收到至少一个抓包数据查看请求的情况下,该方法还包括:87.步骤91,提取抓包数据查看请求中携带的目标地址,目标地址为发送抓包数据查看请求的客户端的互联网协议地址;88.步骤92,向目标地址发送目标数据,以在具有目标地址的客户端上展示目标数据。89.本技术实施例中,若多个用户通过多个客户端访问该云端抓包工具,并发出抓包数据查看请求时,代理服务将抓包数据(即目标数据)发送给各个客户端,各个客户端以各自的互联网协议地址进行区分。或者,一个客户端还可以通过多个端口访问云服务器,即云端抓包工具可以抓取一个客户端上多个端口的数据,并分别将每个端口的数据发送给用户,用户可以选择查看其中一个或多个端口上抓取的数据。90.可选地,在接收到多个数据抓取请求的情况下,该方法还包括:91.步骤101,将代理服务分别与每个数据抓取请求匹配的客户端建立通信连接,并将代理服务与云服务器建立通信连接,数据抓取请求中包括客户端向云服务器发送的连接请求和客户端向云服务器发送的配置信息;92.步骤102,通过抓包服务抓取各个端口中产生的通信数据,并将通信数据发送至与各个端口对应的客户端。93.步骤103,配置信息中包括云服务器提供的端口,任意两个客户端所使用的端口不同。94.本技术实施例中,多用户进行数据抓包时,代理服务可以分别连接至各个客户端的各个所需抓取数据的一个或多个端口,之后再通过如上所述的tls握手方式建立与各个客户端的各个端口的tls连接,以及代理服务与云服务器的tls连接,从而云端抓包工具可以并行处理多个数据抓包任务。95.本技术实施例提供云端抓包工具的使用流程如图4所示。用户通过互联网连接至代理工具(相当于上述代理服务),代理工具如mitmproxy。mitmproxy可以通过编写脚本自定义扩展功能,同时也能通过自定义脚本完成host配置、端口配置等。用户发出数据抓包请求后,云端抓包工具启动,将用户所配置的端口信息、host信息等保存在云服务器中,并启动抓包服务进行数据抓包。抓包服务可以是mitmweb等。数据抓取完毕之后,将抓取的数据展示在客户端。本技术提供的云端抓包工具部署在云服务器时,需要分别部署前端界面和后端数据库、依赖库等,用户可以通过云端抓包工具的前端界面进行端口配置、host配置等。96.根据本技术实施例的又一方面,如图5所示,提供了一种数据包抓取装置,包括:97.通信代理模块501,用于建立代理服务与客户端之间的通信连接,并建立代理服务与云服务器之间的通信连接,代理服务用于作为客户端与云服务器之间进行通信的中间节点,代理服务部署在云服务器上;98.抓包模块503,用于在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包,数据包包括通信数据,抓包服务部署在云服务器上。99.需要说明的是,该实施例中的通信代理模块501可以用于执行本技术实施例中的步骤s202,该实施例中的抓包模块503可以用于执行本技术实施例中的步骤s204。100.此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。101.可选地,该通信代理模块,具体用于:通过代理服务获取客户端发送的连接请求,连接请求为客户端申请通过目标端口与云服务器进行通信的请求,目标端口为客户端提供的端口;提取连接请求中携带的预设端口号,预设端口号为目标端口的端口号;按照预设端口号向客户端的目标端口发送连接确认信息,以建立代理服务与客户端之间的第一通信连接。102.可选地,该通信代理模块,还用于:通过代理服务获取客户端发送的配置信息,配置信息为客户端通过第一通信连接发送的,配置信息用于保存客户端与云服务器进行数据通信所需的通信配置;提取配置信息中携带的目标域名,目标域名为客户端通过目标端口所要连接的域名,云服务器提供服务的多个域名中包括目标域名;将代理服务连接至目标域名,以建立代理服务与云服务器之间的第二通信连接。103.可选地,该数据包抓取装置,还包括拦截证书生成模块,用于:在客户端经第一通信连接和第二通信连接与云服务器进行密钥交换时,通过抓包服务确定拦截证书,拦截证书为根据密钥交换时产生的数据生成的。104.可选地,该拦截证书生成模块,具体用于:通过代理服务获取云服务器发送的目标数字证书,目标数字证书为与目标域名匹配的数字证书,目标数字证书为云服务器通过第二通信连接发送的;提取目标数字证书中携带的公用名和主题备用名;将公用名和主题备用名传递至抓包服务,以利用抓包服务生成拦截证书。105.可选地,该抓包模块,具体用于:通过代理服务获取客户端向云服务器发送的数据请求;利用抓包服务按照拦截证书抓取数据。106.可选地,该抓包模块,还用于:通过代理服务获取云服务器响应数据请求向客户端发送的数据;利用抓包服务按照拦截证书抓取数据。107.可选地,该抓包模块,还用于:采用拦截证书中携带的密钥解密所抓取的数据;在所抓取的数据被成功解密的情况下,保存解密数据。108.可选地,该抓包模块,还用于:在抓包服务中配置目标表达式;利用目标表达式过滤解密数据中与目标表达式不匹配的冗余数据,得到目标数据,并保存目标数据。109.可选地,该数据包抓取装置,还包括数据展示模块,用于:将目标数据通过第一通信连接传递至消息队列,以使得客户端在监听到消息队列中存在目标数据的情况下,提取目标数据并展示在目标显示界面。110.可选地,该数据展示模块,还用于:提取抓包数据查看请求中携带的目标地址,目标地址为发送抓包数据查看请求的客户端的互联网协议地址;向目标地址发送目标数据,以在具有目标地址的客户端上展示目标数据。111.可选地,该数据包抓取装置,还包括并行处理模块,用于:将代理服务分别与每个数据抓取请求匹配的客户端建立通信连接,并将代理服务与云服务器建立通信连接,数据抓取请求中包括客户端向云服务器发送的连接请求和客户端向云服务器发送的配置信息;通过抓包服务抓取各个端口中产生的通信数据,并将通信数据发送至与各个端口对应的客户端。112.根据本技术实施例的另一方面,本技术提供了一种电子设备,如图6所示,包括存储器601、处理器603、通信接口605及通信总线607,存储器601中存储有可在理器603上运行的计算机程序,存储器601、处理器603通过通信接口605和通信总线607进行通信,处理器603执行计算机程序时实现上述方法的步骤。113.上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。114.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。115.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。116.根据本技术实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。117.可选地,在本技术实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:118.建立代理服务与客户端之间的通信连接,并建立代理服务与云服务器之间的通信连接,代理服务用于作为客户端与云服务器之间进行通信的中间节点,代理服务部署在云服务器上;119.在代理服务转发客户端与云服务器之间的通信数据的情况下,通过抓包服务抓取数据包,数据包包括通信数据,抓包服务部署在云服务器上。120.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。121.本技术实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。122.可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field-programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。123.对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。124.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。125.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。126.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。127.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。128.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。129.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。130.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。









图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!




内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,发布内容不收取任何费用也不接任何广告!




免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

相关内容 查看全部