CN110048960B - 带报文应答的分布式流量生成系统 - Google Patents

带报文应答的分布式流量生成系统 Download PDF

Info

Publication number
CN110048960B
CN110048960B CN201910308535.8A CN201910308535A CN110048960B CN 110048960 B CN110048960 B CN 110048960B CN 201910308535 A CN201910308535 A CN 201910308535A CN 110048960 B CN110048960 B CN 110048960B
Authority
CN
China
Prior art keywords
message
flow
domain
traffic
data
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.)
Expired - Fee Related
Application number
CN201910308535.8A
Other languages
English (en)
Other versions
CN110048960A (zh
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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN201910308535.8A priority Critical patent/CN110048960B/zh
Publication of CN110048960A publication Critical patent/CN110048960A/zh
Application granted granted Critical
Publication of CN110048960B publication Critical patent/CN110048960B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2466Traffic characterised by specific attributes, e.g. priority or QoS using signalling traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5061Pools of addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

Abstract

本发明设计了一种带报文应答的分布式流量生成系统,技术涉及分布式网络系统、传输层TCP和UDP协议栈及其应用层协议解析和报文重构,属于计算机与信息科学技术领域。本发明的目的是为解决目前软件流量生成系统无法提供在渗透测试时可供用户定制的流量应答服务,以及现有软件流量生成系统受单机带宽限制而无法为复杂系统提供用于稳定性测试的大带宽背景流量的问题。本发明在使用时用户可使用针对本系统特意构建的多域高级规则匹配模块,对流量生成规则和报文应答规则进行深度自定义,从而使生成的流量具有高度拟真的特性。同时用户可根据不同的网络拓扑结构部署分布式流量出口,从而可以使生成的流量尽可能充满所有的子网,全面测试网络系统的稳定性和安全性。

Description

带报文应答的分布式流量生成系统
技术领域
本发明设计了一种带报文应答的分布书流量生成系统,技术涉及分布式网络系统和传输层TCP和UDP协议栈及其应用层协议解析和报文重构,属于计算机与信息科学技术领域。
背景技术
随着网络技术的快速发展,给我们的工作和生活带来了方便,但是随着提供的服务越来越复杂,网络系统的复杂度也随之提升。复杂的网络系统给我们提供便捷服务的同时,其内部不稳定性也随系统复杂性的提升而增加。这就为系统上线前的稳定性测试和渗透测试带来挑战。目前为止,为了测试系统安全性而使用软件流量生成器只能回放事先录制好的报文捕获文件或回放实现预制的报文内容,面对需要进行多步通信的复杂协议时无法实现生成完全拟真流量,因此不能准确评估系统上线生产环境后的安全性。同时当前的软件流量生成器只是采用单机部署的形式,发送的流量上限受限于单机的出口带宽,尤其是目前中国宽带普遍采用的非对称式宽带,上传速度远小于下载速度。因此单机式流量生成器无法满足日益复杂的网络系统稳定性测试对于高负载流量模拟的要求。因此,本发明将提供一个基于高级规则匹配功能的报文应答服务的分布式流量生成系统,通过灵活的报文应答服务来适应日益复杂的网络协议和网络环境对渗透测试的要求,通过分布式的流量出口来突破单机带宽限制,来满足复杂网络系统对于稳定性测试的高负载要求。
发明内容
本发明的目的是为了解决目前软件流量生成系统无法提供在渗透测试时可供用户定制的流量应答服务,以及现有流量生成系统受单机带宽限制无法为复杂系统提供用于稳定性测试的大带宽背景流量的问题。
本发明的设计原理是:基于高级规则匹配的报文应答服务支持用户通过收到的报文的不同字段或有效载荷来制定下一个(组)封包的协议字段、协议有效载荷的内容、发送延迟等内容,从而生成一系列高度可定制化的报文对话策略。分布式流量出口子系统主要负责发送由主系统分配的流量发送任务队列中的流量。流量出口子系统和主系统通过一种基于UDP的自定义协议进行通信。
本发明的技术方案是通过如下步骤实现的:
步骤1,启动主系统并导入必要的启动参数
步骤1.1,用户使用基于四个变量域的报文切分和报文应答策略制定方法自定义其专有的报文应答策略,并将策略数据作为启动参数导入系统中步骤1.2,导入目标主机IP池
步骤1.3,导入流量出口子系统IP
步骤2,部署流量出口子系统
步骤2.1,开启物理网卡的混杂模式
步骤2.2,安装专用的虚拟网卡驱动
步骤2.3,使用专用的脚本配置iptables
步骤2.4,安装并启动出口流量子系统
步骤2.5,导入每个子系统负责的网段
步骤2.6,连接主系统准备从主系统同步流量应答策略和流量发送队列
步骤3,在主系统配置流量生成规则
步骤3.1,选择激活的流量出口
步骤3.2,选择每个流量出口的流量大小
步骤3.3,选择每个流量出口的流量生成和应答策略
步骤4,从主系统选择开始生成流量
有益效果
相比于一般的单机式软件流量生成系统,本发明具有高度可定制化的报文应答服务,可以适应各种复杂协议和网络系统,同时可以产生完全拟真真实生产环境下的流量。另外分布式的多流量出口的机制可以突破单机流量带宽限制,从而可以使流量尽可能充满复杂网络系统中的每一条支路上。
附图说明
图1为主系统和流量出口子系统之间通信的私有协议各字段说明。
具体实施方式
为了更好的说明本发明的目的和优点,下面结合实例对本发明的实施方法做进一步详细说明。
具体流程为:
步骤1,启动主系统并导入必要的启动参数
步骤1.1,用户使用基于四个变量域的报文切分和报文应答策略制定方法自定义其专有的报文应答策略,并将策略数据作为启动参数导入系统中。在这里本发明定义了一种报文应答规则手动生成方法,方法包含报文切片、报文组链两步组成,所谓报文切片就是指根据不同的规则将整个报文切分为多个有意义的字符串,方便后续对报文内容进行判断。报文组链就是根据报文的具体内容,将报文数据组成一个链式数据结构,系统收到相应的报文后会到报文链上查找该报文的下一链节点,并将根据该节点上的信息组成一个或一组报文作为答复发出。
方法具体如下:
对于报文切片提供三种模式。第一种模式是数据匹配:定义字段开始和结束的特征字符串或二进制,通过特征数据对报文进行切片。第二种模式是下标切分,给定切分点数据在整个报文数据中的下标值对数据报文进行切片。第三种切分方式为智能切片,可以根据不同的协议,针对协议字段对数据报文进行切分。
对于内容判断和报文组链,这里定义了四种不同的变量域,从上到下分别为全局域(global)、会话域(session)、报文域(message)和片段域(slice),不同域的变量所承担的工作不同,某一个低级域的所有变量从属于高一级的某个变量。此处的变量的数据组织形式类似于C++语言中的类,其内可能含有多个成员变量和成员方法。
对于片段域,主要对应上一步报文切片这种粒度的数据进行操作,即对各字段、各切片二进制数据进行操作。片段域变量主要用于直接参与存储、判断报文源二进制数据片段的内容,并将结果传递给高一级域变量(报文域),作为未来组链的判断依据。
报文域变量主要用于存储单个报文数据、参与对数据进行切片操作、保存从片段域传来的数据、对报文整体特征数据进行判断以及生成保存用户自定义内容的报文数据。报文域主要对单个报文这种粒度的数据进行操作,报文域变量还参与对报文长度、报文接收时间等报文外部特征数据进行判断,并将结果传递给高一级域变量(会话域),作为未来组链的判断依据。
会话域主要用于对单个TCP会话或UDP报文组进行操作,会话域中的变量储存着一次TCP会话或UDP报文组的数据,以及各个报文的上下衔接关系,即决定接受到某个报文后发送特定的报文,这里称这种带有报文数据和上下衔接关系的数据类型为会话支路链,其是报文应答策略的其中一个支路。会话支路链接组链发生在会话域,即在会话域根据低级域传递的数据作为依据,根据用户自定义的各种规则将报文域数据变量组成链状数据结构,并保存在一个会话域变量中。会话域中的某些同样参与到会话支路链接中,会话或报文组中的某种报文出现顺序、数量和频率等统计学特征也可以作为判断会话链接组链的依据。
全局域变量保存着一个完整的报文应答策略,每一个完整的报文应答策略都由若干条支路组成,即全局域变量下属多个会话域变量。在全局域进行的是对会话支路链的操作,将几个会话支路链组合成一个会话支路网,或将几个会话支路链(网)组成一个完整的报文应答策略。
规则定义完成后系统将储存有报文应答规则的全局域变量格式化存储在数据库中。
步骤1.2,导入目标主机IP池,即需要对其提供流量服务的目标主机IP地址、端口号。
步骤1.3,导入流量出口子系统IP,将所有出口流量子系统的IP登记在主系统的数据库中,为之后数据和策略同步做准备。
步骤2,部署流量出口子系统,流量出口子系统已经封装为Docker,如果在不支持Docker的环境中部署,可遵循如下子步骤。如环境中允许部署Docker则跳过步骤2的所有子步骤,直接运行命令“$docker run-d-p10000:10000breach”即可完成流量出口子系统的部署。
步骤2.1,开启物理网卡混杂模式,由于本发明的其中一个目的是模拟真实的业务流量,因此生成的流量不能采用同一个IP发出,开启混杂模式是为了将发往出口流量子系统模拟主机的报文截取下来进行进一步分析。物理网卡混杂模式可以使用“$sudoifconfig eth1 promisc”命令开启。
步骤2.2,安装专用虚拟网卡驱动,为了避免生成的流量干扰出口流量子系统和主系统之间的通信,因此所有生成流量均由虚拟网卡发出。由于Linux系统内核限制,不允许程序跳过内核控制而建立TCP连接,否则系统会发送RST数据包关闭连接。但在渗透测试中,TCP半连接是一种非常常用的主机运行状态检测方法,使用原生网卡驱动无法实现此功能。因此本发明包含一个新的内核网卡驱动可以直接将单个TCP数据包写入网卡缓存中。此网卡驱动原理是将网卡的缓存映射到系统内存中,并且包含一个常驻进程,实时同步系统内存和网卡缓存。安装此驱动后,运行在非内核态的流量出口子系统就可以越过内核对网卡进行操控。
步骤2.3,使用专用脚本配置iptables,首先使用命令“$echo 1>/proc/sys/net/ipv4/ip_forward”开启linux的ipv4转发(默认关闭),运行专用脚本,即配置iptables的net表将来自虚拟网卡的所有流量转发到本机的10000端口上。
步骤2.4,编译流量出口子系统的代码,并使用sudo命令运行流量出口子系统。子系统运行后会自动和主系统通信,待主系统配置完毕后同步应答策略和报文发送队列。然后等待主系统开始命令。主系统和子系统之间使用本发明设计的一种基于UDP协议的专用协议,协议各字段规则如附图1所示。
步骤3,在主系统配置流量生成规则
步骤3.1,选择激活的流量出口,即选择那些流量出口子系统被激活开始发送生成流量。
步骤3.2,选择每个流量出口的流量大小,上限为每个子系统的物理网络带宽上限。默认为最大流量输出。
步骤3.3选择每个流量出口的流量生成和应答规则,根据步骤1.2中的IP和端口号,为每一个流量出口设定其流量应答策略并生成流量发送队列。
步骤4,从主系统选择开始生成流量,主系统和流量出口子系统通过本发明所设计的专有协议通信,待同步完成后,流量生成开始。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.带报文应答的分布式流量生成系统,其特征在于所述系统在实现报文应答和流量生成时包括如下步骤:
步骤1,启动主系统并导入启动参数;
步骤1.1,使用基于四个变量域的报文切分方法和报文应答策略生成链式数据结构的策略数据,将策略数据作为启动参数导入系统中;
步骤1.2,导入目标主机IP池;
步骤1.3,导入流量出口子系统IP,将所有出口子系统的IP登记在主系统的数据库中;
步骤2,部署流量出口子系统;
步骤2.1,开启物理网卡混杂模式;
步骤2.2,安装虚拟网卡驱动,将网卡的缓存映射到系统内存中,包含一个常驻进程,实时同步系统内存和网卡缓存;
步骤2.3,使用脚本配置iptables,使用命令开启linux的ipv4转发,将配置iptables的net表将来自虚拟网卡的所有流量转发到本机的10000端口上;
步骤2.4,编译安装流量出口子系统,使用sudo命令启动流量出口子系统,子系统运行后自动和主系统通信,通信协议采用基于UDP协议的私有协议,待主系统配置完毕后同步应答策略和报文发送队列,等待主系统开始命令;
步骤3,在主系统配置流量生成规则,设置激活流量出口、每个流量出口的流量大小、每个流量出口的应答策略和流量发送队列;
步骤4,从主系统选择开始生成流量,主系统和流量出口子系统通过基于UDP协议的私有协议通信并完成同步后,开始生成流量。
2.根据权利要求1所述的带应答功能的分布式流量生成系统,其特征在于步骤1的步骤1.1中使用基于四个变量域的报文切分方法和报文应答策略生成链式数据结构的策略数据;报文切片方法包括三种,分别为数据匹配、下标切片和基于协议的智能切片;四个变量域从上到下分别为全局域、会话域、报文域和片段域,并且相互之间具有从属关系,链式数据结构按层次由四个变量域组成;全局域操作会话域的多条支路,组合成支路网,形成一个完整的报文应答策略;会话域保存一组报文域变量,并根据协议规则将报文域变量链接成链式数据结构;报文域保存和操作某个报文的数据和外部特征,并保存该报文的片段域全部变量;片段域保存和操作报文切片。
3.根据权利要求1所述的带应答功能的分布式流量生成系统,其特征在于步骤3使用一主多从的分布式流量出口,主系统负责为流量出口子系统生成应答策略并管理各流量出口子系统;流量出口子系统负责特定网段的流量生成。
4.根据权利要求1所述的带应答功能的分布式流量生成系统,其特征在于步骤2中的步骤2.4和步骤4,采用基于UPD协议的专用协议进行主从通信,该协议工作在应用层,传输的数据每8bit一组,其中第1组为功能性数据,第1组第1位用于指示此报文传输的命令还是数据,第1组第2位到第8位指示改报文与其他报文的前后次序关系,即序列码;之后每组的前7位为数据,第8位为奇偶校验位。
CN201910308535.8A 2019-04-17 2019-04-17 带报文应答的分布式流量生成系统 Expired - Fee Related CN110048960B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910308535.8A CN110048960B (zh) 2019-04-17 2019-04-17 带报文应答的分布式流量生成系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910308535.8A CN110048960B (zh) 2019-04-17 2019-04-17 带报文应答的分布式流量生成系统

Publications (2)

Publication Number Publication Date
CN110048960A CN110048960A (zh) 2019-07-23
CN110048960B true CN110048960B (zh) 2021-03-30

Family

ID=67277567

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910308535.8A Expired - Fee Related CN110048960B (zh) 2019-04-17 2019-04-17 带报文应答的分布式流量生成系统

Country Status (1)

Country Link
CN (1) CN110048960B (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139165A (zh) * 2011-11-30 2013-06-05 中国民航大学 针对acars数据链的实体伪装攻击渗透测试方法
CN104869081B (zh) * 2015-05-29 2018-09-07 华为技术有限公司 报文交换处理方法、业务板及网络交换系统
US10218735B2 (en) * 2015-06-30 2019-02-26 The Mitre Corporation Network attack simulation systems and methods
CN105871739B (zh) * 2016-06-17 2018-12-07 华为技术有限公司 一种处理报文的方法及计算设备
CN106302859B (zh) * 2016-09-09 2019-03-08 中国互联网络信息中心 一种dnssec否定应答的响应及处理方法
WO2018138608A2 (en) * 2017-01-30 2018-08-02 XM Ltd. Penetration testing of a networked system
CN108874675A (zh) * 2018-06-25 2018-11-23 中国电子技术标准化研究院 一种基于字段分类的fuzzing测试用例生成方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Internet Penetration Testing:A Seasoned Perspective;Brad C. Johnson;《System Experts》;20011231;1-7 *
基于Android 的无线渗透测试平台的设计;邵奇峰,李枫;《互联网天地》;20150331;67-72 *
基于攻击图的渗透测试方案自动生成方法;崔颖,章丽娟,吴灏;《计算机应用》;20100831;2146-2150 *
基于渗透测试的信息安全测评方法研究与应用;李楠;《中国优秀硕士学位论文全文数据库》;20101231;全文 *

Also Published As

Publication number Publication date
CN110048960A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
US9146826B2 (en) Method and apparatus for scaling network simulation
Khattak et al. Performance evaluation of OpenDaylight SDN controller
US7440415B2 (en) Virtual network addresses
CN100471139C (zh) 一种网络测试的系统和方法
US20190116095A1 (en) Method and apparatus for managing field device based on cloud server
CN114363021B (zh) 网络靶场系统、网络靶场系统的虚拟网络实现方法及装置
CN104639497B (zh) 远程访问配置方法、远程访问方法、装置和系统
CN109525461A (zh) 一种网络设备的测试方法、装置、设备及存储介质
CN110677829B (zh) 长期演进车到万物lte-v2x测试系统及测试方法
CN114553752B (zh) 基于仿真软件的网络性能测试方法、装置和计算机设备
CN114422010B (zh) 一种基于网络虚拟化的卫星通信仿真平台的协议测试方法
CN108667779A (zh) 一种远程登录容器的方法及服务器
EP1213875A2 (en) Network node emulator and method of node emulation
Bedhief et al. From evaluating to enabling sdn for the internet of things
CN102750143A (zh) 基于matlab com组件调用的dsp开发方法
Miyachi et al. Automatic configuration and execution of internet experiments on an actual node-based testbed
CN110048960B (zh) 带报文应答的分布式流量生成系统
Autefage et al. Network emulator: a network virtualization testbed for overlay experimentations
KR20060012285A (ko) 네트워크 구성요소의 네트워크 위치를 프로그램에 따라전환하는 시스템 및 방법
Hine et al. Scalable emulation of enterprise systems
EP2955876A1 (fr) Simulateur de reseaux d'interconnexion et procede de simulation de reseaux d'interconnexion
WO2022166715A1 (zh) 一种智能流水线处理方法、装置、存储介质及电子装置
Toso et al. RECORDS: a remote control framework for underwater networks
Roulin Advancing the state of network switch asic offloading in the linux kernel
CN113992590B (zh) 基于软件定义网络的链路负载均衡方法

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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210330

CF01 Termination of patent right due to non-payment of annual fee