CN103281317B - 一种软件定义网络的攻击测试方法 - Google Patents
一种软件定义网络的攻击测试方法 Download PDFInfo
- Publication number
- CN103281317B CN103281317B CN201310188407.7A CN201310188407A CN103281317B CN 103281317 B CN103281317 B CN 103281317B CN 201310188407 A CN201310188407 A CN 201310188407A CN 103281317 B CN103281317 B CN 103281317B
- Authority
- CN
- China
- Prior art keywords
- test
- address
- server
- test packet
- software defined
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种软件定义网络的攻击测试方法,以对软件定义网络进行测试,提高软件定义网络的实际使用性能,该方法包括:测试方获取待测试的软件定义网络中对外提供服务的服务器的IP地址,以及所述服务器提供服务的端口号;所述测试方根据所述服务器的IP地址以及所述服务器提供服务的端口号构造第一测试报文和第二测试报文,并将所述第一测试报文及第二测试报文先后发送给所述服务器;所述测试方没有收到所述服务器对所述第二测试报文的应答时,等待一随机时间段再将所述第二测试报文发送给所述服务器。本申请的实施例能够在SDN网络难以觉察到异常的境况下,完成攻击测试工作。
Description
技术领域
本发明涉及计算机网络安全,尤其涉及一种针对软件定义网络的攻击测试方法。
背景技术
软件定义网络(SDN)是一种有别于传统网络的创新型的网络体系。在SDN网络中,由控制器(Controller)对网络进行集中控制,也即控制器利用OpenFlow协议(一种开放的标准协议)对所有交换机进行控制,所有交换机只需要负责对接收到的数据报文进行转发。
具体的,当交换机接收到一个数据报文时,提取报文的报头信息(包括源地址、目的地址等),并将报头信息在流表中(FlowTable,类似于传统路由器的路由表)进行匹配。若匹配成功,直接将报文从匹配规则中指定的交换机输出端口进行转发;若匹配失败,交换机利用OpenFlow协议将相关信息发给控制器,由控制器产生新的流表项并通过OpenFlow协议将此流表项添加到交换机的流表中,交换机按照新产生的流表项对报文进行转发。
由此可见,交换机的数据转发功能完全依赖于流表。
由于内存大小的限制,交换机流表的表项规模不会很大,一般为千项左右。为了有效地管理流表,流表中的每个表项都有一个生存周期。当表项空闲的时间超过生存周期,该表项就会被删除,从而腾出占用的空间。
这种基于生存周期的流表管理方法,能够有效地、动态地调整流表的大小。
但是,目前的软件定义网络还不成熟,其性能也还有待于进行测试并验证。
发明内容
本发明所要解决的技术问题是为软件定义网络提供一种攻击测试技术,以对软件定义网络进行测试,提高软件定义网络的实际使用性能。
为了解决上述技术问题,本发明提供了一种软件定义网络的攻击测试方法,包括:
测试方获取待测试的软件定义网络中对外提供服务的服务器的IP地址,以及所述服务器提供服务的端口号;
所述测试方根据所述服务器的IP地址以及所述服务器提供服务的端口号构造第一测试报文和第二测试报文,并将所述第一测试报文及第二测试报文先后发送给所述服务器;
所述测试方没有收到所述服务器对所述第二测试报文的应答时,等待一随机时间段再将所述第二测试报文发送给所述服务器。
优选地,该方法包括:所述测试方收到所述服务器对所述第二测试报文的应答时,继续构造所述第一测试报文,并将多次构造的所有第一测试报文一起发送给所述服务器,并再次将所述第二测试报文发送给所述服务器。
优选地,测试方获取被测试的软件定义网络中服务器的IP地址的步骤,包括:所述测试方通过所述软件定义网络的域名解释功能获取所述服务器的IP地址。
优选地,测试方获取所述服务器提供服务的端口号的步骤,包括:所述测试方从所述服务器提供服务的类型获取所述端口号。
优选地,所述测试方根据所述软件定义网络流表项的规模确定所述第一测试报文的数量。
优选地,所述测试方构造的所述第一测试报文的数量大于等于所述软件定义网络流表项的规模。
优选地,所述随机时间段小于等于所述软件定义网络流表项的最大生存时间。
优选地,每个所述第一测试报文的源地址为随机IP地址、源端口号为随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号。
优选地,所述第二测试报文的源地址为所述测试方的IP地址、源端口号随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号。
优选地,所述第二测试报文为传输控制协议报文。
与现有技术相比,本申请的实施例能够在SDN网络难以觉察到异常的境况下,会持续不断的刷新流表中的攻击类流表项进行网络攻击测试,使得交换机的攻击类流表项一直处于合法的生存周期内,不能被删除,从而不能接收新的合法的流表项,导致交换机不能进行正常的数据转发工作,完成攻击测试工作。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本申请实施例的软件定义网络的攻击测试方法的流程示意图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征在不相冲突前提下的相互结合,均在本发明的保护范围之内。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。而且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
如图1所示,本申请实施例的软件定义网络的攻击测试方法主要包括如下内容。
步骤S110,测试方首先获取待进行攻击测试的SDN网络中对外提供服务的服务器的IP地址,以及该服务器提供服务的端口号,并预设第一测试阈值N1和第二测试阈值N2,该第一测试阈值N1和第二测试阈值N2的初始值相等。
本申请的实施例中,可以根据SDN网络流表项的规模来设置第一测试阈值N1和第二测试阈值N2的初始值。
本申请的实施例中,可以通过DNS域名解释功能,获取待进行攻击测试的SDN网络中服务器的IP地址,可以从服务器提供服务的类型获知端口号。
步骤S120,测试方检查存储测试报文的缓存,如果在缓存内没有检测到测试报文,则转步骤S121,否则转步骤S122。
步骤S121,测试方构造N1个第一测试报文,每个第一测试报文的源地址为随机IP地址、源端口号为随机端口号、目的地址为服务器IP地址、目的端口号为服务器提供服务的端口号,将此N1个第一测试报文存储在缓存中,转步骤S130。
步骤S122,测试方再构造N2-N1个第一测试报文,每个第一测试报文的源地址为随机IP地址、源端口号为随机端口号、目的地址为服务器IP地址、目的端口号为服务器提供服务的端口号,将此N2-N1个报文存储在缓存中,且将N2的值赋给N1,转步骤S130。
步骤S130,测试方在预设时间段内将缓存中的N1个第一测试报文发送给服务器。其中,该预设时间段小于等于SDN网络流表项的最大生存时间。
一般来说,一个包含有源地址、源端口、目的地址和目的端口的报文,会对应到交换机的一个流表。本申请实施例通过发送N个第一测试报文,就可以占用交换机的N个流表项。
本申请的实施例中,当软件定义网络中的入口交换机首次收到第一测试报文时,会建立对应的攻击流表项。后续交换机再次收到先前已经收到过的第一测试报文时,会刷新交换机流表中对应的攻击流表项的生存时间,使得这些攻击流表项依旧处于生存周期内,不会被交换机删除。对于当前收到的新的第一测试报文(后续新增的第一报文),则建立对应的攻击流表项。
步骤S140,测试方构造至少一个第二测试报文,该第二测试报文的源地址为测试方自己真正的IP地址,源端口号为随机端口号,目的地址为服务器IP地址,目的端口号为服务器提供服务的端口号。该第二测试报文的传输协议为TCP协议。
步骤S150,测试方将该至少一个第二测试报文发送给服务器。
通过构造并向服务器发送第二测试报文,可以测试交换机的流表项是否被填满。如果在测试方发送该至少一个第二测试报文前,交换机的流表项已经被填满,则该第二测试报文就不会被交换机转发,因而测试方也不会收到应答报文。如果在测试方发送该至少一个第二测试报文前,交换机的流表项还没有被填满,则说明交换机还可以继续工作。
步骤S160,在一应答时限内,测试方若收到该第二测试报文的应答报文,则转步骤S170,否则转步骤S180。
步骤S170,测试方增大第二测试阈值N2,返回到步骤S122继续执行。
步骤S180,等待一随机时间段后,返回到步骤S140。其中该随机时间段小于等于交换机流表项的最大生存时间。
本申请的实施例,也可以一次性生成远大于SDN网络流表项规模的第一测试报文,并发送给服务器。服务器据此就可以建立对应的攻击流表项并将整个流表项填满。然后,再构造第二测试报文并发送给服务器,不需要通过多次尝试的方式来填满SDN网络的流表项,可以提高测试效率。
本申请的实施例中,若测试方收到第二测试报文的应答,说明交换机的流表尚未被攻击类流表项填充满,此时增大第一测试报文个数N2,并返回到步骤S120继续进行测试。若没有收到应答报文,说明交换机的流表已经被攻击类流表项填充满,可以认为对SDN网络的攻击已经成功,达到了对SDN网络攻击的测试目的。后续可以等待一段小于交换机流表项最大生存时间的随机时间后再进行检测并攻击,这能够有效地减少平均数据发送率,增加攻击测试被发现的难度。
本申请的实施例中,假设SDN网络中对外提供网页服务的服务器A,其服务的端口号为80,域名为www.service.com,该域名对应的IP地址为10.0.0.1。这种情形下,本申请的实施例主要包括如下内容。
测试方首先利用DNS域名服务功能查询服务器A的域名www.service.com所对应的IP地址,查询结果为10.0.0.1,预设N1等于1000,N2等于1000。
在此步骤中,由于一般SDN交换机的流表项大小不会超过1000,因此,通常来说,预设N1和N2设为1000已经可以满足测试需要。
如果测试报文缓存为空,构造N1个源地址为随机伪造的IP地址,源端口号为随机端口号,目的地址为10.0.0.1,目的端口号为80的第一测试报文,并将这些第一测试报文进行缓存。若不为空,且N2>N1,那么构造N2-N1个源地址为随机伪造的IP地址,源端口号为随机端口号,目的地址为10.0.0.1,目的端口号为80的第一测试报文,将这些第一测试报文添加到缓存,并将N2的值赋给N1。
在此步骤中,由于网页服务对应的传输层为TCP协议,因此此处构造的测试报文为TCP报文。针对不同的传输层协议,需要构造对应的测试报文。
在1秒内将此缓存内的N1个第一测试报文发送出去。
在此步骤中,由于SDN网络中交换机流表项的生存时间最小单位为秒,设定1秒的发送时间能够确保所有的测试报文对应的攻击流表项在交换机中能够同时存在。
测试方构造源地址为测试方真实IP地址、源端口号随机、目的地址为10.0.0.1,端口号为80的基于TCP协议的第二测试报文。测试方将该第二测试报文发送给服务器。
测试方如果收到该TCP测试报文的应答报文,说明被测试交换机的流表项没有被填充满,测试方则增大N2,比如可以是在之前的基础上再增加100,然后回到发送第一测试报文的步骤,否则等待一段小于1秒的随机时间段后,回到发送第二测试报文的步骤。
在此步骤中,第一测试报文的数目的增长幅度可以根据实际交换机流表项规模进行选取。此外,增大N2的方式可以是线性增长方式,也可以采用指数增长方式。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (10)
1.一种软件定义网络的攻击测试方法,其特征在于,包括:
测试方获取待测试的软件定义网络中对外提供服务的服务器的IP地址,以及所述服务器提供服务的端口号;
所述测试方根据所述服务器的IP地址以及所述服务器提供服务的端口号构造第一测试报文和第二测试报文,并将所述第一测试报文及第二测试报文先后发送给所述服务器;
所述测试方没有收到所述服务器对所述第二测试报文的应答时,等待一随机时间段再将所述第二测试报文发送给所述服务器;
其中,所述第一测试报文用来占用所述服务器的流表项,所述第二测试报文用来测试所述服务器的流表项是否被填满。
2.根据权利要求1所述的方法,其特征在于,该方法包括:
所述测试方收到所述服务器对所述第二测试报文的应答时,继续构造所述第一测试报文,并将多次构造的所有第一测试报文一起发送给所述服务器,并再次将所述第二测试报文发送给所述服务器。
3.根据权利要求1或2所述的方法,其特征在于,测试方获取被测试的软件定义网络中服务器的IP地址的步骤,包括:
所述测试方通过所述软件定义网络的域名解释功能获取所述服务器的IP地址。
4.根据权利要求1或2所述的方法,其特征在于,测试方获取所述服务器提供服务的端口号的步骤,包括:
所述测试方从所述服务器提供服务的类型获取所述端口号。
5.根据权利要求1所述的方法,其特征在于:
所述测试方根据所述软件定义网络流表项的规模确定所述第一测试报文的数量。
6.根据权利要求5所述的方法,其特征在于:
所述测试方构造的所述第一测试报文的数量大于等于所述软件定义网络流表项的规模。
7.根据权利要求1或2所述的方法,其特征在于:
所述随机时间段小于等于所述软件定义网络流表项的最大生存时间。
8.根据权利要求1或2所述的方法,其特征在于:
每个所述第一测试报文的源地址为随机IP地址、源端口号为随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号。
9.根据权利要求1或2所述的方法,其特征在于:
所述第二测试报文的源地址为所述测试方的IP地址、源端口号随机端口号、目的地址为所述服务器的IP地址、目的端口号为所述服务器提供服务的端口号。
10.根据权利要求1所述的方法,其特征在于:
所述第二测试报文为传输控制协议报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188407.7A CN103281317B (zh) | 2013-05-09 | 2013-05-09 | 一种软件定义网络的攻击测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310188407.7A CN103281317B (zh) | 2013-05-09 | 2013-05-09 | 一种软件定义网络的攻击测试方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103281317A CN103281317A (zh) | 2013-09-04 |
CN103281317B true CN103281317B (zh) | 2016-06-08 |
Family
ID=49063764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310188407.7A Expired - Fee Related CN103281317B (zh) | 2013-05-09 | 2013-05-09 | 一种软件定义网络的攻击测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103281317B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468624B (zh) * | 2014-12-22 | 2018-01-02 | 上海斐讯数据通信技术有限公司 | Sdn控制器、路由/交换设备及网络防御方法 |
CN106161333B (zh) * | 2015-03-24 | 2021-01-15 | 华为技术有限公司 | 基于sdn的ddos攻击防护方法、装置及系统 |
CN106487756B (zh) * | 2015-08-28 | 2019-12-06 | 华为技术有限公司 | 一种检测交换机信息泄露的方法及装置 |
CN105516129A (zh) * | 2015-12-04 | 2016-04-20 | 重庆邮电大学 | 基于sdn技术实现僵尸网络控制信道阻断的方法和装置 |
CN110191028B (zh) * | 2019-07-10 | 2020-12-01 | 天津市滨海新区信息技术创新中心 | 可软件定义的互连设备的测试装置、系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075917A (zh) * | 2007-07-16 | 2007-11-21 | 华为技术有限公司 | 一种预测网络攻击行为的方法及装置 |
CN102457489A (zh) * | 2010-10-26 | 2012-05-16 | 中国民航大学 | 低速率拒绝服务LDoS攻击、检测和防御模块 |
CN102694876A (zh) * | 2012-05-10 | 2012-09-26 | 北京星网锐捷网络技术有限公司 | 确定学习的mac地址有效性的方法、装置及网关设备 |
CN103095717A (zh) * | 2013-01-28 | 2013-05-08 | 杭州华三通信技术有限公司 | 防止mac地址表溢出攻击的方法及网络设备 |
-
2013
- 2013-05-09 CN CN201310188407.7A patent/CN103281317B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101075917A (zh) * | 2007-07-16 | 2007-11-21 | 华为技术有限公司 | 一种预测网络攻击行为的方法及装置 |
CN102457489A (zh) * | 2010-10-26 | 2012-05-16 | 中国民航大学 | 低速率拒绝服务LDoS攻击、检测和防御模块 |
CN102694876A (zh) * | 2012-05-10 | 2012-09-26 | 北京星网锐捷网络技术有限公司 | 确定学习的mac地址有效性的方法、装置及网关设备 |
CN103095717A (zh) * | 2013-01-28 | 2013-05-08 | 杭州华三通信技术有限公司 | 防止mac地址表溢出攻击的方法及网络设备 |
Non-Patent Citations (1)
Title |
---|
"新一代互联网组播路由安全主动测试技术研究";杨明军;《中国优秀硕士学位论文全文数据库(信息科技辑)》;20061115(第11期);正文第29页,第42-49页,图4-5 * |
Also Published As
Publication number | Publication date |
---|---|
CN103281317A (zh) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103281317B (zh) | 一种软件定义网络的攻击测试方法 | |
CN101573927B (zh) | 网络系统中的路径最大传输单元发现 | |
CN100579072C (zh) | 一种在ip设备之间进行通信的方法和系统 | |
Lindgren et al. | Probabilistic routing protocol for intermittently connected networks | |
US9515874B2 (en) | Efficient use of dynamic host configuration protocol in low power and lossy networks | |
JP4902635B2 (ja) | 接続転送 | |
CN102904975B (zh) | 报文处理的方法和相关装置 | |
EP2399370B1 (en) | Maximum transmission unit, MTU, size discovery method for data-link layers | |
CN103795819B (zh) | P2p应用中基于nat的终端间的数据传输方法 | |
CN101582856B (zh) | 一种门户服务器与宽带接入设备的会话建立方法及其系统 | |
US11863652B2 (en) | Method for filtering redundant data packet at node in bluetooth mesh network | |
JP2018528679A (ja) | 負荷平衡システムにおいて接続を確立するデバイス及び方法 | |
WO2018121589A1 (zh) | 数据链路的检测方法、装置及系统 | |
WO2017128789A1 (zh) | 一种通信方法及系统 | |
JP2012156957A (ja) | ネットワークシステム、制御装置、計算機、及び、ネットワーク装置 | |
JP5850046B2 (ja) | 通信装置、通信システム及び通信方法 | |
EP2439876A1 (en) | Method and device for requesting multicasting, processing multicasting requests and assisting in the aforementioned process | |
CN112491647B (zh) | 一种交换机报文测试方法、系统及相关装置 | |
CN107124482A (zh) | 一种dns数据包转发方法、系统及路由器 | |
CN103281318B (zh) | 一种针对软件定义网络的攻击测试装置 | |
CN109412851B (zh) | 链路层路径检测方法、装置及系统 | |
CN110011921A (zh) | 一种路由同步方法、装置、网络设备及存储介质 | |
CN105282034B (zh) | Arp/ndp学习系统及学习方法 | |
KR102043031B1 (ko) | 서버 및 이를 이용한 부하 분산 방법 | |
CN108370390A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160608 Termination date: 20170509 |