一种DUT端口冲突处理能力的测试方法及系统与流程

文档序号:11279136阅读:572来源:国知局
一种DUT端口冲突处理能力的测试方法及系统与流程

本发明涉及测试领域,尤其涉及一种dut端口冲突处理能力的测试方法及系统。



背景技术:

目前并没有对端口冲突有严格的测试,现有的测试也较为繁琐:一个测试人员使用一台测试电脑无法同时创建两个包,需要两个测试人员分别使用两台测试电脑同时向dut的同一端口进行发包。

因此现有技术存在缺陷:两台测试电脑的性能处理能力有差异,与待测设备(dut)间的连接稳定性亦有差异,两个测试人员的操作有先后,这些都会影响测试结果。



技术实现要素:

本发明提供一种dut端口冲突处理能力的测试方法及系统,克服了上述现有技术的缺陷,使得待测设备的端口冲突处理能力测试变得更为严谨,且简单易行,降低了测试成本,提高了测试效率。

一方面,本发明提供一种dut端口冲突处理能力的测试方法,包括:

s100配置dut端口转发规则和dmz主机功能;

s200调用命令监听测试系统上对应的测试端口;

s300通过telnet协议与陪测pc建立连接,创建多线程;

s400调用命令从陪测pc向所述dut发起所述多线程进行测试;

s500断开与陪测pc的连接,获取对应的测试端口的监听结果;

s600根据所述监听结果,判断所述dut的端口冲突处理能力是否合格。

端口转发(portforwarding),是为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的nat路由器到达一个在私有内部ip地址(局域网内部)上的一个端口。

dmz是英文“demilitarizedzone”的缩写,中文名称为“隔离区”,也称“非军事化区”。它是为了解决安装防火墙后外部网络的访问用户不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区。该缓冲区位于企业内部网络和外部网络之间的小网络区域内。在这个小网络区域内可以放置一些必须公开的服务器设施,如企业web服务器、ftp服务器和论坛等。另一方面,通过这样一个dmz区域,更加有效地保护了内部网络。

telnet协议是tcp/ip协议族中的一员,是internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。

进一步地,所述步骤s100包括:

s110在dut上配置一条端口转发规则,配置服务器ip为dut分配给测试系统的ip,并配置dut的wan侧ip的第一端口映射测试系统的第二端口;以便将向dut的wan侧ip的第一端口请求的包转发至映射的测试系统的第二端口;

s120开启dmz主机功能,配置dmz主机功能的dmzip为测试系统的ip,以便将向dut的wan侧ip的第一端口请求的包转发至对应的测试系统的第三端口。

步骤s110和步骤s120分别设置了一条端口规则,这两条规则其实是冲突的。

进一步地,所述步骤s300包括:

s310调用telnet函数通过telnet协议连接陪测pc;

s320通过命令启动陪测pc上的测试脚本;

s330所述测试脚本调用thread函数创建两个线程,所述两个线程均为调用nc命令从陪测pc发出向dut的wan侧ip的第一端口进行请求的包。

进一步地,所述步骤s400包括:

s410调用thread.start命令同时发起上一步骤中创建的两个线程,通过陪测pc同时发出两个向dutwan侧ip的第一端口进行请求的包。

进一步地,所述步骤s600包括:

s610判断所述监听结果是否满足端口冲突规则,所述端口冲突规则为先配置的规则生效;

s620当监听到所述第二端口接收到发来的请求包,且所述第三端口未接收到发来的请求包,则判断所述dut满足端口冲突规则,所述dut端口冲突处理能力合格;

s630当监听到所述第三端口接收发来的请求包,则判断所述dut不满足端口冲突规则,所述dut端口冲突处理能力不合格。

