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

自动化测试NAT设备转发SCTP报文的NAT测试仪及测试方法与流程

2021-12-15 01:51:00 来源:中国专利 TAG:

自动化测试nat设备转发sctp报文的nat测试仪及测试方法
技术领域
1.本发明属于nat设备测试的技术领域,具体涉及自动化测试nat设备转发sctp报文的nat测试仪及测试方法。


背景技术:

2.目前大多数对于nat的测试主要还是运用tcp/udp协议等构造数据包验证,这种无法满足多元化的使用场景,而且在nat测试过程中如果通信双方在建立连接时声明了若干个ip地址通知对方本端所有的地址,若是当前连接失败的话,只能通过tcp协议,这需要重新建立连接,存在反应速度很慢的问题。


技术实现要素:

3.本发明的目的在于提供自动化测试nat设备转发sctp报文的nat测试仪,以及提供自动化测试nat设备转发sctp报文的测试方法,实现对nat设备进行高效测试。
4.本发明通过下述技术方案实现:自动化测试nat设备转发sctp报文的nat测试仪及测试方法,基于nat测试仪表实现,在nat测试仪表中针对待测试的nat设备的功能选择相应的测试模式,还包括以下步骤:步骤1、nat测试仪根据测试模式构造sctp报文,并将构造好的sctp报文发送至nat设备;步骤2、在nat设备上配置nat策略,nat设备根据配置的nat策略将收到的sctp报文进行配置转换,得到转换报文;步骤3、nat设备根据配置的nat策略生成策略配置文件,并将策略配置文件发送至nat测试仪,nat测试仪根据策略配置文件与sctp报文生成预期报文;步骤4、nat设备将转换报文发送至nat测试仪,nat测试仪调用断言函数对转换报文与预期报文进行比对验证以判断转换报文与预期报文是否相符,进而对nat设备进行测试。
5.为了更好的实现本发明,进一步地,所述步骤4中对转换报文与预期报文进行比对验证具体包括以下步骤:步骤a1、检测nat测试仪发送至nat设备的sctp报文的数量与nat设备发送至nat测试仪的转换报文的数量是否相符;若检测到nat测试仪发送至nat设备的sctp报文数量不等于nat设备发送至nat测试仪的转换报文数量,则nat测试仪直接返回数据包数量不符的错误提示;检测到nat测试仪发送至nat设备的sctp报文数量等于nat设备发送至nat测试仪的转换报文数量,则进入步骤a2;步骤a2、检测nat测试仪接收到的转换报文的源ip与目的ip,检测nat测试仪中通过sctp报文生成的预期报文的源ip与目的ip,将转换报文的源ip与预期报文的源ip进行比对,将转换报文的目的ip与预期报文的目的ip进行比对;若转换报文的源ip与预期报文的源ip相符且转换报文的目的ip与预期报文的目的ip相符,则nat设备测试通过;若转换报文
的源ip与预期报文的源ip不相符或转换报文的目的ip与预期报文的目的ip不相符,则nat设备测试失败。
6.为了更好的实现本发明,进一步地,所述步骤4中进行转换报文与预期报文比对验证之前,需要通过nat测试仪对nat设备进行命中检测,若nat设备被命中,则nat测试仪调用断言函数对转换报文与预期报文进行比对验证;若nat设备未被命中,则通过nat测试仪报错。
7.为了更好的实现本发明,进一步地,所述通过nat测试仪对nat设备进行命中检测具体是通过nat测试仪对nat设备进行报文接收超时检测,若nat测试仪检测到nat设备超过接收时间还未收到sctp报文,则nat设备未被命中;若nat测试仪检测到nat设备在接收时间之内收到sctp报文,则nat设备被命中。
8.为了更好的实现本发明,进一步地,所述接收时间为1s

1.5s。
9.为了更好的实现本发明,进一步地,所述步骤1中,通过nat测试仪构造sctp报文具体包括以下步骤:步骤1.1、nat测试仪调用python scapy模块,通过sctp报文中的源主机mac至以及目的主机的mac地址构造以太层;步骤1.2、nat测试仪调用python scapy模块,通过sctp报文中的源ip与目的ip构造ip层;步骤1.3、nat测试仪调用python scapy模块,通过sctp报文中的源端口、目的端口、tag标签构造传输层;步骤1.4、nat测试仪将以太层、ip层、传输层组合为sctp报文。
10.为了更好的实现本发明,进一步地,若nat测试仪对nat设备的测试失败,则nat测试仪建立虚拟环境,在虚拟环境重复进行步骤1

