一种模拟DHCPOffer泛洪的方法及系统与流程

文档序号:18851163发布日期:2019-10-13 00:56阅读:380来源:国知局
一种模拟DHCP Offer泛洪的方法及系统与流程

本发明属于测试领域,尤其涉及一种模拟DHCP Offer泛洪的方法及系统。



背景技术:

DHCP(Dynamic Host Configuration Protocol,DHCP)是动态主机设置协议,它是一个局域网的网络协议。通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。起初,实验室环境中采用泛洪来测试路由器DHCP功能并未出现,受环境干扰而拿错或多拿地址而无法上网的情况,该问题是经客户反馈现场查看才发现的。后来虽然有了测试环境,但是现有的实验室环境测试资源有限,并不能完全实现真实环境的测试,这需要准备多个DHCP服务器并设置不同IP,同时回应路由器发出的DHCP Discover来模拟泛洪进行测试,测试环境资源非常紧张,测试环境费用高,且不测试DHCP功能时浪费测试资源,测试环境复杂,需要有人指导操作,耗时耗力。



技术实现要素:

本发明提供一种模拟DHCP Offer(DHCP供给报文)泛洪的方法及系统,用以解决现有技术中存在的测试路由器的DHCP功能的测试环境资源紧张的状况问题。

本发明一种模拟DHCP Offer泛洪的方法,包括步骤:

S100所述测试主机组建DHCP Offer包;

S200待测路由器通过集线器向陪测路由器请求IP地址,待所述待测路由器成功获取到所述陪测路由器分配的IP地址后,在租约期的1/2时间断开陪测路由器与集线器之间的连接;

S300所述测试主机通过集线器向待测路由器发送大量组建的DHCP Offer包,所述DHCP Offer包包含提供给所述待测路由器的源IP地址;

S400所述测试主机判断所述待测路由器是否获取了DHCP Offer包中的源IP地址,若是,则进入步骤S500,否则进入步骤S600;

S500判断所述待测路由器DHCP功能异常;

S600所述测试主机停止发送所述DHCP Offer包,并重新建立陪测路由器与集线器之间的连接,判断所述待测路由器能否获取陪测路由器发送的IP地址,若是,则进入步骤S700,否则进入步骤S500;

S700判断待测路由器DHCP功能正常。

本发明公开了一种模拟DHCP Offer泛洪的方法,适用于所有路由器。主要是通过组建DHCP Offer包,当路由器正常获取IP地址后,1/2租约期时间发DHCP Request时,断开与分配其IP地址的陪测路由器(相当于服务器)的连接,然后模拟环境中存在的干扰(大量发出DHCP Offer包),本发明的模拟DHCP Offer泛洪的方法可以用来来测试路由器会不会错拿地址,判断路由器的DHCP功能。该方法简单可行,易于操作和控制,测试环境简单,节约了测试资源,减少了成本,提高了测试效率,解决现有技术中存在的测试路由器的DHCP功能的测试环境资源紧张的状况问题。

进一步地,还包括:S010设置待测路由器上网方式为DHCP,并设置陪测路由器的租约期;S020将测试主机与集线器有线连接,待测路由器与陪测路由器分别与所述集线器有线连接,建立测试环境。

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

S210所述待测路由器以广播的方式发出DHCP Discover报文,请求租用IP地址;

S220所述陪测路由器接收到所述DHCP Discover报文后,向所述待测路由器发送一个DHCP Offer报文,所述报文中包含所述陪测路由器能提供给待测路由器使用的IP地址及所述陪测路由器自身的IP地址;

S230所述待测路由器接收所述DHCP Offer报文后,发出一个广播的DHCP Request报文,并在所述DHCP Request报文的选项字段加入所述陪测路由器地址及所述待测路由器申请的IP地址;

S240所述陪测路由器收到所述DHCP Request报文后发送响应DHCP ACK报文,并在所述DHCP ACK报文选项字段中增加所述待测路由器申请的IP地址的使用租约期信息;

S250所述待测路由器收到所述DHCP ACK报文后,检查所述陪测路由器分配的IP地址是否能够使用,若是则所述待测路由器成功获得所述选中的IP地址,并根据所述IP地址使用租约期自动启动延续过程;

S260在所述待测路由器获取的IP地址的租约期1/2时刻处,断开陪测路由器与集线器之间的通信连接,所述待测路由器会向所述陪测路由器发送DHCP Request报文来续租IP地址。

选择租约期的1/2时刻断开陪测路由器与集线器的连接,使得待测路由器与陪测路由器之间无法通过报文沟通续租IP地址事宜,此时,加入大量外界干扰,即发送大量的DHCP Offer报文,看待测路由器是否会受其干扰,错拿干扰报文中的IP地址。

进一步地,所述步骤S100包括:S110所述测试主机通过xcap组建大量DHCP Offer包。本方案是利用xcap软件组包,来实现一种模拟DHCP Offer泛洪。xcap是一款windows发包工具,能够从系统中读取处所有的网络接口。xcap发包工具可以windows上从指定的接口发送构造的报文,支持两种简单的发送策略,一是发送选中的(用鼠标选中),二是循环发送复。xcap支持构造常见的以太网报文,包括arp、rarp、ipv4、ipv6、icmpv4、icmpv6、igmp、udp、tcp、pim、ospf、rip、snmp、ppp、pppoe、ipsec(ah/esp)等等,以及一些不常用的报文,如果802.3、STP等等。该xcap软件可模拟各种DHCP Offer包,从而全面测试无遗漏。xcap软件本就是测试协议一致性功能测试床中固有环境,有SOP参考文档,简单的操作让测试人员能够快速上手,具有易控制,资源复用,效率高等优点。此外,在于保证测试质量与效率的同时,还可以节约实验室资源、合理分配、固定测试环境,有利于保证测试结果的准确性。

进一步地,所述步骤S300包括:S310所述测试主机通过集线器向所述待测路由器循环发送大量组建的DHCP Offer包,所述DHCP Offer包包含提供给所述待测路由器的源IP地址。

本发明还提供了一种模拟DHCP Offer泛洪的系统,包括:待测路由器、陪测路由器、测试主机及集线器,所述待测路由器、陪测路由器及测试主机分别与所述集线器有线连接,所述测试主机包括:组包模块、报文收发模块、及检查判断模块,所述报文收发模块分别与所述组包模块、检查判断模块相连,其中:

所述测试主机的组包模块组建DHCP Offer包;

待测路由器通过集线器向陪测路由器请求IP地址,待所述待测路由器成功获取到所述陪测路由器分配的IP地址后,在租约期的1/2时间断开陪测路由器与集线器之间的连接;

所述测试主机的报文收发模块通过集线器向待测路由器发送所述组包模块组建的大量的DHCP Offer包;

所述测试主机的检查判断模块判断所述待测路由器是否获取了所述DHCP Offer包中的源IP地址;

若所述测试主机的检查判断模块判断所述待测路由器获取了所述DHCP Offer包中的源IP地址,则判断所述待测路由器DHCP功能异常;

若所述测试主机的检查判断模块判断所述待测路由器未获取所述DHCP Offer包中的源IP地址,则所述测试主机的报文收发模块停止发送所述DHCP Offer包,重新建立陪测路由器与集线器之间的连接,所述测试主机的检查判断模块进一步判断所述待测路由器能否获取陪测路由器发送的IP地址,若是,则所述测试主机的检查判断模块判断待测路由器DHCP功能正常,否则所述测试主机的检查判断模块判断所述待测路由器DHCP功能异常。

本发明的系统简单易控制,测试环境固定,测试人员上手快,效率高。此系统还可复用,节省测试资源,除了测试该路由器功能外,该环境还可进行ARP等协议测试、端口漏洞扫描测试等。

进一步地,所述测试主机还包括与所述报文收发模块相连的设置模块,其中:所述测试主机的设置模块设置待测路由器上网方式为DHCP,并设置陪测路由器的租约期。