另一方面,本发明还包括一种dut端口冲突处理能力的测试系统,包括:规则配置模块、监听模块、线程创建模块、测试模块、控制模块,所述控制模块分别与所述规则配置模块、监听模块、线程创建模块及测试模块相连;其中:所述规则配置模块调用函数在dut上配置dut端口转发规则和开启dmz主机功能;所述监听模块调用命令监听测试系统上对应的测试端口;所述线程创建模块通过telnet协议与陪测pc建立连接,创建多线程;所述测试模块调用命令从陪测pc向所述dut发起所述多线程进行测试;所述控制模块调用命令断开所述测试系统与陪测pc的连接,并通过所述监听模块获取测试端口的监听结果;所述控制模块根据所述监听结果,判断所述dut的端口冲突处理能力是否合格。

进一步地,所述规则配置模块包括:第一规则配置子模块、第二规则配置子模块,其中:所述第一规则配置子模块调用函数在dut上配置一条端口转发规则,配置服务器ip为dut分配给测试系统的ip,并配置dut的wan侧ip的第一端口映射测试系统的第二端口;以便将向dut的wan侧ip的第一端口请求的包转发至映射的测试系统的第二端口;所述第二规则配置子模块开启dmz主机功能,配置dmz主机功能的dmzip为测试系统的ip,以便将向dut的wan侧ip的第一端口请求的包转发至对应的测试系统的第三端口。

进一步地,所述线程创建模块包括:连接子模块、脚本启动子模块及线程建立子模块,所述脚本启动子模块分别与所述连接子模块、所述线程建立子模块相连,其中:所述连接子模块调用telnet函数通过telnet协议连接陪测pc;所述脚本启动子模块通过命令启动陪测pc上的测试脚本;所述线程建立子模块通过所述测试脚本调用thread函数创建两个线程,所述两个线程均为调用nc命令从陪测pc发出向dut的wan侧ip的第一端口进行请求的包。

进一步地,所述测试模块调用thread.start命令同时发起上一步骤中创建的两个线程,通过陪测pc同时发出两个向dutwan侧ip的第一端口进行请求的包。

进一步地,所述控制模块包括:操作子模块、与所述操作子模块相连的判断子模块;其中:所述操作子模块在所述测试模块发起测试后,断开与陪测pc的连接,通过所述监听模块获取第二端口、第三端口的监听结果;所述判断子模块判断所述第二端口、第三端口的监听结果是否满足端口冲突规则,所述端口冲突规则为先配置的规则生效;当所述监听模块监听到所述第二端口接收到发来的请求包,且所述第三端口未接收到发来的请求包,则所述判断子模块判断所述dut满足端口冲突规则,所述dut端口冲突处理能力合格;当所述监听模块监听到所述第三端口接收发来的请求包,则所述判断子模块判断所述dut不满足端口冲突规则,所述dut端口冲突处理能力不合格。

本发明通过同时向dut的同一端口发送请求包测试dut端口冲突处理能力;利用多线程的方法实现同时向dut同一端口发送请求。至少包括以下一项有益效果:

(1)简化测试难度。

(2)提高测试效率。

(3)减轻测试人员工作难度。

(4)缩短测试周期。

(5)降低产品成本。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明第一实施例中的dut端口冲突处理能力测试方法流程图;

图2为本发明第二实施例中的dut端口冲突处理能力测试方法流程图;;

图3为本发明第三实施例中的测试拓扑示意图;

图4为本发明第三实施例中的测试脚本示意图;

图5为本发明第四实施例中的dut端口冲突处理能力测试系统框图;

图6为本发明第五实施例中的dut端口冲突处理能力测试系统框图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

本发明公开了一种dut端口冲突处理能力的测试方法,实施例一如图1所示,包括:

s100配置dut端口转发规则和dmz主机功能;

s200调用命令监听测试系统上对应的测试端口;

s300通过telnet协议与陪测pc建立连接,创建多线程;

s400调用命令从陪测pc向所述dut发起所述多线程进行测试;

s500断开与陪测pc的连接,获取对应的测试端口的监听结果;

s600根据所述监听结果,判断所述dut的端口冲突处理能力是否合格。

本发明的思想是在待测设备(dut)上配置多条端口规则,这几条端口规则是相冲突的,dut会将接收的数据包发送到规则约定的测试端口去,因此,只需监听测试端口的数据包接收情况,就可以知道待测设备是按照哪条规则转发的。一个合格的产品在遇到冲突的端口规则时,会按照先配置的规则来进行端口转发,因此,只需要检测测试端口的监听结果就可以判断出这个待测设备的端口冲突处理能力是否合格。

