[0055] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0056] 本发明公开了一种模拟DHCP Offer泛洪的方法,实施例一如图1所示,包括步骤:
[0057] S100所述测试主机组建DHCP Offer包;
[0058] S200待测路由器通过集线器向陪测路由器请求IP地址,待所述待测路由器成功获取到所述陪测路由器分配的IP地址后,在租约期的1/2时间断开陪测路由器与集线器之间的连接;
[0059] S300所述测试主机通过集线器向待测路由器发送大量组建的DHCP Offer包,所述DHCP Offer包包含提供给所述待测路由器的源IP地址;
[0060] S400所述测试主机判断所述待测路由器是否获取了DHCP Offer包中的源IP地址,若是,则进入步骤S500,否则进入步骤S600;
[0061] S500判断所述待测路由器DHCP功能异常;
[0062] S600所述测试主机停止发送所述DHCP Offer包,并重新建立陪测路由器与集线器之间的连接,判断所述待测路由器能否获取陪测路由器发送的IP地址,若是,则进入步骤S700,否则进入步骤S500;
[0063] S700判断待测路由器DHCP功能正常。
[0064] 本实施例模拟了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功能异常。
[0065] 本实施例的方法简单易行,还可复用,节省了测试资源,无需提供多个DHCP服务器,通过模拟DHCP泛洪的方法解决了测试环境资源紧张的状况。减少了成本,提高了测试效率,且测试的质量有保证。
[0066] 较佳的,在上述实施例的测试开始之前,还需要进行相应的设置,搭建测试环境。具体的,设置待测路由器上网方式为DHCP,并设置陪测路由器的租约期,比如1分钟,将测试主机与集线器有线连接,当然,待测路由器与陪测路由器分别与所述集线器有线连接,如此,搭建好了测试环境。
[0067] 较佳的,在上述实施例中,所述步骤S100中,测试主机组建大量DHCP Offer包,我们可以采用xcap软件来组建,xcap软件本就是测试协议一致性功能测试床中固有环境,有SOP参考文档,简单的操作让测试人员能够快速上手,不了解测试环境的测试人员,只需要参照SOP文档即可进行测试;此外具有易控制,资源复用,效率高等优点。
[0068] 较佳的,上述实施例中,如图2所示,所述步骤S200包括步骤:
[0069] S210所述待测路由器以广播的方式发出DHCP Discover报文,请求租用IP地址;
[0070] S220所述陪测路由器接收到所述DHCP Discover报文后,向所述待测路由器发送一个DHCP Offer报文,所述报文中包含所述陪测路由器能提供给待测路由器使用的IP地址及所述陪测路由器自身的IP地址;
[0071] S230所述待测路由器接收所述DHCP Offer报文后,发出一个广播的DHCP Request报文,并在所述DHCP Request报文的选项字段加入所述陪测路由器地址及所述待测路由器申请的IP地址;
[0072] S240所述陪测路由器收到所述DHCP Request报文后发送响应DHCP ACK报文,并在所述DHCP ACK报文选项字段中增加所述待测路由器申请的IP地址的使用租约期信息;
[0073] S250所述待测路由器收到所述DHCP ACK报文后,检查所述陪测路由器分配的IP地址是否能够使用,若是则所述待测路由器成功获得所述选中的IP地址,并根据所述IP地址使用租约期自动启动延续过程;
[0074] S260在所述待测路由器获取的IP地址的租约期1/2时刻处,断开陪测路由器与集线器之间的通信连接,所述待测路由器会向所述陪测路由器发送DHCP Request报文来续租IP地址。
[0075] 在达到租约规定的有效期的一半时间(即租约期的1/2时刻)后,待测路由器就进入“续租状态”,待测路由器会向为它分配IP地址的DHCP服务器(即陪测路由器)单播发送DHCP REQUEST报文,以进行IP租约的更新。,如果作为DHCP服务器的陪测路由器认为可以继续使用,就会给待测路由器返回一个确认消息,这样待测路由器成功续租IP地址。如果陪测路由器认为不可以再将该IP地址分配给该待测路由器,则会通知待测路由器不能获得新的租约。如果在租约的一半时间进行的续约操作失败,待测路由器会在租约期限达到7/8时候(87.5%)时,如果还没有获得服务器的确认消息,该IP地址就被服务器回收。客户机必须重新开始租约的申请过程。因此,在租约期的1/2时刻断开陪测路由器与集线器的通信连接,使得陪测路由器未能接收租约消息或者无法返回续租的答复消息给到待测路由器,此时,再通过测试主机发送大量DHCP Offer包,伪装成陪测路由器,模拟DHCP Offer泛洪,检测路由器的DHCP功能。
[0076] 较佳的,实施例一种的步骤S300中,测试主机可以采用循环发送的方式,将组建的大量的DHCP Offer包循环发送给待测路由器。
[0077] 基于相同的技术构思,本发明实施例还提供一种模拟DHCP Offer泛洪的系统,该系统可执行上述方法实施例。本发明实施例提供的模拟DHCP Offer泛洪的系统,如图3所示,包括:待测路由器10、陪测路由器20、测试主机30及集线器40,所述待测路由器10、陪测路由器20及测试主机30分别与所述集线器40有线连接,所述测试主机30包括:组包模块31、报文收发模块32、及检查判断模块33,所述报文收发模块32分别与所述组包模块31、检查判断模块33相连,其中:
[0078] 所述测试主机30的组包模块31组建DHCP Offer包;
[0079] 所述待测路由器10通过集线器40向陪测路由器20请求IP地址,待所述待测路由器10成功获取到所述陪测路由器20分配的IP地址后,在租约期的1/2时间断开陪测路由器20与集线器40之间的连接;
[0080] 所述测试主机30的报文收发模块32通过集线器40向待测路由器10发送所述组包模块31组建的大量的DHCP Offer包;
[0081] 所述测试主机30的检查判断模块33判断所述待测路由器10是否获取了所述DHCP Offer包中的源IP地址;
[0082] 若所述测试主机30的检查判断模块33判断所述待测路由器10获取了所述DHCP Offer包中的源IP地址,则判断所述待测路由器10DHCP功能异常;
[0083] 若所述测试主机30的检查判断模块33判断所述待测路由器10未获取所述DHCP Offer包中的源IP地址,则所述测试主机30的报文收发模块32停止发送所述DHCP Offer包,重新建立陪测路由器20与集线器40之间的连接,所述测试主机30的检查判断模块33进一步判断所述待测路由器10能否获取陪测路由器20发送的IP地址,若是,则所述测试主机30的检查判断模块33判断待测路由器10DHCP功能正常,否则所述测试主机30的检查判断模块33判断所述待测路由器10的DHCP功能异常。
[0084] 本系统节省测试资源,除了测试该功能外,该环境还可进行ARP等协议测试、端口漏洞扫描测试等。效率高,测试环境固定,简单易懂,测试人员上手快。在于保证测试质量与效率的同时,还可以节约实验室资源、合理分配、固定测试环境,有利于保证测试结果的准确性。
[0085] 较佳的,上述实施例中的测试主机30还包括与所述报文收发模块32相连的设置模块34,其中:所述测试主机30的设置模块34设置待测路由器10上网方式为DHCP,并设置陪测路由器20的租约期。由于本系统用于模拟DHCP Offer泛洪,用于测试,因此一般将租约期设置为1分钟即可,设置租约期过长会影响测试效率。
[0086] 较佳的,上述实施例一种的所述测试主机30的组包模块31通过xcap软件组建DHCP Offer包。xcap软件本就是测试协议一致性功能测试床中固有环境,有SOP参考文档,简单的操作让测试人员能够快速上手,具有易控制,资源复用,效率高等优点。
[0087] 较佳的,在上述实施例一种的模拟DHCP Offer泛洪的系统中,所述待测路由器10通过集线器40向陪测路由器20请求IP地址,待所述待测路由器10成功获取到所述陪测路由器20分配的IP地址后,在租约期的1/2时间断开陪测路由器20与集线器40之间的连接;这一过程包括:
[0088] 所述待测路由器10以广播的方式发出DHCP Discover报文,请求租用IP地址;
[0089] 所述陪测路由器20接收到所述DHCP Discover报文后,向所述待测路由器10发送一个DHCP Offer报文,所述报文中包含所述陪测路由器20能提供给待测路由器10使用的IP地址及所述陪测路由器20自身的IP地址;
[0090] 所述待测路由器10接收所述DHCP Offer报文后,发出一个广播的DHCP Request报文,并在所述DHCP Request报文的选项字段加入所述陪测路由器20地址及所述待测路由器10申请的IP地址;
[0091] 所述陪测路由器20收到所述DHCP Request报文后发送响应DHCP ACK报文,并在所述DHCP ACK报文选项字段中增加所述待测路由器10申请的IP地址的使用租约期信息;
[0092] 所述待测路由器10收到所述DHCP ACK报文后,检查所述陪测路由器20分配的IP地址是否能够使用,若是则所述待测路由器10成功获得所述选中的IP地址,并根据所述IP地址使用租约期自动启动延续过程;
[0093] 在所述待测路由器10获取的IP地址的租约期1/2时刻处,断开陪测路由器20与集线器40之间的通信连接,所述待测路由器10会向所述陪测路由器20发送DHCP Request报文来续租IP地址。
[0094] 较佳的,在上述任一实施例的基础上,所述测试主机30的报文收发模块32通过集线器40向所述待测路由器10循环发送大量组建的DHCP Offer包,所述DHCP Offer包包含提供给所述待测路由器10的源IP地址。循环发送组建好的大量DHCP Offer包使得模拟泛洪的效果更好。
[0095] 本发明的另一实施例,本发明的系统采用本发明的方法进行测试,该模拟DHCP Offer泛洪的方法适用于所有路由器。主要是利用xcap软件手动组建
[0096] DHCP Offer包,当路由器获取地址后,1/2租约期时间发DHCP Request时,模拟环境中存在的干扰(大量发出DHCP Offer包),来解决路由器会不会错拿地址等测试问题。
[0097] 基本的,具体测试流程图详见图5:
[0098] S501搭建测试环境:PC设置路由器上网方式为DHCP,陪测路由器租约期设置为1分钟,以上设置完成后将PC与HUB连接,具体环境拓扑图如图4所示;
[0099] S502组建DHCP Offer包:将协议一致性测试环境中已组好的报文中,目的MAC(ff:ff:ff:ff:ff:ff/01:00:5e:01:01:01除外)修改为路由器LAN口MAC;
[0100] S503路由器正常获取地址;
[0101] S504断开陪测路由器与HUB之间的网线:路由器正常获取地址后,租约期的1/2时间(30s)断开陪测路由器与HUB之间的网线;
[0102] S505发送DHCP Offer包:协议测试PC向路由器循环发送大量源IP为192.168.1.170的DHCP Offer包;
[0103] S506检查路由器获IP情况:检查路由器有没有获取offer包中地址192.168.1.170;如果有的话进入步骤S510,否则进入S507;
[0104] S507停发DHCP Offer包:如果路由器没有获取offer包中地址192.168.1.170;协议测试PC停止发送DHCP Offer包;
[0105] S508重连陪测路由器与HUB之间的网线;
[0106] S509检查路由器获IP情况:检查路由器是否能够正确获取地址,若是则进入S511,否则进入S510;
[0107] S510判断路由器DHCP功能异常;
[0108] S511判断路由器DHCP功能正常。
[0109] 与现有最好技术相比,本发明的优点在于:
[0110] 易控制:不了解测试环境的测试人员,只需参照SOP文档即可进行测试;
[0111] 可复用:节省测试资源,除了测试该功能外,该环境还可进行ARP等协议测试、端口漏洞扫描测试等;
[0112] 效率高:测试环境固定,简单易懂,测试人员上手快。
[0113] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0114] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。