进一步地,待测路由器通过集线器向陪测路由器请求IP地址,待所述待测路由器成功获取到所述陪测路由器分配的IP地址后,在租约期的1/2时间断开陪测路由器与集线器之间的连接;包括:

所述待测路由器以广播的方式发出DHCP Discover报文,请求租用IP地址;

所述陪测路由器接收到所述DHCP Discover报文后,向所述待测路由器发送一个DHCP Offer报文,所述报文中包含所述陪测路由器能提供给待测路由器使用的IP地址及所述陪测路由器自身的IP地址;

所述待测路由器接收所述DHCP Offer报文后,发出一个广播的DHCP Request报文,并在所述DHCP Request报文的选项字段加入所述陪测路由器地址及所述待测路由器申请的IP地址;

所述陪测路由器收到所述DHCP Request报文后发送响应DHCP ACK报文,并在所述DHCP ACK报文选项字段中增加所述待测路由器申请的IP地址的使用租约期信息;

所述待测路由器收到所述DHCP ACK报文后,检查所述陪测路由器分配的IP地址是否能够使用,若是则所述待测路由器成功获得所述选中的IP地址,并根据所述IP地址使用租约期自动启动延续过程;

在所述待测路由器获取的IP地址的租约期1/2时刻处,断开陪测路由器与集线器之间的通信连接,所述待测路由器会向所述陪测路由器发送DHCP Request报文来续租IP地址。

进一步地,所述测试主机的组包模块通过xcap软件组建DHCP Offer包。

进一步地,所述测试主机的报文收发模块通过集线器向所述待测路由器循环发送大量组建的DHCP Offer包,所述DHCP Offer包包含提供给所述待测路由器的源IP地址。

本发明有益效果如下:

(1)模拟组建各种DHCP Offer包,全面测试无遗漏。

(2)测试环境可复用,无需使用多台服务器,节约测试资源与空间利用。且该环境还可进行ARP等协议测试、端口漏洞扫描测试等。

(3)测试环境固定,保证测试质量。

(4)操作简单,测试环境易控制,操作人员易上手。

(5)成本低,在减少成本的同时,还提高了测试效率。

综上所述,本发明具有保证测试质量、节约测试资源、提高测试效率等优点。

附图说明

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

图1为本发明一种模拟DHCP Offer泛洪的方法实施例一流程图;

图2为本发明一种模拟DHCP Offer泛洪的方法另一实施例中待测路由器DHCP租约过程流程图;

图3为本发明一种模拟DHCP Offer泛洪的系统实施例框图;

图4为本发明一种模拟DHCP Offer泛洪的系统实施例拓扑图;

图5为本发明一种模拟DHCP Offer泛洪的方法另一实施例流程图。

具体实施方式

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

本发明公开了一种模拟DHCP Offer泛洪的方法,实施例一如图1所示,包括步骤:

S100所述测试主机组建DHCP Offer包;

S200待测路由器通过集线器向陪测路由器请求IP地址,待所述待测路由器成功获取到所述陪测路由器分配的IP地址后,在租约期的1/2时间断开陪测路由器与集线器之间的连接;

S300所述测试主机通过集线器向待测路由器发送大量组建的DHCP Offer包,所述DHCP Offer包包含提供给所述待测路由器的源IP地址;

S400所述测试主机判断所述待测路由器是否获取了DHCP Offer包中的源IP地址,若是,则进入步骤S500,否则进入步骤S600;

S500判断所述待测路由器DHCP功能异常;

S600所述测试主机停止发送所述DHCP Offer包,并重新建立陪测路由器与集线器之间的连接,判断所述待测路由器能否获取陪测路由器发送的IP地址,若是,则进入步骤S700,否则进入步骤S500;

S700判断待测路由器DHCP功能正常。

本实施例模拟了DHCP Offer泛洪的测试环境,用陪测路由器来充当一台服务器,用测试主机组建大量DHCP Offer包实现模拟DHCP泛洪。首先,测试主机先组建大量的DHCP Offer包,先组建好不发送,待后续一起发送营造出泛洪现象。陪测路由充当了一台服务器的角色,因此,被测路由先向陪测路由器(相当于服务器)申请IP地址,看能否正常获得IP地址。如果被测路由能够成功获取陪测路由分配的IP地址,则在这个IP地址的租约期的1/2时间这一时刻,断开陪测路由器和集线器的连接,然后让测试主机通过集线器向待测路由器发送大量之前组建好的DHCP Offer包,这个DHCP Offer包里面含有提供给待测路由器使用的IP,这里称为源IP。注意,这里的源IP与之前陪测路由器提供给待测路由器的IP地址不是同一个地址,因为这里是测试主机仿冒服务器发起的报文,这个报文和之前陪测路由器分配IP地址给待测路由器的DHCP Offer报文除了提供的IP地址不一样外,其余差别不大。甚至,为了欺骗待测路由器,测试主机发送的DHCP Offer报文包含的发送方的IP也不是用的真正自己的IP地址,而是伪装成陪测路由器,该报文中包含的发送方的IP是陪测路由器的IP。因此,如果待测路由器不对报文进行进一步的验证确认,便获取该测试主机发送的DHCP Offer报文中的源IP地址的话,则说明该待测路由器DHCP功能出现了异常。也就是说,随后判断待测路由器有没有获取测试主机发送的DHCP Offer包中的源IP地址,如果获取了的话,则说明该待测路由器的DHCP功能异常。如果没有获取的话,则再连接上陪测路由器与集线器之间的网线,建立连接,再检查判断待测路由器有没有获取陪测路由器提供的IP,如果连接上后能获取到陪测路由器提供的IP,则说明该待测路由器DHCP功能正常,不能获取的话,则判断该待测路由器DHCP功能异常。

本实施例的方法简单易行,还可复用,节省了测试资源,无需提供多个DHCP服务器,通过模拟DHCP泛洪的方法解决了测试环境资源紧张的状况。减少了成本,提高了测试效率,且测试的质量有保证。

较佳的,在上述实施例的测试开始之前,还需要进行相应的设置,搭建测试环境。具体的,设置待测路由器上网方式为DHCP,并设置陪测路由器的租约期,比如1分钟,将测试主机与集线器有线连接,当然,待测路由器与陪测路由器分别与所述集线器有线连接,如此,搭建好了测试环境。

较佳的,在上述实施例中,所述步骤S100中,测试主机组建大量DHCP Offer包,我们可以采用xcap软件来组建,xcap软件本就是测试协议一致性功能测试床中固有环境,有SOP参考文档,简单的操作让测试人员能够快速上手,不了解测试环境的测试人员,只需要参照SOP文档即可进行测试;此外具有易控制,资源复用,效率高等优点。

较佳的,上述实施例中,如图2所示,所述步骤S200包括步骤:

S210所述待测路由器以广播的方式发出DHCP Discover报文,请求租用IP地址;

S220所述陪测路由器接收到所述DHCP Discover报文后,向所述待测路由器发送一个DHCP Offer报文,所述报文中包含所述陪测路由器能提供给待测路由器使用的IP地址及所述陪测路由器自身的IP地址;

S230所述待测路由器接收所述DHCP Offer报文后,发出一个广播的DHCP Request报文,并在所述DHCP Request报文的选项字段加入所述陪测路由器地址及所述待测路由器申请的IP地址;

S240所述陪测路由器收到所述DHCP Request报文后发送响应DHCP ACK报文,并在所述DHCP ACK报文选项字段中增加所述待测路由器申请的IP地址的使用租约期信息;

S250所述待测路由器收到所述DHCP ACK报文后,检查所述陪测路由器分配的IP地址是否能够使用,若是则所述待测路由器成功获得所述选中的IP地址,并根据所述IP地址使用租约期自动启动延续过程;

S260在所述待测路由器获取的IP地址的租约期1/2时刻处,断开陪测路由器与集线器之间的通信连接,所述待测路由器会向所述陪测路由器发送DHCP Request报文来续租IP地址。

在达到租约规定的有效期的一半时间(即租约期的1/2时刻)后,待测路由器就进入“续租状态”,待测路由器会向为它分配IP地址的DHCP服务器(即陪测路由器)单播发送DHCP REQUEST报文,以进行IP租约的更新。,如果作为DHCP服务器的陪测路由器认为可以继续使用,就会给待测路由器返回一个确认消息,这样待测路由器成功续租IP地址。如果陪测路由器认为不可以再将该IP地址分配给该待测路由器,则会通知待测路由器不能获得新的租约。如果在租约的一半时间进行的续约操作失败,待测路由器会在租约期限达到7/8时候(87.5%)时,如果还没有获得服务器的确认消息,该IP地址就被服务器回收。客户机必须重新开始租约的申请过程。因此,在租约期的1/2时刻断开陪测路由器与集线器的通信连接,使得陪测路由器未能接收租约消息或者无法返回续租的答复消息给到待测路由器,此时,再通过测试主机发送大量DHCP Offer包,伪装成陪测路由器,模拟DHCP Offer泛洪,检测路由器的DHCP功能。

较佳的,实施例一种的步骤S300中,测试主机可以采用循环发送的方式,将组建的大量的DHCP Offer包循环发送给待测路由器。

基于相同的技术构思,本发明实施例还提供一种模拟DHCP Offer泛洪的系统,该系统可执行上述方法实施例。本发明实施例提供的模拟DHCP Offer泛洪的系统,如图3所示,包括:待测路由器10、陪测路由器20、测试主机30及集线器40,所述待测路由器10、陪测路由器20及测试主机30分别与所述集线器40有线连接,所述测试主机30包括:组包模块31、报文收发模块32、及检查判断模块33,所述报文收发模块32分别与所述组包模块31、检查判断模块33相连,其中:

所述测试主机30的组包模块31组建DHCP Offer包;

所述待测路由器10通过集线器40向陪测路由器20请求IP地址,待所述待测路由器10成功获取到所述陪测路由器20分配的IP地址后,在租约期的1/2时间断开陪测路由器20与集线器40之间的连接;

所述测试主机30的报文收发模块32通过集线器40向待测路由器10发送所述组包模块31组建的大量的DHCP Offer包;

所述测试主机30的检查判断模块33判断所述待测路由器10是否获取了所述DHCP Offer包中的源IP地址;

若所述测试主机30的检查判断模块33判断所述待测路由器10获取了所述DHCP Offer包中的源IP地址,则判断所述待测路由器10DHCP功能异常;

若所述测试主机30的检查判断模块33判断所述待测路由器10未获取所述DHCP Offer包中的源IP地址,则所述测试主机30的报文收发模块32停止发送所述DHCP Offer包,重新建立陪测路由器20与集线器40之间的连接,所述测试主机30的检查判断模块33进一步判断所述待测路由器10能否获取陪测路由器20发送的IP地址,若是,则所述测试主机30的检查判断模块33判断待测路由器10DHCP功能正常,否则所述测试主机30的检查判断模块33判断所述待测路由器10的DHCP功能异常。

本系统节省测试资源,除了测试该功能外,该环境还可进行ARP等协议测试、端口漏洞扫描测试等。效率高,测试环境固定,简单易懂,测试人员上手快。在于保证测试质量与效率的同时,还可以节约实验室资源、合理分配、固定测试环境,有利于保证测试结果的准确性。

较佳的,上述实施例中的测试主机30还包括与所述报文收发模块32相连的设置模块34,其中:所述测试主机30的设置模块34设置待测路由器10上网方式为DHCP,并设置陪测路由器20的租约期。由于本系统用于模拟DHCP Offer泛洪,用于测试,因此一般将租约期设置为1分钟即可,设置租约期过长会影响测试效率。

较佳的,上述实施例一种的所述测试主机30的组包模块31通过xcap软件组建DHCP Offer包。xcap软件本就是测试协议一致性功能测试床中固有环境,有SOP参考文档,简单的操作让测试人员能够快速上手,具有易控制,资源复用,效率高等优点。

较佳的,在上述实施例一种的模拟DHCP Offer泛洪的系统中,所述待测路由器10通过集线器40向陪测路由器20请求IP地址,待所述待测路由器10成功获取到所述陪测路由器20分配的IP地址后,在租约期的1/2时间断开陪测路由器20与集线器40之间的连接;这一过程包括:

所述待测路由器10以广播的方式发出DHCP Discover报文,请求租用IP地址;

所述陪测路由器20接收到所述DHCP Discover报文后,向所述待测路由器10发送一个DHCP Offer报文,所述报文中包含所述陪测路由器20能提供给待测路由器10使用的IP地址及所述陪测路由器20自身的IP地址;

所述待测路由器10接收所述DHCP Offer报文后,发出一个广播的DHCP Request报文,并在所述DHCP Request报文的选项字段加入所述陪测路由器20地址及所述待测路由器10申请的IP地址;

所述陪测路由器20收到所述DHCP Request报文后发送响应DHCP ACK报文,并在所述DHCP ACK报文选项字段中增加所述待测路由器10申请的IP地址的使用租约期信息;

所述待测路由器10收到所述DHCP ACK报文后,检查所述陪测路由器20分配的IP地址是否能够使用,若是则所述待测路由器10成功获得所述选中的IP地址,并根据所述IP地址使用租约期自动启动延续过程;

在所述待测路由器10获取的IP地址的租约期1/2时刻处,断开陪测路由器20与集线器40之间的通信连接,所述待测路由器10会向所述陪测路由器20发送DHCP Request报文来续租IP地址。

较佳的,在上述任一实施例的基础上,所述测试主机30的报文收发模块32通过集线器40向所述待测路由器10循环发送大量组建的DHCP Offer包,所述DHCP Offer包包含提供给所述待测路由器10的源IP地址。循环发送组建好的大量DHCP Offer包使得模拟泛洪的效果更好。

本发明的另一实施例,本发明的系统采用本发明的方法进行测试,该模拟DHCP Offer泛洪的方法适用于所有路由器。主要是利用xcap软件手动组建

DHCP Offer包,当路由器获取地址后,1/2租约期时间发DHCP Request时,模拟环境中存在的干扰(大量发出DHCP Offer包),来解决路由器会不会错拿地址等测试问题。

基本的,具体测试流程图详见图5:

S501搭建测试环境:PC设置路由器上网方式为DHCP,陪测路由器租约期设置为1分钟,以上设置完成后将PC与HUB连接,具体环境拓扑图如图4所示;

S502组建DHCP Offer包:将协议一致性测试环境中已组好的报文中,目的MAC(ff:ff:ff:ff:ff:ff/01:00:5e:01:01:01除外)修改为路由器LAN口MAC;

S503路由器正常获取地址;

S504断开陪测路由器与HUB之间的网线:路由器正常获取地址后,租约期的1/2时间(30s)断开陪测路由器与HUB之间的网线;

S505发送DHCP Offer包:协议测试PC向路由器循环发送大量源IP为192.168.1.170的DHCP Offer包;

S506检查路由器获IP情况:检查路由器有没有获取offer包中地址192.168.1.170;如果有的话进入步骤S510,否则进入S507;

S507停发DHCP Offer包:如果路由器没有获取offer包中地址192.168.1.170;协议测试PC停止发送DHCP Offer包;

S508重连陪测路由器与HUB之间的网线;

S509检查路由器获IP情况:检查路由器是否能够正确获取地址,若是则进入S511,否则进入S510;

S510判断路由器DHCP功能异常;

S511判断路由器DHCP功能正常。

与现有最好技术相比,本发明的优点在于:

易控制:不了解测试环境的测试人员,只需参照SOP文档即可进行测试;

可复用:节省测试资源,除了测试该功能外,该环境还可进行ARP等协议测试、端口漏洞扫描测试等;

效率高:测试环境固定,简单易懂,测试人员上手快。

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

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

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