上述实施例1中的步骤s100包括:

s110在dut上配置一条端口转发规则,配置服务器ip为dut分配给测试系统的ip,并配置dut的wan侧ip的第一端口映射测试系统的第二端口;以便将向dut的wan侧ip的第一端口请求的包转发至映射的测试系统的第二端口;

s120开启dmz主机功能,配置dmz主机功能的dmzip为测试系统的ip,以便将向dut的wan侧ip的第一端口请求的包转发至对应的测试系统的第三端口。

测试系统调用函数在dut上配置一条端口转发规则,服务器ip为dut分配给测试系统的ip,假如作为内部端口的第二端口为80,作为外部端口的第一端口为8000;那么第一条端口规则即为:将向dut的wan侧ip的8000端口请求的包转发至服务器ip的80端口,也就是说将待测设备的外部端口8000请求的包转发到测试系统的内部端口80。

配置好第一条端口转发规则后,再开启dmz主机功能,将dmz主机功能的dmzip设置成与端口转发功能的内部ip一致,因此,设置的第二条端口规则是:将向dut的wan侧ip的任意端口请求的包转发至服务器ip的对应端口,dut的wan侧ip的第一端口与测试系统的第三端口是对应的,即,dut的wan侧第一端口为8000,对应的测试系统第三端口亦为8000。转发时,将向dut的wan侧ip的端口8000请求的包转发至对应的测试系统的端口8000。

配置好这两条规则后,则只需要监听测试系统的80端口和8000端口,测试后便可以根据这两个端口监听到的情况获得测试结果。

上述实施例1中的步骤s200,可以通过调用nc命令在测试系统端对测试系统的80端口和8000端口进行监听。

nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具。nc的作用有:

(1)实现任意tcp/udp端口的侦听,nc可以作为server以tcp或udp方式侦听指定端口

(2)端口的扫描,nc可以作为client发起tcp或udp连接

(3)机器之间传输文件

(4)机器之间网络测速。

上述实施例1中的步骤s300包括:

s310调用telnet函数通过telnet协议连接陪测pc;

s320通过命令启动陪测pc上的测试脚本;

s330所述测试脚本调用thread函数创建两个线程,所述两个线程均为调用nc命令从陪测pc发出向dut的wan侧ip的第一端口进行请求的包。

测试系统调用telnet函数通过telnet协议连接陪测pc,并通过命令启动在陪测pc上的脚本;脚本调用thread函数创建两个线程(比如根据前面设置的端口规则,可创建线程1的内容为:调用nc命令从陪测pc发出向dut的wan侧ip的8000端口进行请求的包;线程2的内容为:调用nc命令从陪测pc发出向dut的wan侧ip的8000端口进行请求的包)。

上述实施例1中的步骤s400包括:

s410调用thread.start命令同时发起上一步骤中创建的两个线程,通过陪测pc同时发出两个向dutwan侧ip的第一端口进行请求的包。

采用thread.start方式来启动线程,真正实现了多线程运行。

上述实施例1中的步骤s600包括:

s610判断所述监听结果是否满足端口冲突规则,所述端口冲突规则为先配置的规则生效;

s620当监听到所述第二端口接收到发来的请求包,且所述第三端口未接收到发来的请求包,则判断所述dut满足端口冲突规则,所述dut端口冲突处理能力合格;

s630当监听到所述第三端口接收发来的请求包,则判断所述dut不满足端口冲突规则,所述dut端口冲突处理能力不合格。

根据前面的步骤可知,设置的第一条端口转发规则为将向dut的wan侧ip的第一端口请求的包转发至映射的测试系统的第二端口。根据先配置的规则生效的端口冲突规则,可知只有第二端口监听到发来的请求包,且第三端口未接收到请求包,才可以验证出待测设备(dut)的端口冲突处理能力是ok的;如果从第三端口监听到发来的请求包,则说明没有满足端口冲突规则,那么,说明待测设备的端口冲突处理能力是不合格的。

