CN103986624B - 一种网络流量还原回放方法 - Google Patents
一种网络流量还原回放方法 Download PDFInfo
- Publication number
- CN103986624B CN103986624B CN201410230483.4A CN201410230483A CN103986624B CN 103986624 B CN103986624 B CN 103986624B CN 201410230483 A CN201410230483 A CN 201410230483A CN 103986624 B CN103986624 B CN 103986624B
- Authority
- CN
- China
- Prior art keywords
- packet
- time
- capture
- playback
- timestamp
- 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.)
- Active
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络流量还原回放的方法,其特征在于:(a)实施流量捕获:按照数据包到达的先后次序实时记录每一个数据包对应的到达时间戳,并记录每一个数据包对应的捕获开始时间;(b)实施还原回放:每一次回放开始时记录下对应的回放开始时间,回放时根据每个数据包的时间戳和记录的所述捕获开始时间、回放开始时间以及当前时间来控制数据包的发送时间。该方法实现简单,能够准确还原再现捕获时的网络环境。
Description
技术领域
本发明涉及网络设备测试领域,尤其涉及一种网络流量还原回放方法。
背景技术
测试是保障网络设备可靠性和稳定性的关键环节。在网络高速化的背景下,由于数据量的提升,交换机、防火墙、网络监控系统等网络设备受到的流量压力越来越大,开发出一套高效可靠的设备必须经过更加严格的测试。互联网规模的不断提升,要求网络安全设备能在更加高速和更为复杂的环境中正确的实行安全保护的功能。这使得新型安全产品的开发必须具有更为强大的测试手段和更为逼真的测试环境。
现有的测试手段和测试环境,已经不能很好地满足这些需求。测试技术的发展严重滞后于网络安全产业的发展速度,已经对网络安全产业的发展造成了不利影响。由于目前企业级的测试环境仍无法再现实际运行网络的复杂性,通过企业测试流程的产品仍然有可能是不完善的。没有经过全面测试的产品在布署到实际系统中后可能造成网络不稳定、瘫痪或引入严重的安全漏洞。当前网络设备测试领域迫切需要一种能够模拟再现实际网络环境的测试方法,结合人工仿真测试等常规方法,为网络安全设备提供准确、全面、系统的测试。
流量回放方法是一种将真实网络流量存储记录并进行还原回放的网络测试方法。通过将捕获得到的真实网络流量还原回放到测试网络,可以再现实际的网络场景,达到考察被测系统在实际网络环境中的功能和性能的目的。流量回放方法是一种能对各类网络/安全设备(如IDS,Firewall,IPS等)进行客观、全面、系统测试的重要方法。
发明内容
针对现有技术的不足,本发明的目的是提供一种网络流量还原回放方法,实现对网络流量的准确回放,真实还原再现捕获时的网络场景。
为达到以上目的,本发明采取如下技术方案:
一种网络流量还原回放方法,其特征在于,所述方法包括以下步骤:
(a)实施流量捕获:按照数据包到达的先后次序实时记录每一个数据包对应的到达时间戳,并记录每一个数据包对应的捕获开始时间;
(b)实施还原回放:每一次回放开始时记录下对应的回放开始时间,回放时根据每个数据包的时间戳和记录的所述捕获开始时间、回放开始时间以及当前时间来控制数据包的发送时间。
此外,本发明还公开了一种网络流量还原回放方法,包括以下步骤:
(1)对要回放的流量进行捕获并存储:
在捕获流量的同时将本次捕获开始时间记录下来,以备回放时使用;
在流量捕获的过程中,除了将数据报文按照数据包到达的先后顺序实时地存入存储设备,还在捕获流量的同时为每一个数据包记录一个时间戳;
(2)对捕获的流量进行还原回放:
记录下本次回放开始时间,在还原回放的过程中,每当一个队列从存储设备中取得一个数据包,则执行如下步骤:
(21)获取这个数据包在捕获时记录下来的时间戳;
(22)获取当前的时间值;
(23)比较数据包时间戳和捕获开始时间,得到该数据包的捕获时刻距捕获的起始点的时间长度,记为Len1;
(24)比较当前时间和回放开始时间,得到回放开始到当前的时间长度,记为Len2;
(25)比较Len1和Len2两个时间长度,当Len1等于或小于Len2时,将数据包发送出去;
(26)如果Len1大于Len2,重复步骤(22)到(25);
(3)不断重复步骤(2),直到数据包被全部回放。
本发明的一种网络流量还原回放方法具有实现简单,还原精度高的优点。
附图说明
图1是本发明的网络流量还原回放方法示意图。
具体实施方式
以下结合附图和具体实施例对本发明进行详细说明。
在一个实施例中,本发明通过如下步骤来实现网络流量的还原回放方法:
(1)在流量捕获阶段:按照数据包到达的先后次序实时记录每一个数据包对应的到达时间戳,并记录每一个数据包对应的捕获开始时间;
(2)在回放阶段:每一次回放开始时记录下对应的回放开始时间,回放时根据每个数据包的时间戳和记录的所述捕获开始时间、回放开始时间以及当前时间来控制数据包的发送时间。
对于该实施例而言,正是采用上述技术方案才以简单、可靠的方式实现了对网络流量的准确回放,真实还原再现捕获时的网络场景。
在另一个实施例中,所述捕获开始时间是指网络流量开始捕获时操作系统的绝对时间;所述回放开始时间是指网络流量开始回放时操作系统的绝对时间;所述当前时间是指在当前时刻操作系统的绝对时间。对于该实施例而言,也可以不是操作系统的绝对时间,可以是参考其他时间基准的相对时间。
在另一个实施例中,本发明的网络流量还原回放方法包括以下步骤:
(1)对要回放的流量进行捕获并存储,在捕获流量的同时将本次捕获的开始时间记录下来,以备回放时使用。在流量捕获的过程中,除了将数据报文按照数据包到达的先后顺序实时地存入存储设备,还在捕获流量的同时为每一个数据包记录一个时间戳。在特定实施例中,在写入存储设备时,每个数据包按照到达顺序依次写入,同时数据包的时间戳与数据包内容一同写入,以方便在读取数据包内容时可以直接获得对应的时间戳。为了提高写入速度,在特定实施例中,存储设备还可以采用磁盘阵列等高速存储设备。
(2)对捕获的流量进行还原回放,记录下本次回放的开始时间。在还原回放的过程中,每当一个队列从存储设备中取得一个数据包,则执行如下步骤:
(21)得到这个数据包在捕获时记录下来的时间戳;
(22)得到当前的时间值;
(23)比较数据包时间戳和捕获开始时间,得到该数据包的捕获时刻距捕获的起始点的时间长度,记为Len1,也即意味着在捕获的过程中,从捕获开始经过Len1长的时间后,系统捕获到当前数据包;
(24)比较当前时间和回放开始时间,得到回放开始到当前的时间长度,记为Len2,这意味着从开始还原回放到当前,已经过去了Len2长的时间;
(25)比较得到的Len1和Len2两个时间长度,当Len1等于或小于Len2时,说明在流量还原回放过程中,当前的回放时间点十分接近当初在捕获过程中捕获到当前数据包的捕获时间点,因此马上将数据包发送出去。
(26)否则,如果Len1大于Len2,则说明对于当前的数据包,当前回放时间点还未到对应的捕获时间点,因此重复步骤(22)到(25);
(3)不断重复步骤(2),直到数据包被全部回放。
对于该实施例而言,其与前述实施例核心思想一致。简而言之,本实施例主要体现在如图1所示流程:
1)对于要回放的流量进行捕获并存储成一个流量文件,同时记录捕获的开始时间;
2)在捕获过程中,除了按照数据包到达的先后次序,依次保存每个数据包的内容以外,同时按照数据包到达的时间点为每个数据包记录数据包的时间戳;
3)在回放捕获的流量文件时,记录回放的开始时间;
4)在回放过程中,对于每一个从存储设备中读取的数据包,同时得到其在捕获时记录的时间戳并计算该时间戳与捕获开始时间的时差,将该时差与数据包从回放开始到现在所经过的时长相比较,当后者大于前者时,发送数据包,否则继续等待。
优选的,上述方法中,步骤(1)中所述捕获的开始时间是指网络流量开始捕获时操作系统的绝对时间。
步骤(2)中所述回放的开始时间是指网络流量开始回放时操作系统的绝对时间。
步骤(22)中所述当前的时间值是指在当前时刻操作系统的绝对时间。
优选地,步骤(1)中所述捕获的开始时间、步骤(2)中所述回放的开始时间,步骤(22)中所述当前的时间值和步骤(1)中所述为每个数据包记录的时间戳,这四个时间值的具有一致的时间精确度。
步骤(25)中所述捕获时间点,是指以某次捕获开始时间为起始点,在捕获过程中某一点所对应经过的时间长度;所述回放时间点,是指以某次回放开始时间为起始点,在回放过程中某一点所对应经过的时间长度。
以上利用具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (2)
1.一种网络流量还原回放方法,其特征在于,所述方法包括以下步骤:
(1)对要回放的流量进行捕获并存储:
在捕获流量的同时将本次捕获开始时间记录下来,以备回放时使用;
在流量捕获的过程中,除了将数据报文按照数据包到达的先后顺序实时地存入存储设备,还在捕获流量的同时为每一个数据包记录一个时间戳;
(2)对捕获的流量进行还原回放:
记录下本次回放开始时间,在还原回放的过程中,每当一个队列从存储设备中取得一个数据包,则执行如下步骤:
(21)获取这个数据包在捕获时记录下来的时间戳;
(22)获取当前的时间值;
(23)比较数据包时间戳和捕获开始时间,得到该数据包的捕获时刻距捕获的起始点的时间长度,记为Len1;
(24)比较当前时间和回放开始时间,得到回放开始到当前的时间长度,记为Len2;
(25)比较Len1和Len2两个时间长度,当Len1等于或小于Len2时,将数据包发送出去;
(26)如果Len1大于Len2,重复步骤(22)到(25);
(3)不断重复步骤(2),直到数据包被全部回放;
所述方法还包括:在回放过程中,对于每一个从存储设备中读取的数据包,同时得到其在捕获时记录的时间戳并计算该时间戳与捕获开始时间的时差,将该时差与数据包从回放开始到现在所经过的时长相比较,当后者大于前者时,发送数据包,否则继续等待;其中,步骤(1)中所述捕获开始时间是指网络流量开始捕获时系统的绝对时间;步骤(1)中,在写入存储设备时,每个数据包按照到达顺序依次写入,同时数据包的时间戳与数据包内容一同写入,以方便在读取数据包内容时可以直接获得对应的时间戳;步骤(2)中所述回放开始时间是指网络流量开始回放时系统的绝对时间;步骤(22)中所述当前时间是指在当前时刻系统的绝对时间;
其中,步骤(1)中所述捕获的开始时间、步骤(2)中所述回放开始时间,步骤(22)中所述当前时间和步骤(1)中所述为每个数据包记录的时间戳,这四个时间值具有一致的时间精确度。
2.根据权利要求1所述的方法,步骤(1)中,所述存储设备为磁盘阵列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410230483.4A CN103986624B (zh) | 2014-05-28 | 2014-05-28 | 一种网络流量还原回放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410230483.4A CN103986624B (zh) | 2014-05-28 | 2014-05-28 | 一种网络流量还原回放方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103986624A CN103986624A (zh) | 2014-08-13 |
CN103986624B true CN103986624B (zh) | 2017-08-08 |
Family
ID=51278451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410230483.4A Active CN103986624B (zh) | 2014-05-28 | 2014-05-28 | 一种网络流量还原回放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103986624B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104702463B (zh) * | 2014-12-17 | 2018-03-23 | 北京百度网讯科技有限公司 | 一种对多机房进行旁路测试的方法、装置及系统 |
CN105099833A (zh) * | 2015-09-14 | 2015-11-25 | 北京华青融天技术有限责任公司 | 一种业务测试方法、装置以及系统 |
CN105825876B (zh) * | 2016-03-16 | 2019-02-26 | 中国直升机设计研究所 | 一种无人机测控数据回放方法 |
CN106506466A (zh) * | 2016-10-24 | 2017-03-15 | 中国电子科技集团公司第二十八研究所 | 一种雷达网络信息同步记录和回放方法 |
CN106713077B (zh) * | 2017-01-11 | 2019-10-18 | 北京瑞星网安技术股份有限公司 | 代理服务器流量回放方法和系统 |
CN110191174A (zh) * | 2019-05-28 | 2019-08-30 | 西门子(上海)电气传动设备有限公司 | 基于http协议的数据监视系统、方法及计算机可读介质 |
CN112491571B (zh) * | 2019-09-11 | 2022-03-18 | 比亚迪股份有限公司 | 网络数据调试方法和装置,存储介质 |
CN112953810B (zh) * | 2019-12-10 | 2023-06-23 | 北京沃东天骏信息技术有限公司 | 一种网络请求的处理方法和装置 |
CN111182087B (zh) * | 2019-12-18 | 2022-01-28 | 哈尔滨工业大学(威海) | 一种基于单网卡绑定多ip的流量回放方法 |
CN112491652B (zh) * | 2020-11-18 | 2023-03-24 | 国家计算机网络与信息安全管理中心 | 一种用于测试的网络流量样本处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304341A (zh) * | 2008-06-05 | 2008-11-12 | 西安交通大学 | 基于收发平衡的tcp网络流量回放测试方法 |
EP2398189A1 (en) * | 2010-06-15 | 2011-12-21 | JDS Uniphase Corporation | Method for time aware inline remote mirroring |
CN103259737A (zh) * | 2013-04-18 | 2013-08-21 | 西安交通大学 | 一种并行存储高速网络流量的快速定位方法 |
CN103326900A (zh) * | 2013-06-24 | 2013-09-25 | 中国科学院信息工程研究所 | 一种面向虚拟网络的流量回放方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2386782B (en) * | 2002-03-22 | 2005-09-21 | Sony Uk Ltd | Material storage |
-
2014
- 2014-05-28 CN CN201410230483.4A patent/CN103986624B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101304341A (zh) * | 2008-06-05 | 2008-11-12 | 西安交通大学 | 基于收发平衡的tcp网络流量回放测试方法 |
EP2398189A1 (en) * | 2010-06-15 | 2011-12-21 | JDS Uniphase Corporation | Method for time aware inline remote mirroring |
CN103259737A (zh) * | 2013-04-18 | 2013-08-21 | 西安交通大学 | 一种并行存储高速网络流量的快速定位方法 |
CN103326900A (zh) * | 2013-06-24 | 2013-09-25 | 中国科学院信息工程研究所 | 一种面向虚拟网络的流量回放方法及系统 |
Non-Patent Citations (1)
Title |
---|
"基于收发平衡判定的TCP流量回放方法";褚伟波,蔡忠闽,管晓宏,陈明旭;《计算机学报》;20090430;第32卷(第4期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103986624A (zh) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103986624B (zh) | 一种网络流量还原回放方法 | |
US10048995B1 (en) | Methods and apparatus for improved fault analysis | |
CN112491652B (zh) | 一种用于测试的网络流量样本处理方法及装置 | |
US20140026123A1 (en) | Systems and methods for replication of test results in a network environment | |
CN109005162B (zh) | 工控系统安全审计方法及装置 | |
CN106330621B (zh) | 一种交换机传输信号性能的测试方法及测试系统 | |
Parry et al. | A network forensics tool for precise data packet capture and replay in cyber-physical systems | |
CN104735473A (zh) | 一种视频流播放的检测方法及装置 | |
CN108241580A (zh) | 客户端程序的测试方法及终端 | |
WO2018076677A1 (zh) | 一种集成电路测试的方法、装置及存储介质 | |
CN106375118A (zh) | 一种多视角的流量混杂回放方法与装置 | |
EP2700961B1 (en) | Test and measurement instrument with auto-sync for bit-error detection | |
CN103763551B (zh) | 一种基于深度包检测的视频测试方法 | |
US20090028057A1 (en) | Network delay measurement method and communication system | |
CN106454249A (zh) | 一种模拟多路高清实时音视频传输的装置及其方法 | |
CN109120468B (zh) | 获取端到端网络时延的方法、装置和存储介质 | |
CN104618192A (zh) | 数据库审计设备的测试方法和装置 | |
CN106649102A (zh) | 基于钩子函数的图形界面程序测试日志记录及回放方法 | |
CN110889445B (zh) | 视频cdn盗链检测方法、装置、电子设备及存储介质 | |
CN109104407B (zh) | 一种基于特征检索的网络日志在线跟踪方法及系统 | |
CN113438503B (zh) | 视频文件还原方法、装置、计算机设备和存储介质 | |
CN107357701B (zh) | 一种分布式场景下sas信号测试方法及装置 | |
JP5926236B2 (ja) | ネットワーク品質計測装置 | |
CN105701002A (zh) | 一种基于测试的执行路径的记录方法和装置 | |
CN104639859B (zh) | 一种视频监控设备及其进行数据同步的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |