一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务流量模拟方法、装置和服务流量模拟器与流程

2022-03-26 04:43:00 来源:中国专利 TAG:


1.本发明涉及通讯技术领域,具体涉及一种服务流量模拟方法、装置和服务流量模拟器。


背景技术:

2.攻击流量发包模拟器面向工业企业网络、工业互联网平台、工控系统实现攻击测试、模拟、验证等功能,整合工业互联网安全领域所需的攻防对抗技术和知识库,可适用于不同行业应用的安全业务。现在传统的it行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高。到后面引入了soa服务化(society of actuaries), soa服务化是一种面向服务的架构,但是,由于soa早期均使用了总线模式,这种总线模式是与某种技术栈强绑定的,比如:j2ee。这导致很多企业的遗留系统很难对接,切换时间太长,成本太高,新系统稳定性的收敛也需要一些时间。过去一款产品的开发和上线需要两套环境,分别是应用环境和配置环境,在开发——运维的过程中环境配置非常麻烦,比如要发布一个war 项目,需要配置的环境很多包括项目自带环境安装,服务器配置应用环境等等并且不能跨平台进行,这给不论是前端开发还是后端运维都带了很大的压力。
3.现有市场存在一些主流的攻击流量发包工具,例如:ixia breakingpoint,其步骤包括:
4.s1、拓扑配置:对网卡、网络参数配置,(包括ip地址、mac地址修改),以及多客户端集群模拟。
5.s2、流量配置:基于规则的流量生成,支持多协议、攻击流量、流量包合成,支持数据包导入。
6.s3、流量生成:大性能的流量生成,双臂测试(双网卡,实现请求流量从a网口发出,响应流量从b网口发出,形成回路,可实现针对交换机、路由器、防火墙等设备的测试)。
7.s4、数据统计:针对流量的统计报表展示,包括速率、连接数、丢包率、时延等多参数的统计。
8.s5、非开源商业软件,单任务执行(会占用网卡)。
9.申请人经研究发现,现有的一些攻击流量发包工具,只能满足单任务执行,也就是一次只能一个人发包,不能多个人同时使用,网卡在发包时会被占用。


技术实现要素:

10.有鉴于此,本发明实施例提供一种服务流量模拟方法、装置和服务流量模拟器,以实现在网络测试过程中多任务同时执行。
11.为实现上述目的,本发明实施例提供如下技术方案:
12.一种服务流量模拟方法,包括:
13.选择至少一个需要发送的流量包作为目标流量包;
14.获取至少一个要进行发包的物理网口;
15.基于获取到的用户指令获取所述目标流量包的发包时长、发包速率、客户端起始ip地址、客户端结束ip地址、服务端起始ip地址和服务端结束ip 地址;
16.基于所述物理网口、发包时长、发包速率、客户端起始ip地址、客户端结束ip地址、服务端起始ip地址和服务端结束ip地址发送所述目标流量包。
17.可选的,上述服务流量模拟方法中,选择至少一个需要发送的流量包作为目标流量包之前,还包括:
18.基于流量类型和攻击类型对流量包进行筛选;
19.所述选择至少一个需要发送的流量包作为目标流量包,包括:
20.基于获取到的选择指令,由基于筛选结果中选择至少一个需要发送的流量包作为目标流量包。
21.可选的,上述服务流量模拟方法中,还包括:
22.当在发送所述目标流量包的过程中,如果所述发包时长到来之前获取到停止指令时,停止发送所述目标流量包。
23.可选的,上述服务流量模拟方法中,发送所述目标流量包之后还包括:
24.生成并展示统计信息,所述统计信息至少包括以下一种或多种数据的组合:
25.平均cpu利用率、总发送速率、总接收速率、总每秒包数、预期每秒包数、预期每秒连接数、预期速率、活动流、已打开流、丢包速率、剩余时长。
26.一种服务流量模拟装置,包括:
27.选择单元,用于选择至少一个需要发送的流量包作为目标流量包;
28.配置数据选择单元,用于获取至少一个要进行发包的物理网口;基于获取到的用户指令获取所述目标流量包的发包时长、发包速率、客户端起始ip 地址、客户端结束ip地址、服务端起始ip地址和服务端结束ip地址;
29.微服务流量模拟单元,用于基于所述物理网口、发包时长、发包速率、客户端起始ip地址、客户端结束ip地址、服务端起始ip地址和服务端结束 ip地址发送所述目标流量包。
30.可选的,上述服务流量模拟装置中,还包括:docker镜像单元,用于通过镜像单元实现对多个服务流量模拟装置的一键配置。
31.可选的,上述服务流量模拟装置中,所述选择单元还用于:
32.基于流量类型和攻击类型对流量包进行筛选;
33.所述选择至少一个需要发送的流量包作为目标流量包,包括:
34.基于获取到的选择指令,由基于筛选结果中选择至少一个需要发送的流量包作为目标流量包。
35.可选的,上述服务流量模拟装置中,所述微服务流量模拟单元还用于:
36.当在发送所述目标流量包的过程中,如果所述发包时长到来之前获取到停止指令时,停止发送所述目标流量包。
37.可选的,上述服务流量模拟装置中,还包括:统计信息单元,用于在微服务流量模拟单元发送所述目标流量包之后,生成并展示统计信息,所述统计信息至少包括以下一种或多种数据的组合:
38.平均cpu利用率、总发送速率、总接收速率、总每秒包数、预期每秒包数、预期每秒连接数、预期速率、活动流、已打开流、丢包速率、剩余时长。
39.一种服务流量模拟器,加载有至少一个上述服务流量模拟装置。
40.基于上述技术方案,本发明实施例提供的上述方案,在确定所述目标流量包后,将所述目标流量包绑定发包的物理网口,在获取发包规则,基于发包规则向测试对象进行发包,可以实现同时采用多个物理网口进行发包操作,实现了多任务同时执行。
附图说明
41.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
42.图1为本技术实施例公开的服务流量模拟方法的流程示意图;
43.图2为本技术实施例公开的服务流量模拟装置的结构示意图。
具体实施方式
44.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.为了实现同时对多个目标进行测试,实现多任务同时执行,本技术公开了一种服务流量模拟方法,参见图1,该方法可以包括:
46.步骤s101:选择至少一个需要发送的流量包作为目标流量包。
47.在本技术实施例公开的技术方案中,流量包池中具有多个流量包,在本不重中需要基于自身需求由所述流量池中选择目标流量包作为本次用于进行流量测试的流量包。
48.在本技术另一实施例公开的技术方案中,基于测试对象的不同,所选择的目标流量包的类型也就不同,例如,现有技术中,流量包池中的流量包类型可以分为流量类型和攻击类型,为了便于用户快速确定所述目标流量包,本技术是实施例公开的技术方案中还可以包括:基于流量类型和攻击类型对所述流量包池中的流量包进行聚类和筛选,基于获取到的选择指令,由筛选到的与用户所需流量包类型相匹配的流量包池中选择至少一个需要发送的流量包作为目标流量包。
49.步骤s102:获取至少一个要进行发包的物理网口。
50.在本步骤中,当所述目标流量包确定以后,需要确定一个用于进行发包的物理网口,在本步骤中,所述物理网口的数量可以为多个,通过建立所述目标流量包和所述物理网口之间的绑定关系,可以同时采用多个物理网口发送所述目标流量包。
51.在建立所述目标流量包和所述物理网口之间的绑定关系时可以通过 linux bridge技术来实现。
52.进一步的,本技术实施例公开的上述方法可以基于docker的network配置预先建立多个虚拟网口,所述虚拟网口不受宿主机物理网口数的限制;可以优先将所述目标流量
包绑定值所述虚拟网口,再通过docker的bridge网络,将所述虚拟网口桥接至物理网口,实现物理网口的数据包回放,且可通过桥接配置,灵活更改网口映射关系。所谓的数据包回放,指的是将数据包的流向再次重现,也就是说再把这个数据包的流向走一遍,避免了发包引擎直接在宿主机中运行占用网口,不支持多任务,且网口不可访问的问题。
53.步骤s103:基于获取到的用户指令获取所述目标流量包的发包时长、发包速率、客户端起始ip地址、客户端结束ip地址、服务端起始ip地址和服务端结束ip地址。
54.当发包的物理网口确定以后,基于获取到的指令配置发包规则,所述发包规则包括但不限于发包时长、发包速率、客户端起始ip地址、客户端结束 ip地址、服务端起始ip地址和服务端结束ip地址,该发包规则可以由选定的预设的模板中获取,也可以由用户键入。
55.步骤s104:基于所述物理网口、发包时长、发包速率、客户端起始ip地址、客户端结束ip地址、服务端起始ip地址和服务端结束ip地址发送所述目标流量包。
56.当所述发包规则确定以后,基于所述发包规则向测试对象发送所述目标流量包。
57.在本技术实施例公开的技术方案中,在确定所述目标流量包后,将所述目标流量包绑定发包的物理网口,在获取发包规则,基于发包规则向测试对象进行发包,可以实现同时采用多个物理网口进行发包操作,实现了多任务同时执行。
58.在本技术另一实施例公开的技术方案中,在所述发包时长到来之前,用户可以基于自身需求随时停止发包操作,即,当在发送所述目标流量包的过程中,如果所述发包时长到来之前获取到停止指令时,停止发送所述目标流量包,该停止指令可以是基于用户操作产生的停止指令。
59.在本技术另一实施例公开的技术方案中,为了便于用户实时查看发包数据及成功率等相关信息,在本技术实施例公开的技术方案中,当向测试对象发送所述目标流量包之后,还可以包括:
60.生成并通过显示界面展示统计信息,所述统计信息至少包括以下一种或多种数据的组合:
61.应用有本技术实施例公开的方法的系统平均cpu利用率、总发送速率、总接收速率、总每秒包数、预期每秒包数、预期每秒连接数、预期速率、活动流、已打开流、丢包速率、剩余时长等。
62.还可以通过所述显示界面展示各个物理网口的统计信息,所述物理网口的统计信息具体可以包括:发送数据包数目、发送数据包字节(b)、接收数据包数目、接收数据包字节(b)、发送错误、接收错误、发送速率(bps)等中的一项或多项、如果发送失败还可以通过所述显示界面弹出发送失败原因。
63.在本技术实施例公开的技术方案中,每个应用有本技术实施例公开的服务流量模拟方法的装置与其他的应用有本技术实施例公开的服务流量模拟方法的装置之间可以呈镜像关系,通过所述镜像关系应用有本技术实施例公开的服务流量模拟方法的装置的一键编排部署,由此,本技术实施例公开的技术方案中,还可以包括:
64.当获取到镜像指令时,向其他应用所述服务流量模拟方法的装置共享镜像指令对应的配置参数。
65.例如,参见图2,可以采用docker将本技术实施例公开的服务流量模拟方法封装成容器,将封装成的容器作为微服务运行,同一台设备上可以加载运行多个封装成容器的容
器,这些容器可以同时运行,这些同时运行的容器都有自己单独的docker镜像,使用docker-compose可对多个镜像进行一键编排部署,设置好对应的容器参数,以及容器间的调用关系,可以在忽略容器 ip的情况下完成容器间的相互调用,整个系统的正常运行。此时会有一些共享目录,共享目录可以在宿主机管理一些配置,日志文件,这些配置,日志文件可以为所述服务流量模拟方法在执行过程中,在向测试对象发包测试过程中,不用每次都进入docker查看,也可以多个docker镜像共享同一个文件夹下的文件,特别是大文件,就不用通过http来传输这大文件流,而是直接读取,速度更快,性能更好。
66.本实施例中公开了服务流量模拟装置,该装置中的各个单元的具体工作内容,请参见上述方法实施例的内容,下面对本发明实施例提供的服务流量模拟装置进行描述,下文描述的服务流量模拟装置与上文描述的服务流量模拟方法可相互对应参照。
67.对应于上述方法,本技术还公开了一种服务流量模拟装置,参见图2,该装置可以包括:
68.选择单元100,与上述方法中步骤s101相对应,所述选择单元100用于选择至少一个需要发送的流量包作为目标流量包;
69.配置数据选择单元200,与上述方法中步骤s102-s103相对应,所述配置数据选择单元200,用于获取至少一个要进行发包的物理网口;基于获取到的用户指令获取所述目标流量包的发包时长、发包速率、客户端起始ip地址、客户端结束ip地址、服务端起始ip地址和服务端结束ip地址;
70.微服务流量模拟单元300,与上述方法中步骤s104相对应,所述微服务流量模拟单元300用于基于所述物理网口、发包时长、发包速率、客户端起始ip地址、客户端结束ip地址、服务端起始ip地址和服务端结束ip地址发送所述目标流量包。
71.与上述方法相对应,上述装置还可以包括docker镜像单元,用于通过镜像单元实现对多个服务流量模拟装置的一键配置。
72.与上述方法相对应,所述选择单元还用于:
73.基于流量类型和攻击类型对流量包进行筛选;
74.所述选择至少一个需要发送的流量包作为目标流量包,包括:
75.基于获取到的选择指令,由基于筛选结果中选择至少一个需要发送的流量包作为目标流量包。
76.与上述方法相对应,所述微服务流量模拟单元还用于:
77.当在发送所述目标流量包的过程中,如果所述发包时长到来之前获取到停止指令时,停止发送所述目标流量包。
78.与上述方法相对应,还包括:统计信息单元,用于在微服务流量模拟单元发送所述目标流量包之后,生成并展示统计信息,所述统计信息至少包括以下一种或多种数据的组合:
79.平均cpu利用率、总发送速率、总接收速率、总每秒包数、预期每秒包数、预期每秒连接数、预期速率、活动流、已打开流、丢包速率、剩余时长。
80.与上述方法相对应,上述装置可以通过docker封装成容器作为微服务运行,从而使得一台设备上可以同时运行多个微服务。例如:可以启动多个docker 封装成的容器,访问发包引擎服务,执行数据包回放任务,通过预先配置的映射关系,将多任务的数据包回放
流送至相应物理网口,实现多任务回放。
81.为了提高性能数据包回收能力,本技术上述实施例公开的服务流量模拟装置可以为基于开源dpdk技术创建的服务流量模拟装置,
82.一种服务流量模拟器,加载有至少一个所述的服务流量模拟装置。所述服务流量模拟器具有双网口,所述服务流量模拟器的一个网口作为客户端网口使用,另一个网口作为服务端网口使用,客户端流量(目标流量包)从网口端流出,从服务端流入,服务端流量(目标流量包)从服务端流出,从客户端流入,形成流量回路,从而实现被测网络中的显示流量的模拟,该装置可以通过服务端和客户端流出和流入的数据来统计前文提到的统计信息。
83.为了描述的方便,描述以上系统时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
84.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
85.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
86.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
87.还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
88.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明
将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献