监听测试系统的第二端口和测试系统的第三端口会出现以下几种情况:

1、监听到第二端口接收到发来的请求包,第三端口则没有接收到请求包;

2、监听到第二端口和第三端口均接收到了发来的请求包;

3、监听到第二端口未接收到发来的请求包,第三端口却接收到了请求包;

4、监听到第二端口和第三端口均没有接收到请求包。

上述四种情况中,除了第一种情况是测试合格外,另外三种均是测试不合格。因为之前设定的规则是冲突的,之前先设置的端口转发规则是,将dut的wan侧ip的第一端口接收的请求包转发给测试系统的第二端口,因此,如果检测到了第三端口有接收到发来的数据包,则说明没有按照先配置的规则先生效的原则,也就可以判定待测设备处理端口冲突能力不合格了。

这里有必要说明一下,本实施例没有只发起一个线程来测试。而是采用了两个线程,且是同时向dut的第一端口同时发起的,也是为了构造出端口冲突的测试环境,另外,之前设置的两条端口规则也是冲突的,测试被测设备在遇到同一接口同时遇到多个线程时处理端口冲突处理能力。

本发明的第二实施例,如图2所示,包括步骤:

s110在dut上配置一条端口转发规则,配置服务器ip为dut分配给测试系统的ip,并配置dut的wan侧ip的第一端口映射测试系统的第二端口;以便将向dut的wan侧ip的第一端口请求的包转发至映射的测试系统的第二端口;

s120开启dmz主机功能,配置dmz主机功能的dmzip为测试系统的ip,以便将向dut的wan侧ip的第一端口请求的包转发至对应的测试系统的第三端口;

s210调用命令监听测试系统上的第二端口和第三端口;

s310调用telnet函数通过telnet协议连接陪测pc;

s320通过命令启动陪测pc上的测试脚本;

s330所述测试脚本调用thread函数创建两个线程,所述两个线程均为调用nc命令从陪测pc发出向dut的wan侧ip的第一端口进行请求的包;

s410调用thread.start命令同时发起上一步骤中创建的两个线程,通过陪测pc同时发出两个向dutwan侧ip的第一端口进行请求的包;

s510断开与陪测pc的连接,获取所述第二端口和第三端口的监听结果;

s610判断所述监听结果是否满足端口冲突规则,所述端口冲突规则为先配置的规则生效;

s620当监听到所述第二端口接收发来的请求包,且所述第三端口未接收到发来的请求包,则判断所述dut满足端口冲突规则,所述dut端口冲突处理能力合格;

s630当监听到所述第三端口接收发来的请求包,则判断所述dut不满足端口冲突规则,所述dut端口冲突处理能力不合格。

为了更好地说明本发明的预期效果,本发明的第三实施例以k3c的自动化测试说明,根据本发明的技术方案,做进一步的详细说明。

测试拓扑示意图如图3所示。

测试准备:测试人员将dut获取的wan侧地址输入测试系统并启动测试系统;测试方法流程如图4所示,包括:

步骤s1,系统调用函数在dut上配置一条端口转发规则,服务器ip为dut分配给测试系统的ip,内部端口为90、外部端口为9000,再开启dmz主机功能,将dmz主机功能的dmzip设置成与端口转发功能的内部ip一致;(两条规则内容为:端口转发,将向dut的wan侧ip的9000端口请求的包转发至服务器ip的90端口;dmz主机功能,将向dut的wan侧ip的任意端口请求的包转发至服务器ip的对应端口,即dut的wan侧端口为9000,对应端口亦为9000)

步骤s2,测试系统调用nc命令在测试系统端对测试系统的90和9000端口进行监听;

步骤s3,测试系统调用telnet函数通过telnet协议连接陪测pc,并通过命令启动在陪测pc上的脚本;脚本调用thread函数创建两个线程,(线程1的内容为:调用nc命令从陪测pc发出向dut的wan侧ip的9000端口进行请求的包;线程2的内容为:调用nc命令从陪测pc发出向dut的wan侧ip的9000端口进行请求的包。)