步骤4中的测试操作,直到再次出现测试失败,记录测试失败时对应的测试操作。
11.为了更好的实现本发明,进一步地,所述nat测试仪通过python environment建立虚拟环境。
12.自动化测试nat设备转发sctp报文的nat测试仪,所述nat测试仪包括数据包构造模块、数据包接收验证模块、测试模式选择模块,所述数据包构造模块用于构造sctp报文与预期报文,并通过内网接口与nat设备连接;所述数据包接收验证模块用于接收来自于nat设备的转换报文与来自于数据包构造模块的预期报文,并对转换报文与预期报文进行比对验证,所述数据包接收验证模块通过外网接口与nat设备连接;所述测试模式选择模块用于设置测试模式。
13.本发明与现有技术相比,具有以下优点及有益效果:(1)本发明提供了一种nat测试仪,不仅支持传统的tcp/udp发送报文,还增加sctp协议数据包的构造,以解决在建立连接时双方均声明若干ip地址通知对方本端所有的地址时,连接失败的问题;(2)本发明满足了更多元化的场景需求,补齐了对nat设备测试中无法发送sctp类型报文的短板,且支持测试多种nat测试场景;(3)本发明在nat设备测试失败时,通过生成虚拟环境,并在虚拟环境中重复测试步骤以还原出错的场景,既不影响后续的测试,也预防了后续测试对复现问题产生的影响。
附图说明
14.图1为本发明的整体流程示意图;图2为测试错误定位和复现的流程示意图。
具体实施方式
15.实施例1:本实施例的自动化测试nat设备转发sctp报文的nat测试仪及测试方法,如图1所示,基于nat测试仪表实现,在nat测试仪表中针对待测试的nat设备的功能选择相应的测试模式,还包括以下步骤:步骤1、nat测试仪根据测试模式构造sctp报文,并将构造好的sctp报文发送至nat设备;sctp报文中包括源端口、目的端口、报文数量等参数步骤2、在nat设备上配置nat策略,nat设备根据配置的nat策略将收到的sctp报文进行配置转换,得到转换报文;例如:配置源nat策略,希望转换后的地址为nat设备上出接口的地址,那么nat测试仪就会自定生成一个sctp报文,这个sctp报文的源ip为转换后出接口的ip,目的ip不变;同时还要检查是否配置了源端口、目的端口,如果配置了,也要进行源端口的转换。
16.步骤3、nat设备根据配置的nat策略生成策略配置文件,并将策略配置文件发送至nat测试仪,nat测试仪根据策略配置文件与sctp报文生成预期报文;步骤4、nat设备将转换报文发送至nat测试仪,nat测试仪调用断言函数对转换报文与预期报文进行比对验证以判断转换报文与预期报文是否相符,进而对nat设备进行测试。若转换报文与预期报文符合则测试成功,若转换报文与预期报文不符合则测试失败。
17.实施例2:本实施例在实施例1的基础上做进一步优化,所述步骤4中对转换报文与预期报文进行比对验证具体包括以下步骤:步骤a1、检测nat测试仪发送至nat设备的sctp报文的数量与nat设备发送至nat测试仪的转换报文的数量是否相符;若检测到nat测试仪发送至nat设备的sctp报文数量不等于nat设备发送至nat测试仪的转换报文数量,则nat测试仪直接返回数据包数量不符的错误提示;检测到nat测试仪发送至nat设备的sctp报文数量等于nat设备发送至nat测试仪的转换报文数量,则进入步骤a2;步骤a2、检测nat测试仪接收到的转换报文的源ip与目的ip,检测nat测试仪中通过sctp报文生成的预期报文的源ip与目的ip,将转换报文的源ip与预期报文的源ip进行比对,将转换报文的目的ip与预期报文的目的ip进行比对;若转换报文的源ip与预期报文的源ip相符且转换报文的目的ip与预期报文的目的ip相符,则nat设备测试通过;若转换报文的源ip与预期报文的源ip不相符或转换报文的目的ip与预期报文的目的ip不相符,则nat设备测试失败。
18.进一步的,所述步骤4中进行转换报文与预期报文比对验证之前,需要通过nat测试仪对nat设备进行命中检测,若nat设备被命中,则nat测试仪调用断言函数对转换报文与预期报文进行比对验证;若nat设备未被命中,则通过nat测试仪报错。
19.进一步的,所述通过nat测试仪对nat设备进行命中检测具体是通过nat测试仪对
nat设备进行报文接收超时检测,若nat测试仪检测到nat设备超过接收时间还未收到sctp报文,则nat设备未被命中;若nat测试仪检测到nat设备在接收时间之内收到sctp报文,则nat设备被命中。
20.进一步的,所述接收时间为1s

1.5s。
21.通过预先进行nat设备进行命中检测,针对没有被命中的nat设备则直接报错,不再进行后续报文的转换;仅仅针对被命中的报文,才进行后续的报文转换,大大提高了报文的转换以及后续报文验证的效率。
22.本实施例的其他部分与实施例1相同,故不再赘述。
23.本实施例的其他部分与上述实施例1或2相同,故不再赘述。
24.实施例3:本实施例在上述实施例1或2的基础上做进一步优化,所述步骤1中,通过nat测试仪构造sctp报文具体包括以下步骤:步骤1.1、nat测试仪调用python scapy模块,通过sctp报文中的源主机mac至以及目的主机的mac地址构造以太层;步骤1.2、nat测试仪调用python scapy模块,通过sctp报文中的源ip与目的ip构造ip层;步骤1.3、nat测试仪调用python scapy模块,通过sctp报文中的源端口、目的端口、tag标签构造传输层;步骤1.4、nat测试仪将以太层、ip层、传输层组合为sctp报文。
25.本实施例的其他部分与上述实施例1或2相同,故不再赘述。
26.实施例4:本实施例在上述实施例1

3任一项的基础上做进一步优化,若nat测试仪对nat设备的测试失败,则nat测试仪建立虚拟环境,在虚拟环境重复进行步骤1

步骤4中的测试操作,直到再次出现测试失败,记录测试失败时对应的测试操作。
27.进一步的,所述nat测试仪通过python environment建立虚拟环境。
28.本实施例的其他部分与上述实施例1

3任一项相同,故不再赘述。
29.实施例5:自动化测试nat设备转发sctp报文的nat测试仪,用于实现实施例1

4任一项所述的自动化测试nat设备转发sctp报文的测试方法,所述nat测试仪包括数据包构造模块、数据包接收验证模块、测试模式选择模块,所述数据包构造模块用于构造sctp报文与预期报文,并通过内网接口与nat设备连接;所述数据包接收验证模块用于接收来自于nat设备的转换报文与来自于数据包构造模块的预期报文,并对转换报文与预期报文进行比对验证,所述数据包接收验证模块通过外网接口与nat设备连接;所述测试模式选择模块用于设置测试模式。
30.以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
再多了解一些

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

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

相关文献