CN106713077A - 代理服务器流量回放方法和系统 - Google Patents
代理服务器流量回放方法和系统 Download PDFInfo
- Publication number
- CN106713077A CN106713077A CN201710018009.9A CN201710018009A CN106713077A CN 106713077 A CN106713077 A CN 106713077A CN 201710018009 A CN201710018009 A CN 201710018009A CN 106713077 A CN106713077 A CN 106713077A
- Authority
- CN
- China
- Prior art keywords
- playback
- data
- internet ports
- physical internet
- proxy server
- 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.)
- Granted
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/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
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种代理服务器流量回放方法,所述方法包括:获取待回放原始数据;解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组;通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。本发明避免了对每个回放数据包都需要进行连接跟踪,能够方便的实现对代理服务器的流量回放。
Description
技术领域
本发明涉及流量回放技术领域,特别是涉及代理服务器流量回放方法和系统。
背景技术
传统的流量回放工具,只能对具有旁路或者纯转发功能的中间设备进行数据包的回放。如需要进行流量回放的设备,在客户端和服务器之间新建了连接,例如,被测试设备对HTTP(HyperText Transfer Protocol超文本传输协议),邮件等协议做了代理,则无法使用传统的流量回放工具对其进行流量回放,如何方便的实现具有代理功能的服务器的流量回放,是流量回放技术领域亟待解决的问题。
发明内容
基于此,有必要针对无法对代理服务器进行流量回放的问题,提供一种代理服务器流量回放方法和系统,其中,所述方法包括:
获取待回放原始数据;
解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据;
通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。
在其中一个实施例中,所述解析所述待回放原始数据,将解析出的数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,包括:
解析所述待回放原始数据,获取所述待回放原始数据中的各数据流;
提取所述数据流中的应用层数据,在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,获取各待回放数据流;
将所述各待回放数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组。
在其中一个实施例中,所述在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,还包括:
标记所述应用层数据包的长度。
在其中一个实施例中,所述解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,还包括:
丢弃乱序包比例到达预设阈值的数据流。
在其中一个实施例中,在所述通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口的步骤之前,所述方法还包括:
将所述各待回放数据组中的所述各客户端的网际协议IP地址,设置于所述第一物理网口,将所述各服务器的IP地址设置于所述第二物理网口;
将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则。
在其中一个实施例中,在所述通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口的步骤之前,所述方法还包括:
将所述各待回放数据组中其中一端的数据包的源MAC地址填充为第一物理网口的MAC地址、目的MAC地址填充为第二物理网口的MAC地址,获取虚拟发送数据包;
将所述各待回放数据组中另一端的应答数据包的源MAC地址填充为第二物理网口的MAC地址、目的MAC地址填充为第一物理网口的MAC地址,获取虚拟应答数据包;
所述通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口,通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口,还包括:
将所述虚拟发送数据包通过第一虚拟网口发送至第一物理网口,再通过第一物理网口发送至代理服务器的第三物理网口;
将所述虚拟应答数据包通过第二虚拟网口发送至第二物理网口,再通过第二物理网口发送至所述代理服务器的第四物理网口。
在其中一个实施例中,在所述通过第二物理网口接收所述代理服务器发回的回放数据组的步骤之后,所述方法还包括:
将所述第一物理网口和/或第二物理网口接收到的回放数据组,与所述待回放数据组进行比对,根据所述比对结果分析所述代理服务器的流量回放指标。
在其中一个实施例中,通过将待回放的原始数据进行解析,将解析出的各数据流按照发送方和接收方的地址组合进行分组后,将其中一端的数据包通过第一物理网口发送至代理服务器的第三物理网口,将另一端的应答数据包通过第二物理网口发送至代理服务器的第四物理网口,完成所述待回放原始数据的回放。本发明通过对待回放原始数据进行整理后,再通过特定的物理网口对其中一端的数据包进行发送,完成对代理服务器的流量回放,避免了对每个数据包都需要进行连接跟踪,能够方便的实现对代理服务器的流量回放。
在其中一个实施例中,通过解析所述待回放原始数据中的第七层数据,标记发送方向,再按照四元组进行分组,获取各待回放数据组,将所述每个回放数据包中的七层数据剥离出来,用于在代理服务器中回放七层数据,对于七层以下的数据不进行解析,提高代理服务器流量回放的效率。
在其中一个实施例中,在对待回放数据组进行解析后,标记所述第七层数据包的长度,用于对代理服务器流量回放的执行效率进行分析。
在其中一个实施例中,丢弃乱序包比例达到预设阈值的数据流,可以保证用于流量回放的数据的完整性,提高对代理服务器流量回放的回放效率。
在其中一个实施例中,将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则,完成代理服务器的流量回放,适用于客户端和服务器个数较少的流量回放,提高流量回放的效率。
在其中一个实施例中,利用虚拟网卡实现待回放数据组的流量回放,由于虚拟网卡利用了虚拟网口,能够自动完成数量较多的通过代理服务器的客户端和服务器之间的待回放数据的流量回放,提高代理服务器流量回放的效率。
本发明还提供一种代理服务器流量回放系统,包括:
待回放原始数据获取模块,用于获取待回放原始数据;
待回放数据组获取模块,用于解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据;
数据包回放模块,用于通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。
在其中一个实施例中,所述待回放数据组获取模块,包括:
数据流解析单元,用于解析所述待回放原始数据,获取所述待回放原始数据中的各数据流;
待回放数据流获取单元,用于提取所述数据流中的应用层数据,在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,获取各待回放数据流;
待回放数据组获取单元,用于将所述各待回放数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组。
在其中一个实施例中,所述待回放数据流获取单元,还用于:
标记所述应用层数据包的长度。
在其中一个实施例中,所述数据流解析单元,还用于:
丢弃乱序包比例到达预设阈值的数据流。
在其中一个实施例中,还包括:
静态地址添加模块,用于将所述各待回放数据组中的所述各客户端的网际协议IP地址,设置于所述第一物理网口,将所述各服务器的IP地址设置于所述第二物理网口;将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则。
在其中一个实施例中,还包括:
动态地址添加模块,用于将所述各待回放数据组中其中一端的数据包的源MAC地址填充为第一物理网口的MAC地址、目的MAC地址填充为第二物理网口的MAC地址,获取虚拟发送数据包;将所述各待回放数据组中另一端的应答数据包的源MAC地址填充为第二物理网口的MAC地址、目的MAC地址填充为第一物理网口的MAC地址,获取虚拟应答数据包;
所述数据包回放模块,还用于将所述虚拟发送数据包通过第一虚拟网口发送至第一物理网口,再通过第一物理网口发送至代理服务器的第三物理网口;将所述虚拟应答数据包通过第二虚拟网口发送至第二物理网口,再通过第二物理网口发送至所述代理服务器的第四物理网口。
在其中一个实施例中,还包括:
回放指标获取模块,用于将所述第一物理网口和/或第二物理网口接收到的回放数据组,与所述待回放数据组进行比对,根据所述比对结果分析所述代理服务器的流量回放指标。
在其中一个实施例中,通过将待回放的原始数据进行解析,将解析出的各数据流按照四元组进行分组后,将其中一端的数据包通过第一物理网口发送至代理服务器的第三物理网口,将另一端的应答数据包通过第二物理网口发送至代理服务器的第四物理网口,完成所述待回放原始数据的回放。本发明通过对待回放原始数据进行整理后,再通过特定的物理网口对其中一端的数据包进行发送,完成对代理服务器的流量回放,避免了对每个数据包都需要进行连接跟踪,能够方便的实现对代理服务器的流量回放。
在其中一个实施例中,通过解析所述待回放原始数据中的第七层数据,标记发送方向,再按照四元组进行分组,获取各待回放数据组,将所述每个回放数据包中的七层数据剥离出来,用于在代理服务器中回放七层数据,对于七层以下的数据不进行解析,提高代理服务器流量回放的效率。
在其中一个实施例中,在对待回放数据组进行解析后,标记所述第七层数据包的长度,用于对代理服务器流量回放的执行效率进行分析。
在其中一个实施例中,丢弃数据流中乱序包的比例达到预设阈值的数据流,可以保证用于流量回放的数据的完整性,提高对代理服务器流量回放的回放效率。
在其中一个实施例中,将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则,完成代理服务器的流量回放,适用于客户端和服务器较少的流量回放。
在其中一个实施例中,利用虚拟网卡实现待回放数据组的流量回放,由于虚拟网卡利用了虚拟网口,能够自动完成数量较多的通过代理服务器的客户端和服务器之间的待回放数据的流量回放,提高了代理服务器流量回放的效率。
附图说明
图1为一个实施例的代理服务器流量回放方法的流程示意图;
图2为另一个实施例的代理服务器流量回放方法的流程示意图;
图3为又一个实施例的代理服务器流量回放方法的流程示意图;
图4为一个实施例的代理服务器流量回放系统的结构示意图;
图5为另一个实施例的代理服务器流量回放系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1为一个实施例的代理服务器流量回放方法的流程示意图,如图1所示的代理服务器流量回放方法,包括:
步骤S100,获取待回放原始数据。
具体的,所述待回放原始数据,包括通过代理服务器转发的数据,如代理服务器对HTTP(HyperText Transfer Protocol超文本传输协议)和邮件做了代理后,无法使用传统的流量回放工具进行流量回放,因为客户端发送给服务器的数据经过代理服务器时,从客户端到代理服务器,再从代理服务器到服务器,新建了一次连接,数据包的SEQ(Sequencenumber初始序列号)和ACK_SEQ(Acknowledgment Sequence number确认号)都发生了变化,基本改变了每个数据包的TCP(Transmission Control Protocol传输控制协议)头部信息。
步骤S200,解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据。
具体的,首先解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,所述数据流为客户端和服务器之间的一次会话的数据。在所述待回放原始数据中,将各数据流中的数据包,按照时间先后顺序整理在一起,一个会话一个数据流,再按照发送方和接收方的地址组合进行分组,所述发送方和接收方的地址组合,包括四元组,也包括五元组、七元组等其他与发送方和接收方的地址组合相关的参数组合。所述四元组包括源IP地址、目的IP地址、源端口、目的端口;不同的源IP地址和目的IP地址,代表不同的客户端和服务器,不同的源端口和目的端口代表不同的业务的数据流,如端口80通常为HTTP业务,443通常为SSL业务,110通常为POP业务等。将所述解析出的数据流,按照四元组进行分组后,可以按照客户端、服务器和业务进行分组,在接下来的流量回放中,可以按照需求选择不同的客户端或服务器的数据流,或选择不同的业务进行数据流的回放。
步骤S300,通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。
具体的,所述通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口,通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口,包括:
将各待回放数据组中所有的客户端发送的数据包通过第一物理网口发送至代理服务器的第三物理网口,所有的服务器端发送的数据包通过第二物理网口发送至代理服务器的第四物理网口;或
将各待回放数据组中部分客户端发送的数据包通过第一物理网口发送至代理服务器的第三物理网口,剩余部分客户端发送的数据包通过第二物理网口发送至代理服务器的第三物理网口;同时部分服务器端发送的数据包通过第一物理网口发送至代理服务器的第三物理网口,剩余部分服务器端发送的数据包通过第二物理网口发送至代理服务器的第四物理网口。
即,可以将所有的客户端发送的数据包都通过其中一个物理网口发送,所有的服务器端发送的数据包都通过另外一个物理网口发送,或,部分客户端发送的数据包和部分服务器端发送的数据包通过其中一个物理网口发送,剩余的客户端发送的数据包和剩余的服务器端发送的数据包,通过剩余的物理网口发送,可以根据客户端和服务器端发送的数据包的多少,进行灵活的设置。
使用数据流并发的功能发送所述待回放数据组,为解决流量回放中瞬间发送大量数据包请求所引起的拥塞问题,可以设置最大活动连接数,用于限制同时发送的数据包或活动连接的数据包的数量。
在本实施例中,通过将待回放的原始数据进行解析,将解析出的各数据流按照四元组进行分组后,将其中一端的数据包通过第一物理网口发送至代理服务器的第三物理网口,将另一端的应答数据包通过第二物理网口发送至代理服务器的第四物理网口,完成所述待回放原始数据的回放。本发明通过对待回放原始数据进行整理后,再通过特定的物理网口对其中一端的数据包进行发送,完成对代理服务器的流量回放,避免了对每个数据包都需要进行连接跟踪,能够方便的实现对代理服务器的流量回放。
在其中一个实施例中,解析所述待回放原始数据,获取所述待回放原始数据中的各数据流;提取所述数据流中的应用层数据,在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,获取各待回放数据流;将所述各待回放数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组。
具体的,在流量回放中,如只关心应用层的数据,则在对待回放原始数据进行分析时,只对第七层数据进行解析并提取,可提高数据解析的效率。如只对第七层数据进行解析并提取,需要在解析并提取后的各数据流中保留原始的四元组信息,并标记数据流中,每条数据的发送方向,才能获取到可以用于回放的待回放数据流。
在本实施例中,通过解析所述待回放原始数据中的第七层数据,标记发送方向,再按照四元组进行分组,获取各待回放数据组,将所述每个回放数据包中的七层数据剥离出来,用于在代理服务器中回放七层数据,对于七层以下的数据不进行解析,提高代理服务器流量回放的效率。
在其中一个实施例中,所述在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,还包括:标记所述应用层数据包的长度。
具体的,在各数据流中对各数据包的长度进行标记,用于在流量回放后,根据所述接收到的数据包的长度进行对比,以分析代理服务器流量回放的数据包是否被完整的成功回放。
在本实施例中,在对待回放数据组进行解析后,标记所述第七层数据包的长度,用于对代理服务器流量回放的执行效率进行分析。
在其中一个实施例中,所述解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,还包括:丢弃乱序包比例到达预设阈值的数据流。
具体的,所述丢弃乱序包比例达到预设阈值的数据流,用于整理所述待回放原始数据,将待回放原始数据中不完整的数据剔除,提高生成的待回放数据流的数据的完整性,以提高流量回放的回放效率。在丢弃乱序包比例达到预设阈值的数据流的同时,本实施例还包括,只保留完整的数据流、保留有连接开始但没有结束的数据流等。
在其中一个实施例中,在所述通过第二物理网口接收所述代理服务器发回的回放数据组的步骤之后,所述方法还包括:将所述第一物理网口和/或第二物理网口接收到的回放数据组,与所述待回放数据组进行比对,根据所述比对结果分析所述代理服务器的流量回放指标。
具体的,在代理服务器进行流量回放后,将接收到的回放数据组,和回访前的待回放数据组进行比对分析,如分析接收成功率、接收时延等,对代理服务器进行压力测试,对流量回放进行执行效率的分析等。
在本实施例中,根据接收到的回放数据组与待回放数据组进行比对,以分析代理服务器的流量回访指标,可以进一步的对代理服务器的流量回放的执行结果进行分析。
图2为另一个实施例的代理服务器流量回放方法的流程示意图,如图2所示的代理服务器流量回放方法,包括:
步骤S100a,获取待回放原始数据。
具体的,同步骤S100。
步骤S200a,解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据。
具体的,同步骤S200。
步骤S300a,将所述各待回放数据组中的所述各客户端的网际协议IP地址,设置于所述第一物理网口,将所述各服务器的IP地址设置于所述第二物理网口;将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则。
具体的,所述ARP协议是(Address Resolution Protocol地址解析协议)的缩写。在计算机网络中,一个节点和另一个节点进行直接通信,必须要知道目标节点的MAC地址,目标MAC地址的获得,通过ARP协议,即地址解析协议获得的。所述“地址解析”就是发送数据的节点在发送数据帧前将数据包的目标IP地址转换成目标MAC地址的过程。ARP协议通过目标节点设备的IP地址,查询目标节点设备的MAC地址,以保证通信的顺利进行。
当网络中的节点数较少,且所述节点的IP地址数较少时,采用静态ARP规则,将每个节点的IP地址和MAC地址写入静态ARP规则中,以使待回放数据组在发送时,能够完成地址解析,成功发送。
步骤S400a,通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。
具体的,采用步骤S300a时,根据图2所述的实施例中步骤S400的相关描述,是将所有客户端发送的数据包通过其中一个物理网口发送,将所有服务器端发送的数据包通过另外一个物理网口发送。
若将部分客户端和部分服务器端发送的数据包通过其中一个物理网口发送,将剩余客户端和剩余服务器端发送的数据包通过另外一个物理网口发送,则在步骤S300a中,需要将部分客户端和部分服务器端的IP地址,设置于第一物理网口,将剩余客户端和剩余服务器端的IP地址,设置于第二物理网口,并将各客户端和各服务器的MAC地址和IP地址,写入静态ARP规则中,以便完成待回放数据流的回放。
在本实施例中,将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则,完成代理服务器的流量回放,适用于客户端和服务器个数较少的流量回放,提高流量回放的效率。
图3为又一个实施例的代理服务器流量回放方法的流程示意图,如图3所示的代理服务器流量回放方法,包括:
步骤S100b,获取待回放原始数据。
具体的,同步骤S100。
步骤S200b,解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据。
具体的,同步骤S200。
步骤S300b,将所述各待回放数据组中其中一端的数据包的源MAC地址填充为第一物理网口的MAC地址、目的MAC地址填充为第二物理网口的MAC地址,获取虚拟发送数据包;将所述各待回放数据组中另一端的应答数据包的源MAC地址填充为第二物理网口的MAC地址、目的MAC地址填充为第一物理网口的MAC地址,获取虚拟应答数据包。
具体的,在本实施例中,通过设置虚拟网卡实现数据包的寻址。首先,设置两个虚拟网卡,分别为第一虚拟网口和第二虚拟网口。所有通过第一物理网口的数据,发送时先通过第一虚拟网卡,该虚拟网卡的处理函数会将数据包的源MAC地址填充为第一物理网卡的地址,目的MAC地址填充为第二物理网卡的地址,然后将数据包传递给第一物理网口,通过第一物理网口发送数据包。在接收回放数据包时,数据包先进入到第一物理网口,通过第一物理网口的处理函数将数据包强制传递给第一虚拟网卡,再由第一虚拟网口接收数据。第二虚拟网口和第二物理网口相互配合工作的流程同上。
步骤S400b,将所述虚拟发送数据包通过第一虚拟网口发送至第一物理网口,再通过第一物理网口发送至代理服务器的第三物理网口;将所述虚拟应答数据包通过第二虚拟网口发送至第二物理网口,再通过第二物理网口发送至所述代理服务器的第四物理网口。
具体的,所述虚拟发送数据包,包括将所有的客户端发送的数据包通过其中一个物理网口发送,所有客户端发送的数据包通过另外一个物理网口发送;或将部分客户端发送的数据包和部分服务器端发送的数据包通过其中一个物理网口发送,剩余的客户端和剩余的服务器端的数据包通过另外一个物理网口发送,将数据包的源MAC地址和目的MAC地址填充为相应的物理网口的MAC地址即可。
在本实施例中,利用虚拟网卡实现待回放数据组的流量回放,由于虚拟网卡利用了虚拟网口,能够自动完成数量较多的通过代理服务器的客户端和服务器之间的待回放数据的流量回放,提高代理服务器流量回放的效率。
图4为一个实施例的代理服务器流量回放系统的结构示意图,如图4所示的代理服务器流量回放系统包括:
待回放原始数据获取模块100,用于获取待回放原始数据;
待回放数据组获取模块200,用于解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据;包括数据流解析单元,用于解析所述待回放原始数据,获取所述待回放原始数据中的各数据流;待回放数据流获取单元,用于提取所述数据流中的应用层数据,在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,获取各待回放数据流;待回放数据组获取单元,用于将所述各待回放数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组。所述待回放数据流获取单元,还用于标记所述应用层数据包的长度。所述数据流解析单元,还用于丢弃乱序包比例到达预设阈值的数据流。
数据包回放模块300,用于通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。
在本实施例中,通过将待回放的原始数据进行解析,将解析出的各数据流按照四元组进行分组后,将其中一端的数据包通过第一物理网口发送至代理服务器的第三物理网口,将另一端的应答数据包通过第二物理网口发送至代理服务器的第四物理网口,完成所述待回放原始数据的回放。本发明通过对待回放原始数据进行整理后,再通过特定的物理网口对其中一端的数据包进行发送,完成对代理服务器的流量回放,避免了对每个数据包都需要进行连接跟踪,能够方便的实现对代理服务器的流量回放。
在本实施例中,通过解析所述待回放原始数据中的第七层数据,标记发送方向,再按照四元组进行分组,获取各待回放数据组,将所述每个回放数据包中的七层数据剥离出来,用于在代理服务器中回放七层数据,对于七层以下的数据不进行解析,提高代理服务器流量回放的效率。
在本实施例中,在对待回放数据组进行解析后,标记所述第七层数据包的长度,用于对代理服务器流量回放的执行效率进行分析。
在本实施例中,丢弃乱序包比例达到预设阈值的数据流,可以保证用于流量回放的数据的完整性,提高对代理服务器流量回放的回放效率。
图5为另一个实施例的代理服务器流量回放系统的结构示意图,如图5所示的代理服务器流量回放系统包括:
待回放原始数据获取模块100a,用于获取待回放原始数据。
待回放数据组获取模块200a,用于解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据。
静态地址添加模块300a,用于将所述各待回放数据组中的所述各客户端的网际协议IP地址,设置于所述第一物理网口,将所述各服务器的IP地址设置于所述第二物理网口;将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则。
动态地址添加模块400a,用于将所述各待回放数据组中其中一端的数据包的源MAC地址填充为第一物理网口的MAC地址、目的MAC地址填充为第二物理网口的MAC地址,获取虚拟发送数据包;将所述各待回放数据组中另一端的应答数据包的源MAC地址填充为第二物理网口的MAC地址、目的MAC地址填充为第一物理网口的MAC地址,获取虚拟应答数据包。
数据包回放模块500a,用于通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连;还用于将所述虚拟发送数据包通过第一虚拟网口发送至第一物理网口,再通过第一物理网口发送至代理服务器的第三物理网口;将所述虚拟应答数据包通过第二虚拟网口发送至第二物理网口,再通过第二物理网口发送至所述代理服务器的第四物理网口。
回放指标获取模块600a,用于将所述第一物理网口和/或第二物理网口接收到的回放数据组,与所述待回放数据组进行比对,根据所述比对结果分析所述代理服务器的流量回放指标。
在本实施例中,将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则,完成代理服务器的流量回放,适用于客户端和服务器较少的流量回放;利用虚拟网卡实现待回放数据组的流量回放,由于虚拟网卡利用了虚拟网口,能够自动完成数量较多的通过代理服务器的客户端和服务器之间的待回放数据的流量回放,提高代理服务器流量回放的效率。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (14)
1.一种代理服务器流量回放方法,其特征在于,所述方法包括:
获取待回放原始数据;
解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据;
通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。
2.根据权利要求1所述的代理服务器流量回放方法,其特征在于,所述解析所述待回放原始数据,将解析出的数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,包括:
解析所述待回放原始数据,获取所述待回放原始数据中的各数据流;
提取所述数据流中的应用层数据,在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,获取各待回放数据流;
将所述各待回放数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组。
3.根据权利要求2所述的代理服务器流量回放方法,其特征在于,所述在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,还包括:
标记所述应用层数据包的长度。
4.根据权利要求2所述的代理服务器流量回放方法,其特征在于,所述解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,还包括:
丢弃乱序包比例到达预设阈值的数据流。
5.根据权利要求1所述的代理服务器流量回放方法,其特征在于,在所述通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口的步骤之前,所述方法还包括:
将所述各待回放数据组中的所述各客户端的网际协议IP地址,设置于所述第一物理网口,将所述各服务器的IP地址设置于所述第二物理网口;
将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则。
6.根据权利要求1所述的代理服务器流量回放方法,其特征在于,在所述通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口的步骤之前,所述方法还包括:
将所述各待回放数据组中其中一端的数据包的源MAC地址填充为第一物理网口的MAC地址、目的MAC地址填充为第二物理网口的MAC地址,获取虚拟发送数据包;
将所述各待回放数据组中另一端的应答数据包的源MAC地址填充为第二物理网口的MAC地址、目的MAC地址填充为第一物理网口的MAC地址,获取虚拟应答数据包;
所述通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口,通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口,还包括:
将所述虚拟发送数据包通过第一虚拟网口发送至第一物理网口,再通过第一物理网口发送至代理服务器的第三物理网口;
将所述虚拟应答数据包通过第二虚拟网口发送至第二物理网口,再通过第二物理网口发送至所述代理服务器的第四物理网口。
7.根据权利要求1所述的代理服务器流量回放方法,其特征在于,在所述通过第二物理网口接收所述代理服务器发回的回放数据组的步骤之后,所述方法还包括:
将所述第一物理网口和/或第二物理网口接收到的回放数据组,与所述待回放数据组进行比对,根据所述比对结果分析所述代理服务器的流量回放指标。
8.一种代理服务器流量回放系统,其特征在于,包括:
待回放原始数据获取模块,用于获取待回放原始数据;
待回放数据组获取模块,用于解析所述待回放原始数据,获取所述待回放原始数据中的各数据流,将解析出的各数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组,所述数据流为客户端和服务器之间的一次会话的数据;
数据包回放模块,用于通过第一物理网口将所述各待回放数据组中其中一端的数据包发送至代理服务器的第三物理网口;通过第二物理网口将所述各待回放数据组中另一端的应答数据包发送至代理服务器的第四物理网口;其中,所述第一物理网口和所述代理服务器的第三物理网口直连,所述第二物理网口和所述代理服务器的第四物理网口直连。
9.根据权利要求8所述的代理服务器流量回放系统,其特征在于,所述待回放数据组获取模块,包括:
数据流解析单元,用于解析所述待回放原始数据,获取所述待回放原始数据中的各数据流;
待回放数据流获取单元,用于提取所述数据流中的应用层数据,在所述提取后的各数据流中保留原始的发送方和接收方的地址组合信息,并标记发送方向,获取各待回放数据流;
待回放数据组获取单元,用于将所述各待回放数据流按照发送方和接收方的地址组合进行分组,获取各待回放数据组。
10.根据权利要求9所述的代理服务器流量回放系统,其特征在于,所述待回放数据流获取单元,还用于:
标记所述应用层数据包的长度。
11.根据权利要求9所述的代理服务器流量回放系统,其特征在于,所述数据流解析单元,还用于:
丢弃乱序包比例到达预设阈值的数据流。
12.根据权利要求8所述的代理服务器流量回放系统,其特征在于,还包括:
静态地址添加模块,用于将所述各待回放数据组中的所述各客户端的网际协议IP地址,设置于所述第一物理网口,将所述各服务器的IP地址设置于所述第二物理网口;将所述各客户端和所述各服务器的媒体访问控制MAC地址和IP地址,写入静态地址解析协议ARP规则。
13.根据权利要求8所述的代理服务器流量回放系统,其特征在于,还包括:
动态地址添加模块,用于将所述各待回放数据组中其中一端的数据包的源MAC地址填充为第一物理网口的MAC地址、目的MAC地址填充为第二物理网口的MAC地址,获取虚拟发送数据包;将所述各待回放数据组中另一端的应答数据包的源MAC地址填充为第二物理网口的MAC地址、目的MAC地址填充为第一物理网口的MAC地址,获取虚拟应答数据包;
所述数据包回放模块,还用于将所述虚拟发送数据包通过第一虚拟网口发送至第一物理网口,再通过第一物理网口发送至代理服务器的第三物理网口;将所述虚拟应答数据包通过第二虚拟网口发送至第二物理网口,再通过第二物理网口发送至所述代理服务器的第四物理网口。
14.根据权利要求8所述的代理服务器流量回放系统,其特征在于,还包括:
回放指标获取模块,用于将所述第一物理网口和/或第二物理网口接收到的回放数据组,与所述待回放数据组进行比对,根据所述比对结果分析所述代理服务器的流量回放指标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710018009.9A CN106713077B (zh) | 2017-01-11 | 2017-01-11 | 代理服务器流量回放方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710018009.9A CN106713077B (zh) | 2017-01-11 | 2017-01-11 | 代理服务器流量回放方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106713077A true CN106713077A (zh) | 2017-05-24 |
CN106713077B CN106713077B (zh) | 2019-10-18 |
Family
ID=58908276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710018009.9A Active CN106713077B (zh) | 2017-01-11 | 2017-01-11 | 代理服务器流量回放方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106713077B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345902A (zh) * | 2018-01-24 | 2018-07-31 | 深圳市永达电子信息股份有限公司 | 基于事务特征的自学习白名单模型库构建及白名单检测法 |
CN110034972A (zh) * | 2019-03-22 | 2019-07-19 | 深圳市腾讯信息技术有限公司 | 服务器压力测试方法和装置 |
CN111274117A (zh) * | 2018-12-04 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 推荐服务的实验及其管理方法、装置和系统 |
CN111488252A (zh) * | 2020-04-08 | 2020-08-04 | 上海优扬新媒信息技术有限公司 | 一种流量回放方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355483A (zh) * | 2008-08-27 | 2009-01-28 | 成都市华为赛门铁克科技有限公司 | 一种多网口发送数据包的方法和设备 |
CN101841441A (zh) * | 2010-05-05 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 流量控制设备的测试方法、系统及数据流回放装置 |
US20120191816A1 (en) * | 2010-10-13 | 2012-07-26 | Sonos Inc. | Method and apparatus for collecting diagnostic information |
CN103986624A (zh) * | 2014-05-28 | 2014-08-13 | 西安交通大学 | 一种网络流量还原回放方法 |
-
2017
- 2017-01-11 CN CN201710018009.9A patent/CN106713077B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101355483A (zh) * | 2008-08-27 | 2009-01-28 | 成都市华为赛门铁克科技有限公司 | 一种多网口发送数据包的方法和设备 |
CN101841441A (zh) * | 2010-05-05 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 流量控制设备的测试方法、系统及数据流回放装置 |
US20120191816A1 (en) * | 2010-10-13 | 2012-07-26 | Sonos Inc. | Method and apparatus for collecting diagnostic information |
CN103986624A (zh) * | 2014-05-28 | 2014-08-13 | 西安交通大学 | 一种网络流量还原回放方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108345902A (zh) * | 2018-01-24 | 2018-07-31 | 深圳市永达电子信息股份有限公司 | 基于事务特征的自学习白名单模型库构建及白名单检测法 |
CN108345902B (zh) * | 2018-01-24 | 2021-08-17 | 深圳市永达电子信息股份有限公司 | 基于事务特征的自学习白名单模型库构建及白名单检测法 |
CN111274117A (zh) * | 2018-12-04 | 2020-06-12 | 阿里巴巴集团控股有限公司 | 推荐服务的实验及其管理方法、装置和系统 |
CN111274117B (zh) * | 2018-12-04 | 2023-04-18 | 阿里巴巴集团控股有限公司 | 推荐服务的实验及其管理方法、装置和系统 |
CN110034972A (zh) * | 2019-03-22 | 2019-07-19 | 深圳市腾讯信息技术有限公司 | 服务器压力测试方法和装置 |
CN110034972B (zh) * | 2019-03-22 | 2021-07-06 | 深圳市腾讯信息技术有限公司 | 服务器压力测试方法和装置 |
CN111488252A (zh) * | 2020-04-08 | 2020-08-04 | 上海优扬新媒信息技术有限公司 | 一种流量回放方法及装置 |
CN111488252B (zh) * | 2020-04-08 | 2023-10-03 | 度小满科技(北京)有限公司 | 一种流量回放方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106713077B (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100890015B1 (ko) | 로드 밸런서 작동 가속 방법, 패킷 그룹과 각 종착지 서버 사이를 상호 연관시키는 리스트 내의 엔트리 생성 방법 및 로드 밸런스 가속기 | |
CN106713077B (zh) | 代理服务器流量回放方法和系统 | |
US9436542B2 (en) | Automated network infrastructure test and diagnostic system and method therefor | |
CN105553977B (zh) | 请求消息的处理、发送方法及装置 | |
US6625650B2 (en) | System for multi-layer broadband provisioning in computer networks | |
Balakrishnan et al. | TCP behavior of a busy Internet server: Analysis and improvements | |
US8094660B2 (en) | VLAN server | |
US7065086B2 (en) | Method and system for efficient layer 3-layer 7 routing of internet protocol (“IP”) fragments | |
US7289509B2 (en) | Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections | |
CN104735077B (zh) | 一种使用环形缓存和环形队列实现udp高效并发的方法 | |
CN106911778A (zh) | 一种流量引导方法和系统 | |
CN107124402A (zh) | 一种报文过滤的方法和装置 | |
TW201021466A (en) | Data path acceleration of a network stack | |
CN111835758A (zh) | 基于tcp/udp透明代理实现的蜜罐攻击者溯源的方法 | |
CN108093041A (zh) | 单通道vdi代理服务系统及实现方法 | |
JP2023505720A (ja) | ネットワークトラフィック識別デバイス | |
CN110392066A (zh) | 一种访问服务的方法和装置 | |
CN110505300A (zh) | 一种ip网络与命名数据网络混合的新型链式代理方法 | |
US20040148417A1 (en) | Method and system for distinguishing higher layer protocols of the internet traffic | |
CN107124482A (zh) | 一种dns数据包转发方法、系统及路由器 | |
CN103227781A (zh) | 基于用户数据报协议的网络诊断及性能评估系统和方法 | |
CN107948022A (zh) | 一种对等网络流量的识别方法及识别装置 | |
CN108063713A (zh) | 一种网络请求的处理方法及装置 | |
Caceres | Multiplexing traffic at the entrance to wide-area networks | |
CN106572121B (zh) | 一种vpn数据的审计方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100190 Zhongguancun street, Haidian District, Beijing, No. 22, A1305, 13 Applicant after: Beijing net an Technology Limited by Share Ltd Address before: 100190 Beijing City, Haidian District Zhongguancun street, No. 22, building 1301 Applicant before: Beijing Rising Information Technology Co., Ltd |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |