CN115499345A - 数据测试方法、装置及存储介质、计算机产品 - Google Patents
数据测试方法、装置及存储介质、计算机产品 Download PDFInfo
- Publication number
- CN115499345A CN115499345A CN202211159751.9A CN202211159751A CN115499345A CN 115499345 A CN115499345 A CN 115499345A CN 202211159751 A CN202211159751 A CN 202211159751A CN 115499345 A CN115499345 A CN 115499345A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- information
- port information
- testing
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 204
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000005540 biological transmission Effects 0.000 claims description 36
- 230000006854 communication Effects 0.000 claims description 27
- 238000004891 communication Methods 0.000 claims description 26
- 238000011144 upstream manufacturing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000012790 confirmation Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/14—Arrangements for monitoring or testing data switching networks using software, i.e. software packages
Abstract
本发明提供了一种数据测试方法、装置及存储介质及计算机产品,应用于计算机及互联网技术领域,方法包括:通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;解析第一流量数据,确定出本地的目标堆栈;通过目标堆栈将第一流量数据转化成上行流量数据,并发送给目标服务器;拦截获取下行数据,所述下行数据是所述目标服务器响应上行流量数据反馈的;根据下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。由于本方案可以直接拦截获取预定客户端发送的第一流量数据,实现了本地网络代理,无需依赖外部资源,进而提高了软件数据测试的效率。
Description
技术领域
本发明实施例涉及计算机及互联网技术领域,尤其涉及一种数据测试方法、装置及存储介质、计算机产品。
背景技术
随着智能手机的普及,移动软件(application,APP)测试越来越重要。其中,网络专项测试能够有效测试APP的功能及稳定性,主要包括网络数据抓包和弱网络测试。目前常见的网络数据抓包和弱网络测试均采用网络代理的模式。其中,第一种方式是移动设备连接电脑,进行网络之间互连的协议(Internet Protocol,IP)代理,使用第三方抓包工具(Charles,Fiddler,Wireshark等)进行抓包或弱网测试。第二种方式是在外部搭建专用代理服务器,移动设备将网络代理至服务器实现测试。这两种方式要么需要在移动设备的Wi-Fi中设置代理IP,过程繁琐,要么需要在外部搭建专用的代理服务器,过程同样繁琐,进而导致的测试效率较低。
发明内容
本发明实施例提供的一种数据测试方法、装置及存储介质、计算机产品,可以提高对软件数据测试的效率。
本发明的技术方案是这样实现的:
本发明实施例提供了一种数据测试方法,包括:
通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;
解析所述第一流量数据,确定出本地的目标堆栈;
通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器;
拦截获取下行数据,所述下行数据是所述目标服务器响应所述上行流量数据反馈的;
根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。
上述方案中,所述通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据,包括:
通过所述预设虚拟专用网拦截所述第一流量数据,利用所述预设虚拟专用网的虚拟网络接口将所述第一流量数据转发到数据隧道,以在所述数据隧道中读取到所述第一流量数据。
上述方案中,所述解析所述第一流量数据,确定出本地的目标堆栈,包括:
解析所述第一流量数据,根据得到的所述第一流量数据的头部信息结构确定出所述目标堆栈;所述目标堆栈包括:传输控制协议堆栈、网际互连协议堆栈和用户数据报协议堆栈。
上述方案中,所述第一流量数据包括:传输控制协议数据;所述传输控制协议数据包括:目标地址信息、目标端口信息、源地址信息、源端口信息和负载数据;所述目标堆栈包括:所述传输控制协议堆栈;
所述通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器,包括:
通过所述传输控制协议堆栈利用本地的代理端口信息更新传输控制协议数据的所述源端口信息,结合源地址信息、所述目标地址信息、目标端口信息和负载数据形成所述上行流量数据;
将所述上行流量数据根据传输控制协议发送给所述目标服务器。
上述方案中,所述第一流量数据包括:用户数据报协议数据;所述用户数据报协议数据包括:第二目标端口信息、第二源端口信息和第二负载数据;所述目标堆栈包括:所述用户数据报协议堆栈;
所述通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器,包括:
通过所述用户数据报协议堆栈利用本地的第二代理端口信息更新所述用户数据报协议数据的所述第二源端口信息,结合所述第二目标端口信息和所述第二负载数据形成所述上行流量数据;
将所述上行流量数据根据用户数据报协议发送给所述目标服务器。
上述方案中,所述通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据之前,所述方法还包括:
拦截获取所述预定客户端与所述目标服务器的首次通信数据流;
在所述首次通信数据流中获取所述目标地址信息、所述目标端口信息、所述源地址信息和所述源端口信息,并以所述源端口信息为索引,将所述目标地址信息、所述目标端口信息和所述源地址信息进行映射存储。
上述方案中,所述下行数据包括:所述源地址信息;
所述根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果,包括:
通过所述源地址信息在本地提取出所述源端口信息,利用所述源端口信息更新所述下行数据中的头部信息,以得到所述第二流量数据;所述会话控制信息包括:所述源端口信息;
将所述第二流量数据传输给所述数据隧道,通过虚拟网络接口在所述数据隧道提取所述第二流量数据,以进行测试得到所述测试结果。
上述方案中,所述方法还包括:
以所述第二源端口信息为索引,将所述第二目标端口信息进行映射存储。
上述方案中,所述下行数据包括:响应数据,所述响应数据中携带有所述第二目标端口信息;
所述根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果,包括:
根据所述第二目标端口信息在本地提取出所述第二源端口信息;所述会话控制信息包括:所述第二源端口信息;
利用所述第二源端口信息更新所述响应数据的头部信息,得到所述第二流量数据;
将所述第二流量数据传输给所述数据隧道,通过虚拟网络接口在所述数据隧道提取所述第二流量数据,以进行测试得到所述测试结果。
本发明实施例还一种数据测试装置,包括:
数据获取单元,用于通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;
解析单元,用于解析所述第一流量数据,确定出本地的目标堆栈;
发送单元,用于通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器;
所述数据获取单元,用于拦截获取下行数据,所述下行数据是所述目标服务器响应所述上行流量数据反馈的;
测试单元,用于根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。
本发明实施例还提供了一种数据测试装置,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
本发明实施例还提供了一种计算机产品,包括一个或多个处理器,所述处理器被配置成运行计算机指令,以实现上述的数据测试方法。
本发明实施例中,通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;解析第一流量数据,确定出本地的目标堆栈;通过目标堆栈将第一流量数据转化成上行流量数据,并发送给目标服务器;拦截获取下行数据,下行数据是目标服务器响应上行流量数据反馈的;根据下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。由于本方案可以直接拦截获取预定软件发送的第一流量数据,实现了本地网络代理,无需依赖外部资源,进而提高了软件数据测试的效率。
附图说明
图1为本发明实施例提供的数据测试方法的一个可选的流程示意图;
图2为本发明实施例提供的数据测试方法的一个可选的效果示意图;
图3为本发明实施例提供的数据测试方法的一个可选的效果示意图;
图4为本发明实施例提供的数据测试方法的一个可选的流程示意图;
图5为本发明实施例提供的数据测试方法的一个可选的效果示意图;
图6为本发明实施例提供的数据测试方法的一个可选的效果示意图;
图7为本发明实施例提供的数据测试方法的一个可选的流程示意图;
图8为本发明实施例提供的数据测试方法的一个可选的效果示意图;
图9为本发明实施例提供的数据测试装置的结构示意图;
图10为本发明实施例提供的数据测试装置的一种硬件实体示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和实施例对本发明的技术方案进一步详细阐述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果发明文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
图1为本发明实施例提供的数据测试方法的一个可选的流程示意图,将结合图1示出的步骤进行说明。
S101、通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据。
本发明实施例中,测试客户端通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据。
本发明实施例中,测试客户端和预定客户端都属于同一终端设备,该终端设备可以是(iPhone Operating System,IOS)终端也可以是安卓终端设备。
本发明实施例中,用户可以通过测试客户端在多个客户端中确定出至少一个预定客户端,进而用测试客户端检测预定客户端的数据情况。示例性的,用户可以在测试客户端的页面中,给预定客户端进行标记。标记之后,测试客户端会拦截预定客户端发送的第一流量数据。
本发明实施例中,当终端设备为IOS终端时,测试客户端是基于NetworkExtension(NE)框架搭建出虚拟专用网(Virtual Private Network,VPN)来获取预定客户端的互联网协议地址(Internet Protocol Address,IP)数据包(第一流量数据)。其中,Network Extension是用于配置虚拟专用网络和定制、扩展核心网络功能的框架。NE框架提供了可用于定制、扩展IOS和MacOS系统的核心网络功能的应用程序编程接口(ApplicationProgrammingInterface,API)。VPN将专用网络延伸到公共网络上,使测试客户端能够在共享或公共网络上发送和接收数据。
S102、解析第一流量数据,确定出本地的目标堆栈。
本发明实施例中,测试客户端解析第一流量数据,确定出本地的目标堆栈。
本发明实施例中,测试客户端解析第一流量数据,提取出第一流量数据的头部信息。若头部信息包括:目标IP、目标端口、源IP、源端口、序列号、确认号和校验和,则确定传输控制协议堆栈为目标堆栈。若头部信息包括:源端口、目的端口、长度和检验和,则确定用户数据报协议堆栈为目标堆栈。
本发明实施例中,测试客户端解析第一流量数据,若第一流量数据为传输控制协议数据,则确定传输控制协议堆栈为目标堆栈。若第一流量数据为用户数据报协议数据,则确定用户数据报协议堆栈为目标堆栈。
S103、通过目标堆栈将第一流量数据转化成上行流量数据,并发送给目标服务器。
本发明实施例中,测试客户端通过目标堆栈将第一流量数据转化成上行流量数据,并发送给目标服务器。
本发明实施例中,测试客户端通过目标堆栈把第一流量数据中的源端口信息更新为本地的代理端口信息,结合第一流量数据中的其他头部信息及负载数据进而形成上行流量数据。测试客户端再通过传输控制协议(Transmission Control Protocol,TCP)套接字客户端或者用户数据报协议(User Datagram Protocol,UDP)套接字客户端将上行流量数据发送给目标服务器。其中,TCP套接字客户端采用标准的套接字库实现,通过非阻塞的方式进行TCP连接和数据发送。UDP套接字客户端基于socket无连接的方式直接发送数据至远程服务器,无需等待数据响应。
示例性的,结合图2,测试客户端100主要包括:网络扩展模块200、数据包转发模块300、数据包控制模块400三部分。其中,网络扩展模块200采用Network Extension框架搭VPN来获取系统预定应用的IP数据包。数据包转发模块300解析获取的IP数据包并将其转发至目标服务器,数据包控制模块400用于在转发数据包前进行测试需求(抓包、弱网控制等)。
网络扩展模块200将预定客户端网络通信的IP数据包路由到虚拟网络接口202,虚拟网络接口202将其转发到数据隧道201,从数据隧道201中读取数据包并转发给数据包转发模块300。数据包转发模块300分为UDP转发模块302和TCP转发模块301。测试客户端根据苹果Network Extension框架的规则,由网络扩展模块200的虚拟网络接口202读取的IP数据包转发到数据包转发模块300。数据包转发模块300主要功能为解析获取的IP数据包,将IP数据包根据对应协议转发至目标服务器,接收目标服务器的响应数据并封装成IP数据包后写入网络扩展模块200。由于IOS在root权限的情况下,禁止使用原始套接字让操作系统转发数据包。因此,本方案采取自定义UDP堆栈、TCP/IP堆栈获取数据包有效负载,并通过标准套接字将数据发送到目标服务器。
S104、拦截获取下行数据,下行数据是目标服务器响应上行流量数据反馈的。
本发明实施例中,测试客户端拦截获取下行数据,下行数据是目标服务器响应上行流量数据反馈的。
本发明实施例中,目标服务器接收到转发的上行流量数据之后,形成对应的下行数据并将下行流量数据发送到公共网络上,测试客户端在公共网络上拦截得到下行数据。
本发明实施例中,若上行流量数据是测试客户端根据传输控制协议发送给目标服务器的,则目标服务器反馈的下行数据中包括响应数据。若上行流量数据是测试客户端根据用户数据报协议发送给目标服务器的,则目标服务器反馈的下行数据中包括一个编号信息和响应请求信息。
本发明实施例中,若第一流量数据为TCP数据,则测试客户端通过TCP套接字消息监听器监听获取到目标服务器反馈的下行数据。若第一流量数据为UDP数据,则测试客户端通过UDP套接字消息监听器监听获取到目标服务器反馈的下行数据。
为提升数据转发效率,本方案中TCP消息的发送和接收分别实现一个线程进行处理,避免因为网络延时等待造成的阻塞。TCP套接字客户端只负责建立连接、发送消息,TCP套接字消息监听器则用于监听服务器响应并读取响应数据。TCP套接字消息监听器采用kqueue机制,kqueue是一种输入/输出(Input/Output,IO)复用技术,可以监听socket(Socket:也称为套接字接口,socket是一种操作系统提供的进程间通信机制。在操作系统中,通常会为应用程序提供一组应用程序接口,应用程序可以通过套接字接口,来使用网络套接字,以进行数据交换的读写变化,每当存在一个TCP连接存在响应数据会立即触发事件进行读取。为提升数据转发效率,本方案中UDP消息的发送和接收分别实现一个线程进行处理,避免因为网络延时等待造成的阻塞。UDP客户端只负责发送消息,UDP消息监听器则用于监听服务器响应并读取响应数据。
S105、根据下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。
本发明实施例中,测试客户端根据下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。
本发明实施例中,当第一流量数据为TCP数据时,测试客户端的TCP堆栈在预定客户端与目标服务器的首次通信流量数据中提取出会话控制信息进行存储,后续目标服务器反馈回来下行数据后,测试客户端的TCP堆栈提取出该会话控制信息对下行数据的头部信息进行更新,得到第二流量数据进行测试,得到测试结果。
本发明实施例中,当第一流量数据为UDP数据时,测试客户端的UDP堆栈在第一流量数据提取出会话控制信息进行存储,后续目标服务器反馈回来下行数据请求响应后,测试客户端的TCP堆栈根据下行数据提取出该会话控制信息对下行数据的头部信息进行更新,得到第二流量数据进行测试,得到测试结果。
示例性的,结合图3,数据包转发模块300实现了IOS应用的本地网络代理,网络扩展模块200可以拦截IOS应用所有IP数据包,并通过数据包转发模块300转发至目标服务器500实现正常网络通信。在本地网络代理的基础上,数据包控制模块400用于对拦截的数据包和目标服务器500响应的数据包进行控制、修改、拦截等,实现多样化的移动应用网络测试场景。
数据包控制模块400以插件化的方式在测试客户端100应用中进行开发,以拦截器的模式在代理中生效。数据包控制模块400的拦截点主要在预定客户端上行流量、测试端上行流量、测试端下行流量、预定客户端下行流量四个位置。本发明实现了弱网络测试场景的数据包控制模块400,具体包括上行流量延迟、上行流量丢包、下行流量延迟、下行流量丢包等多个指标,在IP协议层上控制数据包的通信速率和通信成功率。数据包控制模块400能够根据需求实现弱网络测试、数据包嗅探、数据包拦截、数据包重定向等多样化的测试场景。
本发明实施例中,通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;解析第一流量数据,确定出本地的目标堆栈;通过目标堆栈将第一流量数据转化成上行流量数据,并发送给目标服务器;拦截获取目标服务器响应上行流量数据,反馈的下行数据;根据下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。由于本方案可以直接拦截获取预定软件发送的第一流量数据,实现了本地网络代理,无需依赖外部资源,进而提高了软件数据测试的效率。
在一些实施例中,参见图4,图4为本发明实施例提供的数据测试方法的一个可选的流程示意图,图1示出的S101-S103可以通过S106至S111实现,将结合各步骤进行说明。
S106、拦截获取预定客户端与目标服务器的首次通信数据流。
本发明实施例中,测试客户端拦截获取预定客户端与目标服务器的首次通信数据流。
本发明实施例中,测试客户端通过预设虚拟专用网拦截预定客户端与目标服务器的首次通信数据流。
S107、在首次通信数据流中获取目标地址信息、目标端口信息、源地址信息和源端口信息,并以源端口信息为索引,将目标地址信息、目标端口信息和源地址信息进行映射存储。
本发明实施例中,测试客户端在首次通信数据流中获取目标地址信息、目标端口信息、源地址信息和源端口信息,并以源端口信息为索引,将目标地址信息、目标端口信息和源地址信息进行映射存储。
本发明实施例中,测试客户端在首次通信数据流中获取目标地址信息、目标端口信息、源地址信息、源端口信息、序列号、确认号和校验和。测试客户端以源端口信息为索引,将目标地址信息、目标端口信息、源地址信息、序列号、确认号和校验和进行映射存储。
示例性的,测试客户端可以以源端口信息为索引,将目标地址信息、目标端口信息、源地址信息、序列号、确认号和校验和存储在session列表中。
S108、通过预设虚拟专用网拦截第一流量数据,利用预设虚拟专用网的虚拟网络接口将第一流量数据转发到数据隧道,以在数据隧道中读取到第一流量数据。
本发明实施例中,测试客户端通过预设虚拟专用网拦截第一流量数据,利用预设虚拟专用网的虚拟网络接口将第一流量数据转发到数据隧道,以在数据隧道中读取到第一流量数据。
示例性的,结合图5,预定客户端600网络通信的IP数据包将路由到UTUN0虚拟网络接口202并转发到NEPacketTunnelProvider(数据隧道201),网络扩展模块200从NEPacketTunnelProvider中读取数据包并通过数据包转发模块300转发至目标服务器500。
S109、解析第一流量数据,根据得到的第一流量数据的头部信息结构确定出目标堆栈。
本发明实施例中,测试客户端解析第一流量数据,根据得到的第一流量数据的头部信息结构确定出目标堆栈。所述目标堆栈包括:传输控制协议堆栈、网际互连协议堆栈和用户数据报协议堆栈。
本发明实施例中,由于TCP数据的头部信息中包括:目标IP、目标端口、源IP、源端口、序列号、确认号和校验和,而UDP数据的头部信息中包括:源端口、目的端口、长度和检验和。两者存在明显的差异信息,进而测试客户端可以根据第一流量数据的头部信息中是否包括目标IP、和源IP来确定出目标堆栈是传输控制协议堆栈还是用户数据报协议堆栈。
S110、通过传输控制协议堆栈利用本地的代理端口信息更新传输控制协议数据的源端口信息,结合源地址信息、目标地址信息、目标端口信息和负载数据形成上行流量数据。
本发明实施例中,测试客户端通过传输控制协议堆栈利用本地的代理端口信息更新传输控制协议数据的源端口信息,结合源地址信息、目标地址信息、目标端口信息和负载数据形成上行流量数据。其中,第一流量数据包括:传输控制协议数据;传输控制协议数据包括:目标地址信息、目标端口信息、源地址信息、源端口信息和负载数据;目标堆栈包括:传输控制协议堆栈。
本发明实施例中,测试客户端通过传输协议控制堆栈利用本地的代理端口信息,更新传输控制协议数据的源端口信息,结合源地址信息、目标地址信息、目标端口信息、序列号、确认号、校验和和负载数据形成上行流量数据。测试客户端再通过TCP套接字客户端将上行流量数据发送给目标服务器。
示例性的,结合图6,TCP转发模块301如图所示,包括TCP/IP堆栈3011、TCP套接字客户端3012、TCP套接字消息监听器3013三部分。TCP/IP堆栈3011用于接收网络扩展模块200转发的TCP数据报文,并对TCP数据报文解析、组装TCP数据包、处理http/https协议规则。TCP套接字客户端3012用于将数据转发到具有相应IP和端口的目标服务器500。TCP套接字消息监听器3013用于监听目标服务器的响应数据。
由于TCP协议是面向连接的协议,存在三次握手和四次挥手的过程,因此处理TCP数据包需区分具有不同TCP标志的TCP数据包。针对同时存在不同的TCP连接,TCP转发模块301会维护一个session(Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session对象存储特定用户会话所需的属性及配置信息,本发明中存储对象为TCP连接会话的配置信息)列表,用于管理所有的TCP连接。处理流程具体如下:
TCP建立联机(synchronous,SYN):该数据包表示TCP三次握手的握手请求,需要以TCP SYN-确认字符(Acknowledge character,ACK)数据包进行响应。因此,TCP转发模块301创建一个标准的TCP报文模板,更新目标IP、目标端口、源IP、源端口、序列号、确认号、校验和,从而创建一个新的IP数据包,并写回网络扩展模块的虚拟网口;同时,以源端口为索引,以目标IP、目标端口、源IP、源端口、序列号、确认号为元数据创建session信息;TCP套接字客户端根据目标IP和目标端口等信息建立TCP连接,并在session信息中设置该sockfd(sockfd:代表一次socket连接的文件句柄,网络通信只需要像对待普通文件一样往这个文件句柄中读写数据即可实现socket通信的过程)供后续通信使用;最后该session信息会加入session列表用于管理。sockfd:代表一次socket连接的文件句柄,网络通信只需要像对待普通文件一样往这个文件句柄中读写数据即可实现socket通信的过程。
TCP ACK:接收TCP ACK数据包,提取源端口从缓存中提取session信息,并更新序列号和确认号。
TCP FIN(finish):TCP FIN数据包表示请求断开TCP连接。从session列表中取出对应session,TCP转发模块301会更新该session的序列号和确认号,然后关闭该session对应的TCP套接字客户端3012,TCP套接字客户端3012关闭完成后,创建一个新的TCP FIN-ACK数据包,并写回网络扩展模块的虚拟网口。
TCP PUSH:接收包含数据的TCP包,从session列表中取出对应session,提取TCP有效负载并通过TCP套接字客户端3012发送至目标服务器500。更新序列号和确认号,创建并写回一个新的TCP ACK数据包以确认收到的数据包,并写回网络扩展模块的虚拟网口。
TCP网络复位(Ram Stress Test,RST):表示异常连接关闭,不做回复,从session列表中取出对应session,关闭该session对应的TCP套接字,清理数据。
TCP转发模块301接收的TCP数据会发送至自定义TCP/IP堆栈模块,从session列表中取出对应session,创建一个标准的TCP数据报头,将数据部分和报头部分合成一个完整的IP数据包,根据数据长度更新序列号、确认号、检验和,并写回网络扩展模块的虚拟网口。
S111、将上行流量数据根据传输控制协议发送给目标服务器。
本发明实施例中,测试客户端将上行流量数据根据传输控制协议发送给目标服务器。
本发明实施例中,当第一流量数据为TCP数据时,测试客户端可以通过TCP堆栈对第一流量数据的头部信息进行更新,进而转发给目标服务器,节省了在外部构建代理服务器的过程,进而提高了软件数据测试的效率。
在一些实施例中,参见图4,图4为本发明实施例提供的数据测试方法的一个可选的流程示意图,图1示出的S105可以通过S112至S113实现,将结合各步骤进行说明。
S112、通过源地址信息在本地提取出源端口信息,利用源端口信息更新下行数据中的头部信息,以得到第二流量数据。
本发明实施例中,测试客户端通过源地址信息在本地提取出源端口信息,利用源端口更新下行数据中的头部信息,以得到第二流量数据。
其中,回话控制信息包括:源端口信息。
本发明实施例中,由于预先以源端口信息为索引,将目标地址信息、目标端口信息和源地址信息进行映射存储。所以测试客户端可以通过源地址信息在本地提取出源端口信息。
本发明实施例中,测试客户端将源端口信息替换掉下行数据中的头部信息的目标端口,进而结合其他的头部信息及负载数据形成第二流量数据。
本发明实施例中,测试客户端通过源地址信息在本地提取出序列号和确认号,利用序列号和确认号将更新后的下行数据进行重组,以得到第二流量数据。
S113、将第二流量数据传输给数据隧道,通过虚拟网络接口在数据隧道提取第二流量数据,以进行测试得到测试结果。
本发明实施例中,测试客户端将第二流量数据传输给数据隧道,通过虚拟网络接口在数据隧道提取第二流量数据,以进行测试得到测试结果。
本发明实施例中,测试客户端接收到目标服务器反馈的下行数据之后,利用预先存储的会话控制信息,更新下行数据的头部信息,完成数据的组装,以供进行测试,不需要对所属设备进行配置,节省了测试时间。
在一些实施例中,参见图7,图7为本发明实施例提供的数据测试方法的一个可选的流程示意图,图1示出的S103可以通过S114至S116实现,将结合各步骤进行说明。
S114、以第二源端口信息为索引,将第二目标端口信息进行映射存储。
本发明实施例中,测试客户端以第二源端口信息为索引,将第二目标端口信息进行映射存储。
本发明实施例中,测试客户端还可以根据用户数据报协议数据中形成文件句柄,并以该文件句柄为索引,将第二目标端口信息和第二源端口信息存储在session列表中。
S115、通过用户数据报协议堆栈利用本地的第二代理端口信息更新用户数据报协议数据的第二源端口信息,结合第二目标端口信息和第二负载数据形成上行流量数据。
本发明实施例中,测试客户端通过用户数据报协议堆栈利用本地的第二代理端口信息更新用户数据报协议数据的第二源端口信息,结合第二目标端口信息和第二负载数据形成上行流量数据。
本发明实施例中,测试客户端通过用户数据报协议堆栈利用本地的第二代理端口信息更新用户数据报协议数据的第二源端口信息,结合上述形成的文件句柄、第二目标端口信息、长度、检验和第二负载数据形成上行流量数据。
S116、将上行流量数据根据用户数据报协议发送给目标服务器。
本发明实施例中,测试客户端将上行流量数据根据用户数据报协议发送给目标服务器。
本发明实施例中,测试客户端将上行流量数据根据用户数据报协议,通过UDP套接字客户端发送给目标服务器。
本发明实施例中,当第一流量数据为UDP数据时,测试客户端可以提取出第一流量数据的会话控制信息进行存储,通过确定出的UDP堆栈对第一流量数据的头部信息进行更新,进而转发给目标服务器,节省了在外部构建代理服务器的过程,进而提高了软件数据测试的效率。
在一些实施例中,参见图7,图7为本发明实施例提供的数据测试方法的一个可选的流程示意图,图1示出的S105可以通过S117至S119实现,将结合各步骤进行说明。
S117、根据第二目标端口信息在本地提取出第二源端口信息。
本发明实施例中,下行数据包括:响应数据,响应数据中携带有第二目标端口信息。测试客户端根据第二目标端口信息在本地提取出第二源端口信息。
本发明实施例中,下行数据还可以包括:文件句柄和响应数据。测试客户端可以根据文件句柄在session列表提取出第二目标端口信息和第二源端口信息。
S118、利用第二源端口信息更新响应数据的头部信息,得到第二流量数据。
本发明实施例中,测试客户端利用第二源端口信息更新响应数据的头部信息,得到第二流量数据。
本发明实施例中,测试客户端利用第二源端口信息替换掉响应数据中的头部信息的目标端口,进而结合其他的头部信息及负载数据形成第二流量数据。
S119、将第二流量数据传输给数据隧道,通过虚拟网络接口在数据隧道提取第二流量数据,以进行测试得到测试结果。
本发明实施例中,测试客户端将第二流量数据传输给数据隧道,通过虚拟网络接口在数据隧道提取第二流量数据,以进行测试得到测试结果。
示例性的,结合图5,UDP数据包写入:数据包转发模块300从目标服务器接收的响应数据,经过封装后传输给NEPacketTunnelProvider(数据隧道201),接着通过UTUN0接口(虚拟网络接口201)将它们注入到网络传输堆栈,最后经过测试之后通过网络协议栈将数据包返回给预定客户端600。
示例性的,结合图8,UDP转发模块302包括UDP堆栈3021、UDP客户端3022、UDP消息监听器3023三部分。UDP堆栈3021包括UDP数据包解析器。UDP数据包解析器用于解析UDP协议的IP数据包和组装UDP数据包。UDP客户端3022用于将UDP消息发送至目标服务器500,UDP消息监听器3023用于监听目标服务器的响应数据。主要流程如下:
步骤A:测试客户端启动后,UDP消息监听器3023会作为一个独立线程持续运行,采用kqueue机制监听kevent事件列表。kevent由一对<ident,filter>进行标识。标识符ident可以是一个描述符(文件、套接字、流)、进程ID或信号量,这取决于要监视的内容。筛选器filter标识用于处理相应事件的内核筛选器。有一些预先定义的系统筛选器,当有可进行读取或写入操作的数据时,可分别被触发。
步骤B:UDP转发模块302获取网络扩展模块200拦截的UDP协议的IP数据包,UDP堆栈3021根据IP和UDP数据报文结构,提取目标服务器500IP、端口以及数据负载,并记录到session列表。
步骤C:UDP客户端3022基于socket发送数据负载至对应目标服务器500,并记录下sockfd创建一个kevent事件加入监听列表。
步骤D:UDP消息监听器3023监听到对应kevent可读事件后,取出事件记录的sockfd,读取该socket的响应数据发送至UDP堆栈3021。
步骤E:UDP堆栈3021获取远程服务器的响应数据,并根据记录的session,组装生成对应的UDP协议的IP数据包。
步骤F:UDP转发模块302将组装好的IP数据包写入网络扩展模块200作为数据响应。
UDP数据包解析器是一个UDP数据报文分析模块,根据UDP报文标准格式定义好每个字段的长度大小及定义。面向数据报文解析,按字节进行读取,实现了UDP数据包的报文头和数据负载提取,包括源端口、目的端口、长度、检验和等。面向数据报文组装,UDP数据包解析器会存储一个标准的UDP数据报文头模板,针对每次数据响应,根据报文头模板复制一个新的报文头,按字节写入对应的源端口、目的端口、长度,并计算检验和,从而实现新的UDP报文组装。
本发明实施例中,测试客户端接收到目标服务器反馈的下行数据之后,利用下行数据中的编号信息提取出预先存储的会话控制信息,利用会话控制信息更新下行数据的头部信息,完成数据的组装,以供进行测试,不需要对所属设备进行配置,节省了测试时间。
参见图9,图9为本发明实施例提供的数据测试装置的结构示意图。
本发明实施例提供了一种数据测试装置800,包括:数据获取单元803、解析单元804、发送单元805和测试单元806。
数据获取单元803,用于通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;
解析单元804,用于解析所述第一流量数据,确定出本地的目标堆栈;
发送单元805,用于通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器;
所述数据获取单元803,用于拦截获取下行数据,所述下行数据是所述目标服务器响应所述上行流量数据反馈的;
测试单元806,用于根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。
本发明实施例中,数据测试装置800中的数据获取单元803用于通过所述预设虚拟专用网拦截所述第一流量数据,利用所述预设虚拟专用网的虚拟网络接口将所述第一流量数据转发到数据隧道,以在所述数据隧道中读取到所述第一流量数据。
本发明实施例中,数据测试装置800中的解析单元804用于解析所述第一流量数据,根据得到的所述第一流量数据的头部信息结构确定出所述目标堆栈;所述目标堆栈包括:传输控制协议堆栈、网际互连协议堆栈和用户数据报协议堆栈。
本发明实施例中,所述第一流量数据包括:传输控制协议数据;所述传输控制协议数据包括:目标地址信息、目标端口信息、源地址信息、源端口信息和负载数据;所述目标堆栈包括:所述传输控制协议堆栈;数据测试装置800中的发送单元805用于通过所述传输控制协议堆栈利用本地的代理端口信息更新所述传输控制协议数据的所述源端口信息,结合源地址信息、所述目标地址信息、目标端口信息和负载数据形成所述上行流量数据;将所述上行流量数据根据传输控制协议发送给所述目标服务器。
本发明实施例中,所述第一流量数据包括:用户数据报协议数据;所述用户数据报协议数据包括:第二目标端口信息、第二源端口信息和第二负载数据;所述目标堆栈包括:所述用户数据报协议堆栈;通过所述用户数据报协议堆栈利用本地的第二代理端口信息更新所述用户数据报协议数据的所述第二源端口信息,结合所述第二目标端口信息和所述第二负载数据形成所述上行流量数据;将所述上行流量数据根据用户数据报协议发送给所述目标服务器。
本发明实施例中,数据测试装置800中的数据获取单元803用于拦截获取所述预定客户端与所述目标服务器的首次通信数据流;在所述首次通信数据流中获取所述目标地址信息、所述目标端口信息、所述源地址信息和所述源端口信息,并以所述源端口信息为索引,将所述目标地址信息、所述目标端口信息和所述源地址信息进行映射存储。
本发明实施例中,所述下行数据包括:所述源地址信息;数据测试装置800中的测试单元806用于通过所述源地址信息在本地提取出所述源端口信息,利用所述源端口更新所述下行数据中的头部信息,以得到所述第二流量数据;所述会话控制信息包括:所述源端口信息;将所述第二流量数据传输给所述数据隧道,通过虚拟网络接口在所述数据隧道提取所述第二流量数据,以进行测试得到所述测试结果。
本发明实施例中,数据测试装置800用于以所述第二源端口信息为索引,将所述第二目标端口信息进行映射存储。
本发明实施例中,所述下行数据包括:响应数据,所述响应数据中携带有所述第二目标端口信息;数据测试装置800中的测试单元806用于根据所述第二目标端口信息在本地提取出所述第二源端口信息;所述会话控制信息包括:所述第二源端口信息;利用所述第二源端口信息更新所述响应数据的头部信息,得到所述第二流量数据;将所述第二流量数据传输给所述数据隧道,通过虚拟网络接口在所述数据隧道提取所述第二流量数据,以进行测试得到所述测试结果。
本发明实施例中,通过数据获取单元803在预设虚拟专用网拦截获取预定客户端发送的第一流量数据;通过解析单元804解析第一流量数据,确定出本地的目标堆栈;通过发送单元805通过目标堆栈将第一流量数据转化成上行流量数据,并发送给目标服务器;通过数据获取单元803拦截获取目标服务器响应上行流量数据,反馈的下行数据;通过测试单元806根据下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。由于本方案可以直接拦截获取预定软件发送的第一流量数据,实现了本地网络代理,无需依赖外部资源,进而提高了软件数据测试的效率。
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的数据测试方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台数据测试装置(可以是个人计算机等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
对应地,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的步骤。
对应的,本发明实施例还提供了一种计算机产品,包括一个或多个处理器,其特征在于,所述处理器被配置成运行计算机指令,以实现上述的数据测试方法。对应地,本发明实施例提供一种数据测试装置,包括存储器802和处理器801,所述存储器802存储有可在处理器801上运行的计算机程序,所述处理器801执行所述程序时实现上述方法中的步骤。
这里需要指出的是:以上存储介质和装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明存储介质和装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
需要说明的是,图10为本发明实施例提供的数据测试装置的一种硬件实体示意图,如图10所示,该数据测试装置800的硬件实体包括:处理器801和存储器802,其中;
处理器801通常控制数据测试装置800的总体操作。
存储器802配置为存储由处理器801可执行的指令和应用,还可以缓存待处理器801以及数据测试装置800中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储装置、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机、服务器、或者网络装置等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储装置、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种数据测试方法,其特征在于,包括:
通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;
解析所述第一流量数据,确定出本地的目标堆栈;
通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器;
拦截获取下行数据,所述下行数据是所述目标服务器响应所述上行流量数据反馈的;
根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。
2.根据权利要求1所述的数据测试方法,其特征在于,所述通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据,包括:
通过所述预设虚拟专用网拦截所述第一流量数据,利用所述预设虚拟专用网的虚拟网络接口将所述第一流量数据转发到数据隧道,以在所述数据隧道中读取到所述第一流量数据。
3.根据权利要求1所述的数据测试方法,其特征在于,所述解析所述第一流量数据,确定出本地的目标堆栈,包括:
解析所述第一流量数据,根据得到的所述第一流量数据的头部信息结构确定出所述目标堆栈;所述目标堆栈包括:传输控制协议堆栈、网际互连协议堆栈和用户数据报协议堆栈。
4.根据权利要求2所述的数据测试方法,其特征在于,所述第一流量数据包括:传输控制协议数据;所述传输控制协议数据包括:目标地址信息、目标端口信息、源地址信息、源端口信息和负载数据;所述目标堆栈包括:所述传输控制协议堆栈;
所述通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器,包括:
通过所述传输控制协议堆栈利用本地的代理端口信息更新所述传输控制协议数据的所述源端口信息,结合源地址信息、所述目标地址信息、目标端口信息和负载数据形成所述上行流量数据;
将所述上行流量数据根据传输控制协议发送给所述目标服务器。
5.根据权利要求2所述的数据测试方法,其特征在于,所述第一流量数据包括:用户数据报协议数据;所述用户数据报协议数据包括:第二目标端口信息、第二源端口信息和第二负载数据;所述目标堆栈包括:用户数据报协议堆栈;
所述通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器,包括:
通过所述用户数据报协议堆栈利用本地的第二代理端口信息更新所述用户数据报协议数据的所述第二源端口信息,结合所述第二目标端口信息和所述第二负载数据形成所述上行流量数据;
将所述上行流量数据根据用户数据报协议发送给所述目标服务器。
6.根据权利要求4所述的数据测试方法,其特征在于,所述通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据之前,所述方法还包括:
拦截获取所述预定客户端与所述目标服务器的首次通信数据流;
在所述首次通信数据流中获取所述目标地址信息、所述目标端口信息、所述源地址信息和所述源端口信息,并以所述源端口信息为索引,将所述目标地址信息、所述目标端口信息和所述源地址信息进行映射存储。
7.根据权利要求6所述的数据测试方法,其特征在于,所述下行数据包括:所述源地址信息;
所述根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果,包括:
通过所述源地址信息在本地提取出所述源端口信息,利用所述源端口信息更新所述下行数据中的头部信息,以得到所述第二流量数据;所述会话控制信息包括:所述源端口信息;
将所述第二流量数据传输给所述数据隧道,通过虚拟网络接口在所述数据隧道提取所述第二流量数据,以进行测试得到所述测试结果。
8.根据权利要求5所述的数据测试方法,其特征在于,所述方法还包括:
以所述第二源端口信息为索引,将所述第二目标端口信息进行映射存储。
9.根据权利要求5所述的数据测试方法,其特征在于,所述下行数据包括:响应数据,所述响应数据中携带有所述第二目标端口信息;
所述根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果,包括:
根据所述第二目标端口信息在本地提取出所述第二源端口信息;所述会话控制信息包括:所述第二源端口信息;
利用所述第二源端口信息更新所述响应数据的头部信息,得到所述第二流量数据;
将所述第二流量数据传输给所述数据隧道,通过虚拟网络接口在所述数据隧道提取所述第二流量数据,以进行测试得到所述测试结果。
10.一种数据测试装置,其特征在于,包括:
数据获取单元,用于通过预设虚拟专用网拦截获取预定客户端发送的第一流量数据;
解析单元,用于解析所述第一流量数据,确定出本地的目标堆栈;
发送单元,用于通过所述目标堆栈将所述第一流量数据转化成上行流量数据,并发送给目标服务器;
所述数据获取单元,用于拦截获取下行数据,所述下行数据是所述目标服务器响应所述上行流量数据反馈的;
测试单元,用于根据所述下行数据提取出预存的会话控制信息,以形成第二流量数据进行测试,得到测试结果。
11.一种数据测试装置,其特征在于,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至9任一项所述方法中的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9任一项所述方法中的步骤。
13.一种计算机产品,包括一个或多个处理器,其特征在于,所述处理器被配置成运行计算机指令,以实现如权利要求1至9中任一项所述的数据测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159751.9A CN115499345A (zh) | 2022-09-22 | 2022-09-22 | 数据测试方法、装置及存储介质、计算机产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211159751.9A CN115499345A (zh) | 2022-09-22 | 2022-09-22 | 数据测试方法、装置及存储介质、计算机产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115499345A true CN115499345A (zh) | 2022-12-20 |
Family
ID=84471030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211159751.9A Pending CN115499345A (zh) | 2022-09-22 | 2022-09-22 | 数据测试方法、装置及存储介质、计算机产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115499345A (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278878A1 (en) * | 2011-04-27 | 2012-11-01 | International Business Machines Corporation | Systems and methods for establishing secure virtual private network communications using non-privileged vpn client |
US20150229490A1 (en) * | 2014-02-12 | 2015-08-13 | Hob Gmbh & Co. Kg | Communication system for transmittingunder a tunnel protocol between at least two data computers via a wide area network and a method for running such a communication system |
WO2016101490A1 (zh) * | 2014-12-26 | 2016-06-30 | 中兴通讯股份有限公司 | 更新处理方法及装置 |
CN106713320A (zh) * | 2016-12-23 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 终端数据传输的方法和装置 |
WO2017124837A1 (zh) * | 2016-01-19 | 2017-07-27 | 深圳前海达闼云端智能科技有限公司 | 一种sslvpn的代理方法、服务器以及客户端及其处理方法 |
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN111131180A (zh) * | 2019-12-05 | 2020-05-08 | 成都西维数码科技有限公司 | 一种大规模云环境中分布式部署的http协议post拦截方法 |
CN113452686A (zh) * | 2021-06-23 | 2021-09-28 | 中移(杭州)信息技术有限公司 | 数据处理方法、装置、代理服务器及存储介质 |
CN113645653A (zh) * | 2021-08-06 | 2021-11-12 | 腾讯数码(深圳)有限公司 | 网络仿真测试方法、装置、电子设备及存储介质 |
CN114401243A (zh) * | 2022-03-23 | 2022-04-26 | 北京指掌易科技有限公司 | 数据包发送方法、装置、设备和介质 |
-
2022
- 2022-09-22 CN CN202211159751.9A patent/CN115499345A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120278878A1 (en) * | 2011-04-27 | 2012-11-01 | International Business Machines Corporation | Systems and methods for establishing secure virtual private network communications using non-privileged vpn client |
US20150229490A1 (en) * | 2014-02-12 | 2015-08-13 | Hob Gmbh & Co. Kg | Communication system for transmittingunder a tunnel protocol between at least two data computers via a wide area network and a method for running such a communication system |
WO2016101490A1 (zh) * | 2014-12-26 | 2016-06-30 | 中兴通讯股份有限公司 | 更新处理方法及装置 |
WO2017124837A1 (zh) * | 2016-01-19 | 2017-07-27 | 深圳前海达闼云端智能科技有限公司 | 一种sslvpn的代理方法、服务器以及客户端及其处理方法 |
CN106713320A (zh) * | 2016-12-23 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 终端数据传输的方法和装置 |
CN109101415A (zh) * | 2018-06-25 | 2018-12-28 | 平安科技(深圳)有限公司 | 基于数据库比对的接口测试方法、系统、设备和存储介质 |
CN111131180A (zh) * | 2019-12-05 | 2020-05-08 | 成都西维数码科技有限公司 | 一种大规模云环境中分布式部署的http协议post拦截方法 |
CN113452686A (zh) * | 2021-06-23 | 2021-09-28 | 中移(杭州)信息技术有限公司 | 数据处理方法、装置、代理服务器及存储介质 |
CN113645653A (zh) * | 2021-08-06 | 2021-11-12 | 腾讯数码(深圳)有限公司 | 网络仿真测试方法、装置、电子设备及存储介质 |
CN114401243A (zh) * | 2022-03-23 | 2022-04-26 | 北京指掌易科技有限公司 | 数据包发送方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104580192B (zh) | 应用程序的网络访问请求的处理方法和装置 | |
US10498831B2 (en) | Communication sessions at a CoAP protocol layer | |
US20150381563A1 (en) | Relay system for transmitting ip address of client to server and method therefor | |
US9137313B2 (en) | Data transmission system and method using relay server | |
US8446840B2 (en) | TCP proxy insertion and uninstall method, and service gateway device | |
EP3211852A1 (en) | Ssh protocol-based session parsing method and system | |
CN108200158B (zh) | 请求传输系统、方法、装置及存储介质 | |
US20160241664A1 (en) | Method, device, and system for redirecting data by using service proxy | |
CN112838966A (zh) | 一种udp链路监控方法、系统及电子设备 | |
CN111343093A (zh) | 业务数据的传输方法及装置 | |
CN110177128B (zh) | 数据传输系统及其建立vpn连接的方法、终端、vpn代理 | |
US9948500B2 (en) | Method and apparatus of performing simultaneous multi-agent access for command execution through a single client | |
WO2015127892A1 (zh) | 通信方法、光模块和网络设备 | |
WO2018149342A1 (zh) | 移动专用网的用户终端访问公网的方法、装置和存储介质 | |
CN114157607A (zh) | 媒体流传输方法和系统 | |
CN107154917B (zh) | 数据传输方法及服务器 | |
CN111385068B (zh) | 数据传输方法、装置、电子设备及通信系统 | |
CN107231275B (zh) | 用于用户设备与家居设备连接配置的方法 | |
CN110784375B (zh) | 网络数据监控方法、装置、电子设备及存储介质 | |
CN105991353A (zh) | 故障定位的方法和装置 | |
CN115499345A (zh) | 数据测试方法、装置及存储介质、计算机产品 | |
US10447821B1 (en) | Method and apparatus of providing thin client functionality | |
CN103368841B (zh) | 报文转发方法和装置 | |
WO2021082945A1 (zh) | 一种远程管理方法、系统、终端设备及服务器 | |
CN114666846A (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 |