步骤s4,调用thread.start命令同时发起两个线程,即陪测pc同时发出两个向dutwan侧ip的9000端口进行请求的包;

步骤s5,调用命令断开测试系统和陪测电脑间的telnet连接;

步骤s6,检查测试系统端nc监听的结果,判断是否满足冲突规则。如果测试系统的90端口接收发来的请求包,且测试系统的9000端口没有收到请求包,则为pass,如果测试系统的9000端口接收发来的请求包则为fail;(端口冲突规则为先配置的规则生效。)

步骤s7,返回测试结果并结束测试。

本发明的关键点在于通过同时向dut的同一端口发送请求包测试dut端口冲突处理能力;利用多线程的方法实现同时向dut同一端口发送请求。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围

基于相同的技术构思,本发明实施例还提供一种dut端口冲突处理能力的测试系统,该测试系统可执行上述方法实施例。本发明第四实施例提供的测试系统如图5所示,包括:规则配置模块10、监听模块20、线程创建模块30、测试模块40、控制模块50,所述控制模块50分别与所述规则配置模块10、监听模块20、线程创建模块30及测试模块40相连;其中:所述规则配置模块10调用函数在dut上配置dut端口转发规则和开启dmz主机功能;所述监听模块20调用命令监听测试系统上对应的测试端口;所述线程创建模块30通过telnet协议与陪测pc建立连接,创建多线程;所述测试模块40调用命令从陪测pc向所述dut发起所述多线程进行测试;所述控制模块50调用命令断开所述测试系统与陪测pc的连接,并通过所述监听模块20获取测试端口的监听结果;所述控制模块50根据所述监听结果,判断所述dut的端口冲突处理能力是否合格。

本发明的第五实施例,如图6所示,在上述实施例四的基础上,所述测试系统的规则配置模块10包括:第一规则配置子模块11、第二规则配置子模块12,其中:所述第一规则配置子模块11调用函数在dut上配置一条端口转发规则,配置服务器ip为dut分配给测试系统的ip,并配置dut的wan侧ip的第一端口映射测试系统的第二端口;以便将向dut的wan侧ip的第一端口请求的包转发至映射的测试系统的第二端口;所述第二规则配置子模块开启dmz主机功能,配置dmz主机功能的dmzip为测试系统的ip,以便将向dut的wan侧ip的第一端口请求的包转发至对应的测试系统的第三端口。

较佳的,所述线程创建模块30包括:连接子模块31、脚本启动子模块32及线程建立子模块33,所述脚本启动子模块32分别与所述连接子模块31、所述线程建立子模块33相连,其中:所述连接子模块31调用telnet函数通过telnet协议连接陪测pc;所述脚本启动子模块32通过命令启动陪测pc上的测试脚本;所述线程建立子模块33通过所述测试脚本调用thread函数创建两个线程,所述两个线程均为调用nc命令从陪测pc发出向dut的wan侧ip的第一端口进行请求的包。

较佳的,所述测试模块40调用thread.start命令同时发起上一步骤中创建的两个线程,通过陪测pc同时发出两个向dutwan侧ip的第一端口进行请求的包。

较佳的,所述控制模块50包括:操作子模块51、与所述操作子模块51相连的判断子模块52;其中:所述操作子模块51在所述测试模块40发起测试后,断开与陪测pc的连接,通过所述监听模块20获取第二端口、第三端口的监听结果;所述判断子模块52判断所述第二端口、第三端口的监听结果是否满足端口冲突规则,所述端口冲突规则为先配置的规则生效;当所述监听模块20监听到所述第二端口接收发来的请求包,且所述第三端口未接收发来的请求,则所述判断子模块52判断所述dut满足端口冲突规则,所述dut端口冲突处理能力合格;当所述监听模块20监听到所述第三端口接收发来的请求包,则所述判断子模块52判断所述dut不满足端口冲突规则,所述dut端口冲突处理能力不合格。

本发明实施例的测试系统用于对待测设备的端口冲突能力的测试,待测设备包括soho产品,比如交换机、路由器等。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1