CN109088789A - 一种网络环境模拟测试工具及测试方法 - Google Patents

一种网络环境模拟测试工具及测试方法 Download PDF

Info

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
Application number
CN201810793782.7A
Other languages
English (en)
Inventor
张�林
杨守斌
蔺成光
姜锦子
韩克强
王耀辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qingdao Sarntah Inteligent Technology Co Ltd
Original Assignee
Qingdao Sarntah Inteligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qingdao Sarntah Inteligent Technology Co Ltd filed Critical Qingdao Sarntah Inteligent Technology Co Ltd
Priority to CN201810793782.7A priority Critical patent/CN109088789A/zh
Publication of CN109088789A publication Critical patent/CN109088789A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • H04L43/55Testing of service level quality, e.g. simulating service usage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network

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)将干扰后的数据包发送到服务器端。
CN201810793782.7A 2018-07-19 2018-07-19 一种网络环境模拟测试工具及测试方法 Pending CN109088789A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 深圳壹账通智能科技有限公司 应用程序测试方法、装置、计算机设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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) 一种网络环境模拟测试工具及测试方法
Mathis et al. Web100: extended TCP instrumentation for research, education and diagnosis
Li et al. WebProphet: Automating Performance Prediction for Web Services.
US7555421B1 (en) Device emulation for testing data network configurations
US20110282642A1 (en) Network emulation in manual and automated testing tools
US20140343915A1 (en) Test environment configuration apparatus and method of operating network simulation apparatus using same
CN105450463B (zh) 硬件设备的调试方法、装置和系统
CN105450476B (zh) 一种回归测试系统及测试方法
US7315807B1 (en) System and methods for storage area network simulation
US20080168425A1 (en) Software testing techniques for stack-based environments
CN104579822A (zh) 基于Http协议的移动应用自动化性能测试系统及方法
Canini et al. Automating the testing of OpenFlow applications
CN103051500A (zh) 一种服务网络系统的测试方法及系统
Farooqui et al. Cyber security backdrop: A scada testbed
CN109075996A (zh) 用于监视网络性能的监视控制器及因此执行的方法
US20230269266A1 (en) System and method for emulating a multi-stage attack on a node within a target network
Parker et al. Some testing tools for TCP implementors
JP2001209407A (ja) Plc用プログラムの実行シミュレーション装置
US20060168467A1 (en) Load testing methods and systems with transaction variability and consistency
JP2005175915A (ja) エミュレーション装置及びエミュレーションプログラム
Dehlaghi-Ghadim et al. ICSSIM—a framework for building industrial control systems security testbeds
CN114039899B (zh) 基于Fiddler工具实现WEB化产品的网络性能测试的方法
US9819741B1 (en) Device for sensor simulation using constrained application protocol
CN104270431B (zh) 一种并发控制的方法及装置
CN106789449A (zh) 一种can总线开发与测试方法及系统

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