CN111428225A - 数据交互方法、装置、计算机设备及存储介质 - Google Patents
数据交互方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111428225A CN111428225A CN202010119474.3A CN202010119474A CN111428225A CN 111428225 A CN111428225 A CN 111428225A CN 202010119474 A CN202010119474 A CN 202010119474A CN 111428225 A CN111428225 A CN 111428225A
- Authority
- CN
- China
- Prior art keywords
- data
- plaintext
- client
- target
- message data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2151—Time stamp
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种数据交互方法、装置、计算机设备及存储介质,通过获取客户端发送的http代理请求;根据http代理请求发送反馈信息至客户端;获取客户端根据反馈信息返回的明文报文数据,对明文报文数据进行录制并存储至预设的数据库;采用ssl客户端证书对明文报文数据进行加密,生成密文报文数据发送至服务端;获取服务端响应于密文报文数据返回的目标密文数据,并采用ssl客户端证书对目标密文数据进行解密,生成目标明文数据;对目标明文数据进行录制,并将目标明文数据与明文报文数据进行关联存储至所述数据库;将目标明文数据发送至客户端;从而实现了在进行数据交互的过程中同时进行数据录制和存储,以便于后续对交互数据进行数据处理。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据交互方法、装置、计算机设及存储介质。
背景技术
随着计算机网络的发展与普及,人们已经不局限于固定的客户端访问计算机网络,可以在许多地方随时随地连接到计算机网络。一般在用户交互式系统中包括客户端和服务端,用户可以通过对客户端向服务端发送用户消息,由服务端执行该用户消息。比如在网游系统中,用户可以通过网游客户端从服务端下载游戏副本,且不同用户可以通过不同的网游客户端执行服务端上提供的同一任务比如对战任务或组队任务等。目前对于客户端和服务端之间的数据交互大部分采用中间人攻击的方式如构造https客户端证书,在中间层请求使用自己的证书请求服务端,解析出明文后再伪装成服务端将数据加密传输给客户端,涉及四次加解密(客户端一次,伪装服务端一次,真正服务端一次,中间层客户端一次)时间消耗大,且由于数据交互过程中的数据都是经过加密的数据,从而导致无法实现对交互数据的录制,给用户的使用带来极大的不便。
发明内容
本发明实施例提供一种数据交互方法、装置、计算机设备及存储介质,以解决无法同时对数据进行交互和录制的问题。
一种数据交互方法,包括:
获取客户端发送的http代理请求;
根据所述http代理请求发送反馈信息至所述客户端;
获取所述客户端根据所述反馈信息返回的明文报文数据,其中,所述明文报文数据为所述客户端将https协议替换成http协议后得到;
对所述明文报文数据进行录制并存储至预设的数据库;
采用ssl客户端证书对所述明文报文数据进行加密,生成密文报文数据发送至服务端;
获取所述服务端响应于所述密文报文数据返回的目标密文数据,并采用所述ssl客户端证书对所述目标密文数据进行解密,生成目标明文数据;
对所述目标明文数据进行录制,并将所述目标明文数据与所述明文报文数据进行关联存储至所述数据库;
将所述目标明文数据发送至所述客户端。
一种数据交互装置,包括:
http代理请求获取模块,用于获取客户端发送的http代理请求;
反馈信息发送模块,用于根据所述http代理请求发送反馈信息至所述客户端;
明文报文数据获取模块,用于获取所述客户端根据所述反馈信息返回的明文报文数据,其中,所述明文报文数据为所述客户端将https协议替换成http协议后得到;
第一录制模块,用于对所述明文报文数据进行录制并存储至预设的数据库;
加密模块,用于采用ssl客户端证书对所述明文报文数据进行加密,生成密文报文数据发送至服务端;
目标密文数据获取模块,用于获取所述服务端响应于所述密文报文数据返回的目标密文数据,并采用所述ssl客户端证书对所述目标密文数据进行解密,生成目标明文数据;
第二录制模块,用于对所述目标明文数据进行录制,并将所述目标明文数据与所述明文报文数据进行关联存储至所述数据库;
目标明文数据发送模块,用于将所述目标明文数据发送至所述客户端。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据交互方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述数据交互方法。
上述数据交互方法、装置、计算机设备及存储介质,通过获取客户端发送的http代理请求;根据http代理请求发送反馈信息至客户端;获取客户端根据反馈信息返回的明文报文数据,其中,明文报文数据为客户端将https协议替换成http协议后得到;对明文报文数据进行录制并存储至预设的数据库;采用ssl客户端证书对明文报文数据进行加密,生成密文报文数据发送至服务端;获取服务端响应于密文报文数据返回的目标密文数据,并采用ssl客户端证书对目标密文数据进行解密,生成目标明文数据;对目标明文数据进行录制,并将目标明文数据与明文报文数据进行关联存储至所述数据库;将目标明文数据发送至客户端;通过在客户端与服务端之间加入代理服务端,从而实现了在进行数据交互的过程中同时进行数据录制和存储,以便于后续对交互数据进行数据处理。另外地,整个数据交互过程只涉及了一个加密和解密过程,在保证数据交互的完整性和安全性的情况下,减少了加密次数,从而提高了数据交互的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中数据交互方法的一应用环境示意图;
图2是本发明一实施例中数据交互方法的一示例图;
图3是本发明一实施例中数据交互方法的另一示例图;
图4是本发明一实施例中数据交互方法的另一示例图;
图5是本发明一实施例中数据交互方法的另一示例图;
图6是本发明一实施例中数据交互方法的另一示例图;
图7是本发明一实施例中数据交互装置的一原理框图;
图8是本发明一实施例中数据交互装置的另一原理框图;
图9是本发明一实施例中数据交互装置的另一原理框图;
图10是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的数据交互方法,该数据交互方法可应用如图1所示的应用环境中。在图1中,代理服务端分别和客户端和服务端进行数据交互。在客户端和服务端之间进行数据交互的场景中,加入了代理服务端,此时,客户端对服务端的访问请求会经过代理服务端进行处理和转发,再经由代理服务端和服务端进行数据交互,再将服务端返回的数据发送至客户端,完成客户端的数据访问过程。在此场景中,客户端和代理服务端之间通过内部网络(例如,局域网)实现数据的交互。而代理服务端和服务端之间,代理服务端根据代理协议,请求对服务端创建连接、或者获得目标服务端的指定资源,实现数据的交互。示例性地,通过NAT协议实现上述交互。NAT(Network Address TranslationP)是指“网络地址转换”,它是一个IETF(Internet Engineering Task Force,Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)转换成合法公有网络IP地址的技术,当在专用网内部的一些主机本来已经分配到了本地IP地址(即仅在本专用网内使用的专用地址),但现在又想和因特网上的主机通信(并不需要加密)时,可使用NAT方法。简单地说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处,将内部地址替换成公用地址,从而在外部公网(internet)上正常使用,NAT可以使多台计算机共享Internet连接。通过这种方法,可以只申请一个合法IP地址,就把整个局域网中的计算机接入Internet中。这时,NAT还屏蔽了内部网络,所有内部网计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在,能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机(客户端)。而代理服务端通过开设网络端口,根据一个预设的IP地址访问服务端,服务端通过该IP地址对代理服务端进行权限认证,从而完成数据交互。
具体地,该数据交互方法应用在数据交互系统中,该数据交互系统包括如图1所示的客户端、代理服务端和服务端,客户端、代理服务端和服务端通过网络进行通信,用于解决无法同时对数据进行交互和录制的问题。其中,客户端又称为用户端,是指与服务端相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。代理服务端为虚拟的服务端,作为客户端与服务端之间进行数据交互的“中间人代理”。服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种数据交互方法,以该方法应用在图1中的代理服务端为例进行说明,包括如下步骤:
S10:获取客户端发送的http代理请求。
其中,http代理请求指客户端请求与服务端建立连接时所触发的请求。在本实施例中,当客户端向服务端发起请求时,代理服务端拦截客户端的请求,
对于客户端而言,代理服务端充当服务端的角色,与客户端进行数据交互,进一步地,对服务端而言,代理服务端充当客户端的角色,向服务端进行请求和数据交互。可以理解地,代理服务端作为客户端与服务端之间进行数据交互的“中间人代理”。
具体地,在客户端与代理服务端进行数据交互前,首先需在客户端与代理服务端之间建立一个用于发送数据的连接,即客户端需先向代理服务端发送代理请求,请求与代理服务端建立连接。本实施方式中,在客户端与代理服务端之间建立连接之前,已预先将客户端发送数据的https协议替换成http协议,即客户端向代理服务端发送的代理请求为http代理请求。当客户端向代理服务端发送http代理请求之后,代理服务端即可获取客户端发送的http代理请求。
在一具体应用场景中,当用户在客户端的某一应用程序/浏览器显示的通信接口上执行数据获取的页面操作行为时,会自动触发客户端将该应用程序/浏览器的https协议替换成http协议,并生成http代理请求发送至代理服务端,代理服务端获取客户端发送的http代理请求。
S20:根据http代理请求发送反馈信息至客户端。
其中,反馈信息指用于指示代理服务端同意与客户端建立连接的信息。具体地,由于创建一次TCP连接即可以发送多次的http请求,因此当代理服务端接收到来自客户端发送的创建基于传输控制协议(Transmission Control Protocol,TCP)的连接的请求时,创建与该客户端的TCP连接。代理服务端通过该TCP连接向该客户端发送一个响应,即反馈信息,该响应用于告知客户端已成功创建数据连接通道,可开始进行数据发送。
S30:获取客户端根据反馈信息返回的明文报文数据,其中,明文报文数据为客户端将https协议替换成http协议后得到。
其中,明文报文数据指客户端请求数据获取时所发送的请求报文。在本实施例中,由于已预先在客户端将数据发送的https协议替换成http协议,因此,该明文报文数据为没有进行加密的报文数据。具体地,明文报文数据主要包括请求起始行、请求首部(Header)和请求主体。请求起始行也称为请求行,主要包含请求方法、URL地址和http版本3个部分。请求起始行以CRLF字符结束,请求方法、URL地址和http版本之间以空格隔开。请求起始行后面有零个或多个请求首部,每个请求首部都是一个键值对,请求首部可以向服务端提供一些额外的信息,比如客户端希望接收什么类型的数据。请求首部中可以包含任意的文本或二进制数据,比如图片、视频、音轨、软件程序。请求主体是可选的,接在请求首部之后,包含了要发送给服务端的数据。
具体地,当客户端与代理服务端创建TCP连接,接收到代理服务端返回的反馈信息之后,会主动将明文报文数据发送至代理服务端,代理服务端即可获取客户端根据反馈信息返回的明文报文数据。其中,明文报文数据为客户端将https协议替换成http协议后得到的数据。
S40:对明文报文数据进行录制并存储至预设的数据库。
可以理解地,基于https协议的报文数据是无法进行录制的,而基于http协议的报文数据由于没有进行加密因此可进行录制。在本实施例中,由于已预先在客户端将数据发送的https协议改成http协议,因此,当代理服务端接收到来自客户端发送基于http协议的明文报文数据之后,可对该明文报文数据进行录制。具体地,对明文报名数据进行录制即指对该明文报文数据进行监控记录的意思。进一步地,在对该明文报文数据进行录制之后,再将该录制后的明文报文数据存储在预设的数据库中,以便后续可直接从数据库获取到明文报文数据,对该明文报文数据做进一步的数据处理。
S50:采用ssl客户端证书对明文报文数据进行加密,生成密文报文数据发送至服务端。
其中,ssl客户端证书是遵守ssl协议的一种数字证书,将SSL证书安装在网站服务器上,可实现网站真实身份验证和数据加密传输的双重功能。在一具体实施例中,客户端上已预先安装了对应的ssl客户端证书,并在进行数据交互之前,客户端已预先将该ssl客户端证书发送至代理服务端的数据库进行保存。
具体地,通常为了保证数据的可靠和保密性,客户端向服务端所发送的数据都为采用密钥或者ssl客户端证书进行加密后的密文数据,然后服务端再采用对应的密钥或ssl服务端证书,对接收到的客户端发送的密文数据进行解密,以校验双方身份的真实性。因此,在本实施例中,为了让服务端信任代理服务端即为客户端,当代理服务端获取到客户端发送的明文报文数据之后,需从数据库获取到ssl客户端证书中的加密密钥,对该明文报文数据进行加密,再将生成的密文报文数据发送至服务端,从而激活了代理服务端到服务端之间的"ssl加密通道"(ssl协议)。
S60:获取服务端响应于密文报文数据返回的目标密文数据,并采用ssl客户端证书对目标密文数据进行解密,生成目标明文数据。
其中,目标密文数据指服务端响应密文报文数据所生成的响应报文。由于密文报文数据中包含了客户端所要请求获取的数据的类型,当服务端通过ssl服务端证书对该密文报文数据进行解密后,会响应该密文报文数据返回一个对应类型的响应报文。进一步地,为了保证数据传输的可靠性和保密性,服务端在将生成的响应报文返回之前,会先采用ssl服务端证书对该响应报文进行加密,得到目标密文数据返回至客户端,该密文报文数据经代理服务端拦截,即代理服务端获取服务端响应于密文报文数据返回的目标密文数据。
具体地,目标密文数据包括响应行、响应首部和响应主体。响应行又称为起始行,包含http版本、状态码和原因短语3部分。响应行同样以CRLF字符结束,http版本、状态码、原因短语之间以空格隔开;如http版本为1.1,状态码为200,原因短语为OK。响应首部和请求首部相同,由键值对构成,以空行结束,以提供更多有关响应的信息。响应主体与请求主体相同,为可选的,接在请求首部的空行之后,包含了要发送给客户端的数据,可以包含任意的文本或二进制数据。
进一步地,代理服务端在获取到服务端响应于密文报文数据返回的目标密文数据之后,会采用ssl客户端证书中对应的解密密钥对该目标密文数据进行解密,从而生成目标明文数据。
S70:对目标明文数据进行录制,并将目标明文数据与明文报文数据进行关联存储至所述数据库。
具体地,本步骤中对目标明文数据进行录制的具体过程和方法,与步骤S40对明文报文数据进行录制的具体过程和方法相同,此处不做冗余赘述。需要说明的是,在对目标明文数据进行录制之后,为了便于后续的数据查询和查处理,需将该目标明文数据与步骤S40中对应的明文报文数据进行关联后再存储至数据库中。
S80:将目标明文数据发送至客户端。
具体地,在对目标明文数据进行录制并存储之后,再将该目标明文数据发送至客户端,以完成客户端与服务端之间的数据交互和录制。可以理解地,客户端与服务端之间的整个数据交互过程只涉及了对数据的一次加密和一次解密,相对比现有的数据交互过程,减少了两次加解密,从而提高了性能。
在本实施例中,通过获取客户端发送的http代理请求;根据http代理请求发送反馈信息至客户端;获取客户端根据反馈信息返回的明文报文数据,其中,明文报文数据为客户端将https协议替换成http协议后得到;对明文报文数据进行录制并存储至预设的数据库;采用ssl客户端证书对明文报文数据进行加密,生成密文报文数据发送至服务端;获取服务端响应于密文报文数据返回的目标密文数据,并采用ssl客户端证书对目标密文数据进行解密,生成目标明文数据;对目标明文数据进行录制,并将目标明文数据与明文报文数据进行关联存储至所述数据库;将目标明文数据发送至客户端;通过在客户端与服务端之间加入代理服务端,从而实现了在进行数据交互的过程中同时进行数据录制和存储,以便于后续对交互数据进行数据处理。另外地,整个数据交互过程只涉及了一个加密和解密过程,在保证数据交互的完整性和安全性的情况下,减少了加密次数,从而提高了数据交互的效率。
在一实施例中,如图3所示,对明文报文数据进行录制并存储至预设的数据库,具体包括如下步骤:
S401:对明文报文数据进行解析,确定明文报文数据的统一资源定位符和时间戳。
其中,统一资源定位符也称为URL,是网络资源的位置和访问方法的一种表示方式,主要由方案、主机、路径和查询字符串组成。时间戳通常是一个字符序列,用于唯一地标识某一刻的时间。在一具体实施例中,明文报文数据中包含有统一资源定位符和时间戳等数据信息,因此,需对明文报文数据进行解析,从该明文报文数据中提取出统一资源定位符和时间戳。具体地,可先根据统一资源定位符和时间戳的特点,采用特定的字符串或者预设字段对明文报文数据进行查询,将明文报文数据中出现上述特定的字符串或者预设字段确定为该明文报文数据的统一资源定位符和时间戳。或者,还可以直接采用OCR文字识别工具对明文报文数据进行识别,确定明文报文数据中的统一资源定位符和时间戳。
S402:以统一资源定位符和时间戳为索引,将明文报文数据存储至预设的数据库。
具体地,在确定了明文报文数据的统一资源定位符和时间戳之后,以统一资源定位符和时间戳为索引,将明文报文数据存储在数据库。即建立统一资源定位符、时间戳和明文报文数据三者之间的关联,从而便于后续可直接根据统一资源定位符或者时间戳从数据库获取到对应的明文报文数据。
在本实施例中,对明文报文数据进行解析,确定明文报文数据的统一资源定位符和时间戳;以统一资源定位符和时间戳为索引,将明文报文数据存储至预设的数据库;从而便于后续直接根据统一资源定位符或时间戳从数据库获取到对应的明文报文数据,提高了数据处理效率。
在一实施例中,如图4所示,在目标明文数据后发送至客户端之后,数据交互方法,还具体包括如下步骤:
S81:获取明文报文数据的第一请求头部和目标密文数据的第二请求头部,第一请求头部包括第一长连接属性,第二请求头部包括第二长连属性。
具体地,由步骤S30可知明文报文数据包括请求起始行、请求首部和请求主体,因此,在本步骤中,获取明文报文数据的请求首部作为明文报文数据的第一请求头部。由步骤S60可知目标密文数据包括响应行、响应首部和响应主体,因此,在本步骤中,获取目标密文数据的响应首部作为目标密文数据的第二请求头部。
S82:将第一长连接属性替换为第一短连接属性,以及将第二长连属性替换为第二短连接属性,以诱导客户端释放明文报文数据和诱导服务端释放目标密文数据。
具体地,由于http(s)协议里的keepalive属性,当keepalive属性不存在时或者属性为true时,客户端和服务端会保持长连接,因此,代理服务器端可通过将客户端发送的明文报文数据的第一请求头部的keepalive属性,和服务端发送的目标密文数据的第二请求头部的keepalive属性分别(没有则新增,有则更改)更改为false,即将第一请求头部和第二请求头部的长连接属性变成短连接属性,以诱导客户端和服务端自动释放链接,即诱导客户端释放明文报文数据和诱导服务端释放目标密文数据。
在本实施例中,在将目标明文数据后发送至客户端之后,分别将第一请求头部和第二请求头部的长连接属性替换为短连接属性,从而确保了客户端与服务端之间数据交互完成之后能够及时断开连接,降低服务端的资源损耗。在客户端与服务端进行数据交互时,采用短连接,使服务端与客户端的分层结构更加明显,降低两者之间的相互影响。同时,使用http协议进行数据传输,增加了数据传输效率,避免服务端为长连接的存活一直占用资源。例如:客户端和服务端每进行一次http操作,就需重新建立一次连接,任务结束就中断连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP链接。
在本实施例中,通过获取明文报文数据的第一请求头部和目标密文数据的第二请求头部,第一请求头部包括第一长连接属性,第二请求头部包括第二长连属性;将第一长连接属性替换为第一短连接属性,以及将第二长连属性替换为第二短连接属性,以诱导客户端释放明文报文数据和诱导服务端释放目标密文数据;从而确保了客户端与服务端之间数据交互完成之后能够及时断开连接,降低服务端的资源损耗。
在一实施例中,如图5所示,提供一种数据交互方法,以该方法应用在图1中的客户端为例进行说明,包括如下步骤:
S11:响应数据发送指令,数据发送指令包括http协议。
S12:基于http协议发送http代理请求至代理服务端。
S13:获取待理服务端根据http代理请求返回的反馈信息。
S14:根据反馈信息发送明文报文数据至代理服务端,以使代理服务端对明文报文数据进行加密后发送至服务端。
S15:获取代理服务端返回的目标明文数据,目标明文数据为代理服务端对服务端返回的目标密文数据进行解密后得到。
在本实施例中,当用户通过在客户端的浏览器访问某个HTML或其他类型的Web页时,客户端会响应数据发送指令,由于在响应数据发送指令之前,客户端已先将数据发送的https协议替换为http协议,因此该数据发送指令包括http协议,然后再基于该http协议发送http代理请求至代理服务端。代理服务端在获取到客户端发送的http代理请求之后,会返回一个反馈信息至客户端,以建立了客户端与代理服务端之间的连接。客户端在获取到待理服务端根据http代理请求返回的反馈信息之后,会发送明文报文数据至代理服务端,代理服务端对获取的明文报文数据进行录制后,加密生成密文报文数据后发送至服务端,服务端根据接收的密文报文数据返回一目标密文数据至代理服务端。代理服务端再对该目标密文数据进行解密生成目标明文数据,并对该目标明文数据进行录制后返回至客户端。客户端即可获取到代理服务端根据明文报文数据返回的目标明文数据,从而实现了同时对数据进行交互和录制。
在一实施例中,如图6所示,在响应数据发送指令之前,数据交互方法,还具体包括如下步骤:
S111:采用预设脚本对客户端的每一应用程序进行实时监听。
其中,预设脚本指可对客户端的每一应用程序进行实时监听和控制的脚本。可选地,该预设脚本可以为包含有js监听代码的脚本,以实现对客户端的每一应用程序的实时监听。在本实施例中,预设脚本为用户预先通过java编译好的二进制jar包,该jar包不但可对客户端的每一应用程序进行实时监听,还可以控制(hook)此客户端中的所有资源,包含每一应用程序运行时的内存状态、类、方法等。具体地,预先在客户端插入预设脚本,以对客户端的每一应用程序进行实时监听,当客户端的任一应用程序进程启动时,接管该应用进程,以便控制客户端中启动的应用程序的所有资源。
S112:若预设脚本检测到客户端的任意一目标应用程序发生变化,则获取目标应用程序对应的变化类型。
具体地,若预设脚本检测到客户端的任意一目标应用程序发生变化,则接管该目标应用进程,并监控该目标应用程序的所用资源,以进一步确定该目标应用程序的变化类型。可以理解地,通过预设脚本可以实时监听客户端中任意一目标应用程序的变动,包括目标应用程序的数据发送、数据接收和数据保存。通过预先对预设脚本的配置,可以对客户端中任意一目标应用程序的具体变动类型进行反馈。因此,在预设脚本检测到客户端的目标应用程序发生变化之后,客户端可直接确定该目标应用程序对应的变化类型,以进行对应的处理。
S113:若变化类型为数据发送,则采用目标应用程序中的http组件将进行数据发送时的https协议替换为http协议。
具体地,若变化类型为数据发送,即检测到客户端的某一目标应用程序开始向服务端发送请求报文数据,则采用该目标应用程序中的http组件将进行数据发送的https协议替换为http协议。例如:对于安卓客户端,由于客户端向服务端发送请求报文采用的是http组件。因此,预先采用预设脚本对客户端中每一应用程序的http组件进行实时监控,若发现某一目标应用程序有https报文将被发出时,则立即将该目标应用程序进行数据发送的https协议替换为http协议,以保证发送的请求报文为http请求报文。
在本实施例中,采用预设脚本对客户端的每一应用程序进行实时监听;若预设脚本检测到客户端的任意一目标应用程序发生变化,则获取目标应用程序对应的变化类型;若变化类型为数据发送,则采用目标应用程序中的http组件将进行数据发送时的https协议替换为http协议;从而保证了客户端发送的请求报文为http请求报文,便于后续的数据交互和录制。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种数据交互装置,该数据交互装置与上述实施例中数据交互方法一一对应。如图7所示,该数据交互装置包括http代理请求获取模块10、反馈信息发送模块20、明文报文数据获取模块30、第一录制模块40、加密模块50、目标密文数据获取模块60、第二录制模块70和目标明文数据发送模块80。各功能模块详细说明如下:
http代理请求获取模块10,用于获取客户端发送的http代理请求;
反馈信息发送模块20,用于根据http代理请求发送反馈信息至客户端;
明文报文数据获取模块30,用于获取客户端根据反馈信息返回的明文报文数据,其中,明文报文数据为客户端将https协议替换成http协议后得到;
第一录制模块40,用于对明文报文数据进行录制并存储至预设的数据库;
加密模块50,用于采用ssl客户端证书对明文报文数据进行加密,生成密文报文数据发送至服务端;
目标密文数据获取模块60,用于获取服务端响应于密文报文数据返回的目标密文数据,并采用ssl客户端证书对目标密文数据进行解密,生成目标明文数据;
第二录制模块70,用于对目标明文数据进行录制,并将目标明文数据与明文报文数据进行关联存储至数据库;
目标明文数据发送模块80,用于将目标明文数据发送至客户端。
优选地,如图8所示,第一录制模块40,包括:
解析单元401,用于对明文报文数据进行解析,确定明文报文数据的统一资源定位符和时间戳;
存储单元402,用于以统一资源定位符和时间戳为索引,将明文报文数据存储至预设的数据库。
优选地,如图9所示,数据交互装置,还包括:
请求头部获取模块81,用于获取明文报文数据的第一请求头部和目标密文数据的第二请求头部,第一请求头部包括第一长连接属性,第二请求头部包括第二长连属性;
替换模块82,用于将第一长连接属性替换为第一短连接属性,以及将第二长连属性替换为第二短连接属性,以诱导客户端释放明文报文数据和诱导服务端释放所述目标密文数据。
关于数据交互装置的具体限定可以参见上文中对于数据交互方法的限定,在此不再赘述。上述数据交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述实施例中数据交互方法所使用到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据交互方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中的数据交互方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中的数据交互方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据交互方法,其特征在于,所述数据交互方法应用于代理服务端,包括:
获取客户端发送的http代理请求;
根据所述http代理请求发送反馈信息至所述客户端;
获取所述客户端根据所述反馈信息返回的明文报文数据,其中,所述明文报文数据为所述客户端将https协议替换成http协议后得到;
对所述明文报文数据进行录制并存储至预设的数据库;
采用ssl客户端证书对所述明文报文数据进行加密,生成密文报文数据发送至服务端;
获取所述服务端响应于所述密文报文数据返回的目标密文数据,并采用所述ssl客户端证书对所述目标密文数据进行解密,生成目标明文数据;
对所述目标明文数据进行录制,并将所述目标明文数据与所述明文报文数据进行关联存储至所述数据库;
将所述目标明文数据发送至所述客户端。
2.如权利要求1所述的数据交互方法,其特征在于,所述对所述明文报文数据进行录制并存储至预设的数据库,包括:
对所述明文报文数据进行解析,确定所述明文报文数据的统一资源定位符和时间戳;
以所述统一资源定位符和所述时间戳为索引,将所述明文报文数据存储至预设的数据库。
3.如权利要求1所述的数据交互方法,其特征在于,所述在将所述目标明文数据发送至所述客户端之后,所述数据交互方法包括:
获取所述明文报文数据的第一请求头部和所述目标密文数据的第二请求头部,所述第一请求头部包括第一长连接属性,所述第二请求头部包括第二长连属性;
将所述第一长连接属性替换为第一短连接属性,以及将所述第二长连属性替换为第二短连接属性,以诱导所述客户端释放所述明文报文数据和诱导所述服务端释放所述目标密文数据。
4.一种数据交互方法,其特征在于,所述数据交互方法应用于客户端,包括:
响应数据发送指令,所述数据发送指令包括http协议;
基于所述http协议发送http代理请求至代理服务端;
获取所述待理服务端根据所述http代理请求返回的反馈信息;
根据所述反馈信息发送明文报文数据至所述代理服务端,以使所述代理服务端对所述明文报文数据进行加密后发送至服务端;
获取所述代理服务端返回的目标明文数据,所述目标明文数据为所述代理服务端对所述服务端返回的目标密文数据进行解密后得到。
5.如权利要求4所述的数据交互方法,其特征在于,所述在响应数据发送指令之前,所述数据交互方法还包括:
采用预设脚本对客户端中的每一应用程序进行实时监听;
若所述预设脚本检测到所述客户端的任意一目标应用程序发生变化,则获取所述目标应用程序对应的变化类型;
若所述变化类型为数据发送,则采用所述目标应用程序中的http组件将进行数据发送时的https协议替换为http协议。
6.一种数据交互装置,其特征在于,包括:
http代理请求获取模块,用于获取客户端发送的http代理请求;
反馈信息发送模块,用于根据所述http代理请求发送反馈信息至所述客户端;
明文报文数据获取模块,用于获取所述客户端根据所述反馈信息返回的明文报文数据,其中,所述明文报文数据为所述客户端将https协议替换成http协议后得到;
第一录制模块,用于对所述明文报文数据进行录制并存储至预设的数据库;
加密模块,用于采用ssl客户端证书对所述明文报文数据进行加密,生成密文报文数据发送至服务端;
目标密文数据获取模块,用于获取所述服务端响应于所述密文报文数据返回的目标密文数据,并采用所述ssl客户端证书对所述目标密文数据进行解密,生成目标明文数据;
第二录制模块,用于对所述目标明文数据进行录制,并将所述目标明文数据与所述明文报文数据进行关联存储至所述数据库;
目标明文数据发送模块,用于将所述目标明文数据发送至所述客户端。
7.如权利要求6所述的数据交互装置,其特征在于,所述第一录制模块,包括:
解析单元,用于对所述明文报文数据进行解析,确定所述明文报文数据的统一资源定位符和时间戳;
存储单元,用于以所述统一资源定位符和所述时间戳为索引,将所述明文报文数据存储至预设的数据库。
8.如权利要求6所述的数据交互装置,其特征在于,所述数据交互装置,还包括:
请求头部获取模块,用于获取所述明文报文数据的第一请求头部和所述目标密文数据的第二请求头部,所述第一请求头部包括第一长连接属性,所述第二请求头部包括第二长连属性;
替换模块,用于将所述第一长连接属性替换为第一短连接属性,以及将所述第二长连属性替换为第二短连接属性,以诱导所述客户端释放所述明文报文数据和诱导所述服务端释放所述目标密文数据。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述数据交互方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述数据交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119474.3A CN111428225A (zh) | 2020-02-26 | 2020-02-26 | 数据交互方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010119474.3A CN111428225A (zh) | 2020-02-26 | 2020-02-26 | 数据交互方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111428225A true CN111428225A (zh) | 2020-07-17 |
Family
ID=71547254
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010119474.3A Pending CN111428225A (zh) | 2020-02-26 | 2020-02-26 | 数据交互方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428225A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694757A (zh) * | 2020-08-04 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 应用程序的测试方法、装置、电子设备及计算机可读存储介质 |
CN112187774A (zh) * | 2020-09-23 | 2021-01-05 | 东南大学 | 一种基于http/2传输特征的加密数据长度还原方法 |
CN112188200A (zh) * | 2020-09-30 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 一种图像处理方法、装置、设备及储存介质 |
CN112286592A (zh) * | 2020-10-29 | 2021-01-29 | 平安普惠企业管理有限公司 | 资源数据的加载方法及装置、存储介质、计算机设备 |
CN112491991A (zh) * | 2020-11-17 | 2021-03-12 | 上海企翔智能科技有限公司 | 工业大数据处理方法、装置和计算机设备 |
CN112583926A (zh) * | 2020-12-23 | 2021-03-30 | 平安银行股份有限公司 | 短连切换方法、系统、计算机设备和存储介质 |
CN113709231A (zh) * | 2021-08-24 | 2021-11-26 | 广州文远知行科技有限公司 | 一种数据包加载方法、客户端、服务器、设备及存储介质 |
CN113886892A (zh) * | 2021-08-31 | 2022-01-04 | 盐城金堤科技有限公司 | 应用程序的数据获取方法和装置、及存储介质和电子设备 |
CN115277236A (zh) * | 2022-08-01 | 2022-11-01 | 福建天晴在线互动科技有限公司 | 一种对域名进行请求分析的方法及其系统 |
CN115982109A (zh) * | 2023-03-20 | 2023-04-18 | 北京飞轮数据科技有限公司 | 数据同步方法、装置、电子设备和计算机可读介质 |
CN116032545A (zh) * | 2022-12-06 | 2023-04-28 | 北京中睿天下信息技术有限公司 | 一种ssl或tls流量多级过滤方法和系统 |
CN117729253A (zh) * | 2024-02-18 | 2024-03-19 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
-
2020
- 2020-02-26 CN CN202010119474.3A patent/CN111428225A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111694757A (zh) * | 2020-08-04 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 应用程序的测试方法、装置、电子设备及计算机可读存储介质 |
CN112187774A (zh) * | 2020-09-23 | 2021-01-05 | 东南大学 | 一种基于http/2传输特征的加密数据长度还原方法 |
CN112188200A (zh) * | 2020-09-30 | 2021-01-05 | 深圳壹账通智能科技有限公司 | 一种图像处理方法、装置、设备及储存介质 |
CN112286592A (zh) * | 2020-10-29 | 2021-01-29 | 平安普惠企业管理有限公司 | 资源数据的加载方法及装置、存储介质、计算机设备 |
CN112491991A (zh) * | 2020-11-17 | 2021-03-12 | 上海企翔智能科技有限公司 | 工业大数据处理方法、装置和计算机设备 |
CN112583926A (zh) * | 2020-12-23 | 2021-03-30 | 平安银行股份有限公司 | 短连切换方法、系统、计算机设备和存储介质 |
CN112583926B (zh) * | 2020-12-23 | 2023-04-07 | 平安银行股份有限公司 | 短连切换方法、系统、计算机设备和存储介质 |
CN113709231B (zh) * | 2021-08-24 | 2024-02-20 | 广州文远知行科技有限公司 | 一种数据包加载方法、客户端、服务器、设备及存储介质 |
CN113709231A (zh) * | 2021-08-24 | 2021-11-26 | 广州文远知行科技有限公司 | 一种数据包加载方法、客户端、服务器、设备及存储介质 |
CN113886892A (zh) * | 2021-08-31 | 2022-01-04 | 盐城金堤科技有限公司 | 应用程序的数据获取方法和装置、及存储介质和电子设备 |
CN113886892B (zh) * | 2021-08-31 | 2024-02-23 | 盐城天眼察微科技有限公司 | 应用程序的数据获取方法和装置、及存储介质和电子设备 |
CN115277236A (zh) * | 2022-08-01 | 2022-11-01 | 福建天晴在线互动科技有限公司 | 一种对域名进行请求分析的方法及其系统 |
CN115277236B (zh) * | 2022-08-01 | 2023-08-18 | 福建天晴在线互动科技有限公司 | 一种对域名进行请求分析的方法及其系统 |
CN116032545A (zh) * | 2022-12-06 | 2023-04-28 | 北京中睿天下信息技术有限公司 | 一种ssl或tls流量多级过滤方法和系统 |
CN116032545B (zh) * | 2022-12-06 | 2024-03-22 | 北京中睿天下信息技术有限公司 | 一种ssl或tls流量多级过滤方法和系统 |
CN115982109A (zh) * | 2023-03-20 | 2023-04-18 | 北京飞轮数据科技有限公司 | 数据同步方法、装置、电子设备和计算机可读介质 |
CN117729253A (zh) * | 2024-02-18 | 2024-03-19 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
CN117729253B (zh) * | 2024-02-18 | 2024-05-03 | 上海任意门科技有限公司 | 一种聊天场景复现方法、系统、存储介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428225A (zh) | 数据交互方法、装置、计算机设备及存储介质 | |
US20220321543A1 (en) | Systems and methods for secure communication over a network using a linking address | |
CN110870277B (zh) | 将中间盒引入到客户端与服务器之间的安全通信中 | |
US9992180B2 (en) | Systems and methods for protecting communications between nodes | |
US7702901B2 (en) | Secure communications between internet and remote client | |
EP2850770B1 (en) | Transport layer security traffic control using service name identification | |
CA2905583C (en) | Secure network communication | |
JP5978759B2 (ja) | サービス要求装置、サービス提供システム、サービス要求方法およびサービス要求プログラム | |
CN113067828B (zh) | 报文处理方法、装置、服务器、计算机设备及存储介质 | |
US20180006816A1 (en) | Session key repository | |
EP3334115B1 (en) | User authentication based on token | |
CN105429962B (zh) | 一种通用的面向加密数据的中间网络服务构建方法与体系 | |
CN114938312B (zh) | 一种数据传输方法和装置 | |
US11716374B2 (en) | Forced identification with automated post resubmission | |
CN113472634A (zh) | 即时通讯方法、装置及系统、存储介质、电子装置 | |
CN113347157B (zh) | 一种基于SM系列加密算法的Web应用加密系统及方法 | |
Hsu et al. | The design and implementation of a lightweight CoAP-based IoT framework with smart contract security guarantee | |
CN111031065B (zh) | 一种文件传输方法、系统、客户端及防火墙 | |
CN116827917A (zh) | 网络通信方法、装置、设备及存储介质 | |
CN114244569A (zh) | Ssl vpn远程访问方法、系统和计算机设备 | |
CN117319466A (zh) | 计算机远程控制方法、系统、计算机设备和存储介质 | |
Jemel et al. | Toward user's devices collaboration to distribute securely the client side storage | |
Kova et al. | Migrating a HoneyDepot to Hardware |
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 |