CN109088789A - 一种网络环境模拟测试工具及测试方法 - Google Patents
一种网络环境模拟测试工具及测试方法 Download PDFInfo
- Publication number
- CN109088789A CN109088789A CN201810793782.7A CN201810793782A CN109088789A CN 109088789 A CN109088789 A CN 109088789A CN 201810793782 A CN201810793782 A CN 201810793782A CN 109088789 A CN109088789 A CN 109088789A
- Authority
- CN
- China
- Prior art keywords
- submodule
- module
- interference
- data packet
- network environment
- 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
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/50—Testing arrangements
-
- 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/50—Testing arrangements
- H04L43/55—Testing of service level quality, e.g. simulating service usage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络环境模拟测试工具,包括如下功能模块:主模块、拦截模块、分发模块、干扰模块、发送模块;所述干扰模块包括延迟子模块、丢包子模块、限流子模块、重复子模块、乱序子模块和篡改子模块,同时本发明还公开了一种网络环境模拟测试方法,包括拦截模块对客户端请求进行拦截;分发模块根据窗口中选择的项目,将拦截的客户端请求分配给不同的干扰模块进行处理;不同的干扰模块对客户端请求进行干扰操作;将干扰后的数据包发送到服务器端。本发明公开的模拟测试工具不需要开发人员额外编写代码,可以在产品上线之前解决更多的问题,节省开发运维团队的时间,提高用户满意度。
Description
技术领域
本发明涉及网络技术领域,特别涉及一种网络环境模拟测试工具及测试方法。
背景技术
网站运维过程中,经常会遇到用户反馈但无法重现的问题,这些问题中有很大一部分是由于用户自身的网络环境波动,或者是网站本身所处的网络环境比较恶劣造成的。对网络环境进行模拟测试可以在开发过程中模拟出各种网络环境,可让开发测试人员看到各种网络条件下服务的表现,便于提前发现问题,防患于未然。当前在开发过程中模拟恶劣网络环境一般通过以下手段实现:
1)通过应用层或者传输层的代理服务器,通过在代理服务器上设置一些模拟网络环境的参数,使得通过这些代理服务器的流量都被转化为被设置的网络环境下的流量(如采用一些网络流量分析软件)。
2)通过利用一些更底层的驱动层面的服务,通过控制网卡的收包发包的行为,来模拟各种网络环境(改写网卡驱动)。
以上两种方法模拟网络环境,或者是要选用其他软件,进行复杂的配置,或者是要修改硬件驱动,两种方法需要开发人员额外编写代码,实现成本高,且不容易掌握。
发明内容
为解决上述技术问题,本发明提供了一种网络环境模拟测试工具及测试方法,以达到可以在产品上线之前解决更多的问题,节省开发运维团队的时间,提高用户满意度的目的。
为达到上述目的,本发明的技术方案如下:
一种网络环境模拟测试工具,包括如下功能模块:
主模块:提供主窗口的展示,支持主窗口基本操作,控制整个网络模拟工具的主线程运行;
拦截模块:利用WFP的WinDivert库,拦截服务器上所有网络请求;
分发模块:根据窗口中选择的项目,对于拦截的所有网络请求,分配给不同的干扰模块进行处理;
干扰模块:执行具体的干扰操作;
发送模块:发送干扰后的数据包;
所述干扰模块包括延迟子模块、丢包子模块、限流子模块、重复子模块、乱序子模块和篡改子模块,所述延迟子模块是指所有数据包延迟指定时间后再发送,所述丢包子模块是指发送不完整的数据包,所述限流子模块是指分块发送数据包、中间间隔一段时间,所述重复子模块是指发送重复的数据包,所述乱序子模块是指分块发送数据包、且顺序打乱,所述篡改子模块是指发送错误的数据包。
一种网络环境模拟测试方法,采用上述的一种网络环境模拟测试工具,包括如下过程:
(1)拦截模块对客户端请求进行拦截;
(2)分发模块根据窗口中选择的项目,将拦截的客户端请求分配给不同的干扰模块进行处理;
(3)不同的干扰模块对客户端请求进行干扰操作;
(4)将干扰后的数据包发送到服务器端。
通过上述技术方案,本发明提供的网络环境模拟测试工具可以在无须改动硬件设置或服务器配置的情况下,模拟各种网络环境来测试网站或应用程序的健壮性,可以在上线之前解决更多的问题,节省开发运维团队的时间,提高用户满意度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例所公开的一种网络环境模拟测试工具组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明提供了一种网络环境模拟测试工具及测试方法,该工具利用封装WFP(Windows过滤平台)的WinDivert库,实时的将***接收和发出的网络数据包拦截下来,自动造成延迟,掉包和篡改等操作后再进行发送;可以让开发人员在不需要额外编写代码的情况下,在***层次达到重现网络异常造成的程序错误或者是评估应用程序在不良网络状况下的表现。
如图1所示的一种网络环境模拟测试工具,包括如下功能模块:
主模块:提供主窗口的展示,支持主窗口基本操作,控制整个网络模拟工具的主线程运行。
拦截模块:利用WFP的WinDivert库,拦截服务器上所有网络请求;即所有通过服务器网卡进行的信息交互都可被本工具拦截,根据主窗口选择的方式进行处理。
分发模块:根据窗口中选择的项目,对于拦截的所有网络请求,分配给不同的干扰模块进行处理;运行过程中,本模块开启一个线程读取所有通过服务器网卡的数据包,把本应该由服务器进行处理的数据包全部变为由该工具接管。
干扰模块:执行具体的干扰操作;干扰模块包括延迟子模块、丢包子模块、限流子模块、重复子模块、乱序子模块和篡改子模块,延迟子模块是指所有数据包延迟指定时间后再发送,丢包子模块是指发送不完整的数据包,限流子模块是指分块发送数据包、中间间隔一段时间,重复子模块是指发送重复的数据包,乱序子模块是指分块发送数据包、且顺序打乱,篡改子模块是指发送错误的数据包。
发送模块:发送干扰后的数据包;把拦截到的所有数据包进行干扰操作后,变成新的数据包替代客户端发送给服务器。运行模块中,本模块开启一个线程,把干扰后的数据包伪装成客户端请求再发送给服务器。
一种网络环境模拟测试方法,采用上述的一种网络环境模拟测试工具,包括如下过程:
(1)拦截模块对客户端请求进行拦截;
(2)分发模块根据窗口中选择的项目,将拦截的客户端请求分配给不同的干扰模块进行处理;
(3)不同的干扰模块对客户端请求进行干扰操作;
(4)将干扰后的数据包发送到服务器端。
原始运行过程:
客户端请求--->服务器端服务--->客户端响应。
利用工具后的运行过程:
客户端请求--->工具拦截干扰--->模拟客户端请求--->服务器端服务--->客户端响应。
由此可以看出,采用该网络环境模拟测试工具后,可以在无须改动硬件设置或服务器配置的情况下,模拟各种网络环境来测试网站或应用程序的健壮性,可以在上线之前解决更多的问题,节省开发运维团队的时间,提高用户满意度。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (2)
1.一种网络环境模拟测试工具,其特征在于,包括如下功能模块:
主模块:提供主窗口的展示,支持主窗口基本操作,控制整个网络模拟工具的主线程运行;
拦截模块:利用WFP的WinDivert库,拦截服务器上所有网络请求;
分发模块:根据窗口中选择的项目,对于拦截的所有网络请求,分配给不同的干扰模块进行处理;
干扰模块:执行具体的干扰操作;
发送模块:发送干扰后的数据包;
所述干扰模块包括延迟子模块、丢包子模块、限流子模块、重复子模块、乱序子模块和篡改子模块,所述延迟子模块是指所有数据包延迟指定时间后再发送,所述丢包子模块是指发送不完整的数据包,所述限流子模块是指分块发送数据包、中间间隔一段时间,所述重复子模块是指发送重复的数据包,所述乱序子模块是指分块发送数据包、且顺序打乱,所述篡改子模块是指发送错误的数据包。
2.一种网络环境模拟测试方法,采用如权利要求1所述的一种网络环境模拟测试工具,其特征在于,包括如下过程:
(1)拦截模块对客户端请求进行拦截;
(2)分发模块根据窗口中选择的项目,将拦截的客户端请求分配给不同的干扰模块进行处理;
(3)不同的干扰模块对客户端请求进行干扰操作;
(4)将干扰后的数据包发送到服务器端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810793782.7A CN109088789A (zh) | 2018-07-19 | 2018-07-19 | 一种网络环境模拟测试工具及测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810793782.7A CN109088789A (zh) | 2018-07-19 | 2018-07-19 | 一种网络环境模拟测试工具及测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109088789A true CN109088789A (zh) | 2018-12-25 |
Family
ID=64837837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810793782.7A Pending CN109088789A (zh) | 2018-07-19 | 2018-07-19 | 一种网络环境模拟测试工具及测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109088789A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138617A (zh) * | 2019-05-22 | 2019-08-16 | 北京字节跳动网络技术有限公司 | 数据传输质量测试方法、***、电子设备及存储介质 |
CN110515850A (zh) * | 2019-08-29 | 2019-11-29 | 北京拉勾网络技术有限公司 | 一种应用程序测试方法、移动终端及存储介质 |
CN112929914A (zh) * | 2021-02-03 | 2021-06-08 | 叮当快药科技集团有限公司 | 网络链路模拟辅助测试的***及方法 |
CN113014440A (zh) * | 2019-12-19 | 2021-06-22 | 中国电信股份有限公司 | 基于工业平台即服务云平台的安全测试方法和装置 |
CN113221147A (zh) * | 2021-05-27 | 2021-08-06 | 安天科技集团股份有限公司 | 数据包处理方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150172164A1 (en) * | 2012-05-08 | 2015-06-18 | Amazon Technologies, Inc. | Scalable testing in a production system with autoshutdown |
CN104767655A (zh) * | 2015-03-17 | 2015-07-08 | 微梦创科网络科技(中国)有限公司 | 一种模拟结果检测方法及装置 |
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试***、测试方法、mock平台、***和客户端 |
CN108268375A (zh) * | 2018-01-12 | 2018-07-10 | 深圳壹账通智能科技有限公司 | 应用程序测试方法、装置、计算机设备和存储介质 |
-
2018
- 2018-07-19 CN CN201810793782.7A patent/CN109088789A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150172164A1 (en) * | 2012-05-08 | 2015-06-18 | Amazon Technologies, Inc. | Scalable testing in a production system with autoshutdown |
CN104767655A (zh) * | 2015-03-17 | 2015-07-08 | 微梦创科网络科技(中国)有限公司 | 一种模拟结果检测方法及装置 |
CN107368405A (zh) * | 2016-05-11 | 2017-11-21 | 腾讯科技(北京)有限公司 | 测试***、测试方法、mock平台、***和客户端 |
CN108268375A (zh) * | 2018-01-12 | 2018-07-10 | 深圳壹账通智能科技有限公司 | 应用程序测试方法、装置、计算机设备和存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110138617A (zh) * | 2019-05-22 | 2019-08-16 | 北京字节跳动网络技术有限公司 | 数据传输质量测试方法、***、电子设备及存储介质 |
CN110515850A (zh) * | 2019-08-29 | 2019-11-29 | 北京拉勾网络技术有限公司 | 一种应用程序测试方法、移动终端及存储介质 |
CN113014440A (zh) * | 2019-12-19 | 2021-06-22 | 中国电信股份有限公司 | 基于工业平台即服务云平台的安全测试方法和装置 |
CN112929914A (zh) * | 2021-02-03 | 2021-06-08 | 叮当快药科技集团有限公司 | 网络链路模拟辅助测试的***及方法 |
CN113221147A (zh) * | 2021-05-27 | 2021-08-06 | 安天科技集团股份有限公司 | 数据包处理方法、装置及存储介质 |
CN113221147B (zh) * | 2021-05-27 | 2023-05-23 | 安天科技集团股份有限公司 | 数据包处理方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109088789A (zh) | 一种网络环境模拟测试工具及测试方法 | |
Li et al. | WebProphet: Automating Performance Prediction for Web Services. | |
US6832184B1 (en) | Intelligent work station simulation—generalized LAN frame generation simulation structure | |
US7555421B1 (en) | Device emulation for testing data network configurations | |
US20070211697A1 (en) | Method of analyzing network with generated traffic | |
CN101447898B (zh) | 一种用于网络安全产品的测试***及测试方法 | |
US20110282642A1 (en) | Network emulation in manual and automated testing tools | |
CN101136790B (zh) | 以太网交换机集群管理的自动化测试***及方法 | |
US20070211696A1 (en) | Method of generating network traffic | |
CN105450463B (zh) | 硬件设备的调试方法、装置和*** | |
CN105450476B (zh) | 一种回归测试***及测试方法 | |
CN107402880A (zh) | 一种测试方法及电子设备 | |
US20070213966A1 (en) | Traffic generator program | |
US7315807B1 (en) | System and methods for storage area network simulation | |
CN109075996A (zh) | 用于监视网络性能的监视控制器及因此执行的方法 | |
US20220377102A1 (en) | System and method for emulating a multi-stage attack on a node within a target network | |
CN105068876A (zh) | 基于分布式部署真机采集手机app性能数据的方法 | |
Farooqui et al. | Cyber security backdrop: A scada testbed | |
Dehlaghi-Ghadim et al. | ICSSIM—a framework for building industrial control systems security testbeds | |
JP2001209407A (ja) | Plc用プログラムの実行シミュレーション装置 | |
Parker et al. | Some testing tools for TCP implementors | |
US20060168467A1 (en) | Load testing methods and systems with transaction variability and consistency | |
JP2005175915A (ja) | エミュレーション装置及びエミュレーションプログラム | |
CN114039899B (zh) | 基于Fiddler工具实现WEB化产品的网络性能测试的方法 | |
US9819741B1 (en) | Device for sensor simulation using constrained application protocol |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181225 |
|
RJ01 | Rejection of invention patent application after publication |