一种验证路由器静态绑定功能的方法及装置
技术领域
本发明涉及路由器测试领域,尤其涉及一种验证路由器静态绑定功能的方法及装置。
背景技术
目前对于路由器的静态绑定功能项的测试是手动测试,配置完成后测试人员简单的看下下联设备获取的地址网段是否和预期获取的IP地址相同,每一步都需要人为查看与判断,且并没有深入查看报文中字段是否正确。
由于路由器的静态绑定功能为必测项,每个版本必须测试,反复的测试会占用测试人员大量的测试时间。
发明内容
本发明提供一种验证路由器静态绑定功能的方法及装置,解决了现有技术中需要手动测试路由器静态绑定功能,测试效率低,占用测试人员大量测试时间等技术问题。
一方面,本发明提供了一种验证路由器静态绑定功能的方法,包括:S100根据测试人员指令登陆待测路由器的WEB页面,进入DHCP服务页面;S200在所述待测路由器的DHCP服务页面上配置静态绑定,将测试电脑的网卡MAC地址与预期IP地址进行绑定并保存;S300释放所述测试电脑的IP地址,并使其重获IP地址。S400按照预设的过滤条件,抓取若干报文;S500将抓取的所述若干报文进行分析处理,获取所述若干报文中所述待测路由器分配给所述测试电脑的目标IP地址;S600判断所述目标IP地址是否与所述预期IP地址一致,若是,则进入步骤S700;否则,进入步骤S800;S700判断所述待测路由器静态绑定功能正常,验证合格;S800判断所述待测路由器静态绑定功能异常,验证不合格。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作。DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
静态绑定功能是指将终端设备的MAC地址和预期获取的IP地址进行绑定,绑定成功后,终端设备获取的IP地址为预期获取的IP地址。成功绑定了下联设备的MAC地址与预期IP地址后,即使释放掉下联设备的IP地址,路由器还是会将之前绑定的预期IP地址分配给该下联设备,因此,我们只需通过抓取包含路由器分配给下联设备IP地址的报文,然后提取出路由器分配给下联设备的目标IP地址,再比对该目标IP地址与预期IP地址是否一致,即可成功检测出该路由器的静态绑定功能是否合格。
进一步地,验证路由器静态绑定功能的方法还包括:S010根据所述待测路由器所在的网络,从所述路由器的IP地址池中选取预期IP地址。
进一步地,所述步骤S400包括:S410以协议bootp作为过滤项抓取所述测试电脑获取的若干报文。
进一步地,所述步骤S500包括:S510将抓取的所述若干报文进行解码获得报文信息,并将所述报文信息输出到指定的文本中;S520打开所述指定文本,并将所述指定文本中的报文信息赋给预先定义的变量;S530以“DHCP OFFER”作为分隔符将所述报文信息分割成两部分,其中,第二部分信息包含有待测路由器分配给下联设备的IP地址信息;S540将所述第二部分信息逐行输出,并从所述输出的第二部分信息中提取出目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址。
进一步地,所述步骤S540包括:S541将所述第二部分信息逐行输出;S542从输出的信息中查找关键字,所述关键字后面跟随有目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址;S543当查找到所述关键字时,获取所述关键字后面的目标IP地址。
另一方面,本发明还提供了一种验证路由器静态绑定功能的装置,包括:登陆模块,用于根据测试人员指令登陆待测路由器的WEB页面,进入DHCP服务页面;绑定模块,与所述登陆模块相连,用于在所述待测路由器的DHCP服务页面上配置静态绑定,将测试电脑的网卡MAC地址与预期IP地址进行绑定并保存;释放模块,与所述绑定模块相连,用于释放所述测试电脑的IP地址,并使其重获IP地址;报文抓取模块,与所述释放模块相连,用于按照预设的过滤条件,抓取所述测试电脑获取的若干报文;分析处理模块,与所述报文抓取模块相连,用于将所述报文抓取模块抓取的所述若干报文进行分析处理,获取所述若干报文中所述待测路由器分配给所述测试电脑的目标IP地址;判断模块,与所述分析处理模块及绑定模块相连,用于判断所述分析处理模块获取的所述目标IP地址是否与所述预期IP地址一致,当判断所述目标IP地址与所述预期IP地址一致时,判断所述待测路由器静态绑定功能正常,验证合格;当判断所述目标IP地址与所述预期IP地址不一致时,判断所述待测路由器静态绑定功能异常,验证不合格。
进一步地,本发明验证路由器静态绑定功能的装置还包括:选取模块,与所述绑定模块、判断模块相连,用于根据所述待测路由器所在的网络,从所述路由器的IP地址池中选取预期IP地址。
进一步地,所述抓取模块按照预设的过滤条件,抓取所述测试电脑获取的若干报文为以协议bootp作为过滤项抓取所述测试电脑获取的若干报文。
进一步地,所述分析处理模块包括:解码子模块,用于将所述报文抓取模块抓取的所述若干报文进行解码获得报文信息,并将所述报文信息输出到指定的文本中;变量赋值子模块,与所述解码子模块相连,用于打开所述指定文本,并将所述指定文本中的报文信息赋给预先定义的变量;分割子模块,与所述变量赋值子模块相连,用于以“DHCP OFFER”作为分隔符将所述报文信息分割成两部分,其中,第二部分信息包含有待测路由器分配给下联设备的IP地址信息;提取子模块,与所述分割子模块相连,用于将所述分割子模块分割的第二部分信息逐行输出,并从所述输出的第二部分信息中提取出目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址。
进一步地,所述提取子模块包括:输出单元,用于将所述分割子模块分割的第二部分信息逐行输出;查找单元,与所述输出单元相连,用于从所述输出单元输出的信息中查找关键字,所述关键字后面跟随有目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址;获取单元,与所述查找单元相连,用于当所述查找单元查找到所述关键字时,获取所述关键字后面的目标IP地址。
本发明的验证路由器静态绑定功能的方法与装置,简化了测试难度;提高了测试效率;减轻了测试人员工作难度;缩短了测试周期;降低了产品成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种验证路由器静态绑定功能的方法实施例的流程图;
图2为路由器静态绑定配置页面示意图;
图3为路由器地址池的开始地址与结束地址示意图;
图4为本发明一种验证路由器静态绑定功能的方法另一实施例的流程图;
图5为本发明一种验证路由器静态绑定功能的方法另一实施例的流程图;
图6为本发明一种验证路由器静态绑定功能的方法另一实施例的流程图;
图7为本发明一种验证路由器静态绑定功能的装置实施例的框图;
图8为本发明一种验证路由器静态绑定功能的装置另一实施例的框图;
图9为本发明一种验证路由器静态绑定功能的装置另一实施例的框图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供了一种验证路由器静态绑定功能的方法,实施例如图1所示,包括:
S100根据测试人员指令登陆待测路由器的WEB页面,进入DHCP服务页面;
S200在所述待测路由器的DHCP服务页面上配置静态绑定,将测试电脑的网卡MAC地址与预期IP地址进行绑定并保存;
S300释放所述测试电脑的IP地址,并使其重获IP地址。
S400按照预设的过滤条件,抓取若干报文;
S500将抓取的所述若干报文进行分析处理,获取所述若干报文中所述待测路由器分配给所述测试电脑的目标IP地址;
S600判断所述目标IP地址是否与所述预期IP地址一致,若是,则进入步骤S700;否则,进入步骤S800;
S700判断所述待测路由器静态绑定功能正常,验证合格;
S800判断所述待测路由器静态绑定功能异常,验证不合格。
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
静态绑定功能是指将终端设备的MAC地址和预期获取的IP地址进行绑定,绑定成功后,终端设备获取的IP地址为预期获取的IP地址。在路由器的DHCP服务页面进行静态绑定设置示意图如图2所示,获取到测试电脑网卡的MAC地址及预期IP地址后,将测试电脑的网卡MAC地址与预期IP地址进行绑定并保存。这里的预期IP是从路由器的IP地址池中选取出来的,以图3所示的路由器地址池为例,预期IP是从路由器地址池的开始地址和结束地址之间选取一个IP地址即可。测试电脑的MAC地址也是从测试电脑获取而来,获取到测试电脑的MAC地址和预期IP地址后,便可将二者进行静态绑定了。因此,在上述实施例步骤S100之前还包括步骤:S010根据所述待测路由器所在的网络,从所述路由器的IP地址池中选取预期IP地址。
将测试电脑的网卡MAC地址与预期IP地址进行绑定后,如果静态绑定功能正常的话,也就是说如果绑定成功的话,那么即使释放掉测试电脑的IP地址,那么待测路由器也还是会根据静态绑定功能重新分配之前绑定的预期IP地址给测试电脑,因此,本实施例在进行预期绑定后,释放测试电脑的IP地址,然后在测试电脑上抓取报文。由于测试电脑上报文很多,因此我们需要预设过滤条件,按照预设过滤条件来抓取我们需要的报文,这个过滤条件则使得我们抓取的报文中包含有路由器分配给测试电脑的目标IP地址,因此在测试时,只需从抓取的报文中提取目标IP地址,然后将目标IP地址与预期IP地址进行比对,比对一致,便说明待测路由器的静态绑定功能正常,测试合格;比对不一致的话,则说明待测路由器的静态绑定功能异常,测试不合格。
较佳的,在上述实施例中,所述步骤S400包括:S410以协议bootp作为过滤项抓取所述测试电脑获取的若干报文。
BOOTP(Bootstrap Protocol,引导程序协议)是一种引导协议,基于IP/UDP协议,也称自举协议,是DHCP协议的前身。BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心服务器上获得IP地址。通过BOOTP协议可以为局域网中的无盘工作站分配动态IP地址,这样就不需要管理员去为每个用户去设置静态IP地址。以协议bootp作为过滤项,则抓取的待测路由器发送给测试电脑的报文中肯定包含了待测路由器分配给测试电脑的IP地址。因此,本发明的另一实施例如图4所示,在上述实施例的基础上,采用的预设过滤条件抓取的报文为采用了bootp协议的报文。
本发明的另一实施例,如图5所示,包括:
S100根据测试人员指令登陆待测路由器的WEB页面,进入DHCP服务页面;
S200在所述待测路由器的DHCP服务页面上配置静态绑定,将测试电脑的网卡MAC地址与预期IP地址进行绑定并保存;
S300释放所述测试电脑的IP地址,并使其重获IP地址。
S400按照预设的过滤条件,抓取若干报文;
S510将抓取的所述若干报文进行解码获得报文信息,并将所述报文信息输出到指定的文本中;
S520打开所述指定文本,并将所述指定文本中的报文信息赋给预先定义的变量;
S530以“DHCP OFFER”作为分隔符将所述报文信息分割成两部分,其中,第二部分信息包含有待测路由器分配给下联设备的IP地址信息;
S540将所述第二部分信息逐行输出,并从所述输出的第二部分信息中提取出目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址;
S600判断所述目标IP地址是否与所述预期IP地址一致,若是,则进入步骤S700;否则,进入步骤S800;
S700判断所述待测路由器静态绑定功能正常,验证合格;
S800判断所述待测路由器静态绑定功能异常,验证不合格。
本实施例在上述任一实施例的基础上,对步骤“S500将抓取的所述若干报文进行分析处理,获取所述若干报文中所述待测路由器分配给所述测试电脑的目标IP地址”进行了详细阐述,具体的,先将抓取的报文进行解码,获得解码信息,并将该解码信息输出到指定文本中。然后通过调用open函数打开该指定文本,并将该指定文本中的报文信息(解码信息)赋给预设的变量,然后对预设的变量A赋值的报文信息进行分割,分割报文信息的好处是可以缩小查找目标IP的范围,通过DHCP OFFER作为分割符将报文信息分割成两部分。抓取的报文信息中,DHCP OFFER后面的报文信息肯定包含了路由器分给测试电脑的IP地址(目标IP地址),因此,以DHCP OFFER作为分割符分割报文信息后,只需要从分割的第二部分信息中去查找提取目标IP地址即可。这样减小了查找的工作量,加快了测试效率。
较佳的,在上述实施例的基础上,所述步骤S540包括:
S541将所述第二部分信息逐行输出;
S542从输出的信息中查找关键字,所述关键字后面跟随有目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址;
S543当查找到所述关键字时,获取所述关键字后面的目标IP地址。
如何尽快从分割后的第二部分信息中提取到目标IP地址呢?本实施例在上述实施例的基础上,通过关键字匹配的方法快速查找到目标IP地址。具体的,目标IP地址在报文中以(dst:.*)(.*)形式出现,这里*就表示是目标IP地址,因此,只有以(dst:.*)(.*)去匹配报文信息,便可获得*所代表的目标IP地址信息了,这样便可更为快速的从第二部分信息中快速查找到目标IP地址,便于提取出来与预期IP地址进行对比,验证待测路由器的静态绑定功能。
本发明方法的另一实施例,本实施例基于BOOTP协议验证路由器的静态绑定功能,准备:测试人员将DUT(待测路由器)的LAN口与测试电脑网卡相连,在测试电脑上启动测试脚本;脚本调用login函数打开并登陆DUT WEB页面;调用click命令进入DHCP服务页面,配置静态绑定规则(将测试电脑网卡的MAC地址与预期IP地址进行绑定)并进行保存;调用命令释放测试电脑IP地址并使其重获地址;调用命令tshark以协议为bootp作为过滤项进行抓取10个报文;将抓取到的报文信息解码结果输出到D盘的log.txt中;调用open函数将D盘下的log.txt文本打开并将文本中的报文信息赋给变量A;并调用re.split函数以‘DHCPOFFER’作为分割符对报文信息进行分割成两部分,调用for函数和readline函数将报文信息第二部分进行逐行输出(第二部分信息中包含DUT要分配给下联设备的IP地址),并调用re.search函数以(dst:.*)(.*)匹配项匹配出报文信息第二部分中的目标IP并输出,将输出的目标IP地址与预期的绑定IP地址进行对比,相同则测试PASS,不同则测试FAIL;输出测试结果。该方法简化测试难度;提高测试效率;减轻测试人员工作难度;缩短测试周期;降低产品成本。为了更好地说明本发明的预期效果,根据本发明的技术方案做进一步的详细说明,具体流程如图6所示:
准备:测试人员将DUT的LAN口与测试电脑网卡相连,在测试电脑上启动测试脚本;
步骤1,本调用login函数打开并登陆DUT WEB页面;
步骤2,调用click命令进入DHCP服务页面,配置静态绑定规则(将测试电脑网卡的MAC地址与预期IP地址进行绑定)并进行保存;
步骤3,调用命令释放测试电脑IP地址并使其重获地址;
步骤4,调用命令tshark以协议为bootp作为过滤项进行抓取10个报文;
步骤5,将抓取到的报文信息解码结果输出到D盘的log.txt中;
步骤6,调用open函数将D盘下的log.txt文本打开并将文本中的报文信息赋给变量A;并调用re.split函数以‘DHCP OFFER’作为分割符对报文信息进行分割成两部分,调用for函数和readline函数将报文信息第二部分进行逐行输出(第二部分信息中包含DUT要分配给下联设备的IP地址),并调用re.search函数以(dst:.*)(.*)匹配项匹配出报文信息第二部分中的目标IP(该目标地址为DUT分配给测试电脑的IP地址)并输出;
步骤7,将输出的目标IP地址与预期的绑定IP地址进行对比,相同则测试PASS,不同则测试FAIL;
步骤8,输出测试结果。
本实施例将DUT静态绑定测试固化成自动化测试脚本供测试人员使用;通过bootp协议报文中DHCP OFFER报文的抓取和分析实现DUT管理地址修改功能的测试。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。与现有最好技术相比,本发明简化了测试难度,提高了测试效率,减轻了测试人员工作难度,缩短了测试周期,并降低了测试产品成本。
另一方面,本发明还提供了一种验证路由器静态绑定功能的装置,该装置可采用本发明的验证路由器静态绑定功能的方法实施例,具体的,如图7所示,本实施的验证路由器静态绑定功能的装置包括:登陆模块100,用于根据测试人员指令登陆待测路由器的WEB页面,进入DHCP服务页面;绑定模块200,与所述登陆模块100相连,用于在所述待测路由器的DHCP服务页面上配置静态绑定,将测试电脑的网卡MAC地址与预期IP地址进行绑定并保存;释放模块300,与所述绑定模块200相连,用于释放所述测试电脑的IP地址,并使其重获IP地址;报文抓取模块400,与所述释放模块300相连,用于按照预设的过滤条件,抓取所述测试电脑获取的若干报文;分析处理模块500,与所述报文抓取模块400相连,用于将所述报文抓取模块400抓取的所述若干报文进行分析处理,获取所述若干报文中所述待测路由器分配给所述测试电脑的目标IP地址;判断模块600,与所述分析处理模块500及绑定模块200相连,用于判断所述分析处理模块500获取的所述目标IP地址是否与所述预期IP地址一致,当判断所述目标IP地址与所述预期IP地址一致时,判断所述待测路由器静态绑定功能正常,验证合格;当判断所述目标IP地址与所述预期IP地址不一致时,判断所述待测路由器静态绑定功能异常,验证不合格。
上述装置实施例中,绑定模块将测试电脑的网卡MAC地址与预期IP地址进行静态绑定了后,即使释放了测试电脑的IP地址,那么待测路由器也会重新将之前绑定的预期IP地址重新分配给测试电脑,因此后面只需抓取测试电脑上的报文,看报文中待测路由器分配给测试电脑的IP地址是否是之前绑定的预期IP地址,如果是的话,则说明路由器的静态绑定功能是成功的,该功能测试合格;如果不一致的话,则说明之前的静态绑定没有成功,也就是说路由器的静态绑定功能不合格。
较佳的,在上述装置实施例的基础上,本发明的另一实施例如图8所示,本实施例的验证路由器静态绑定功能的装置还包括:选取模块700,与所述绑定模块200、判断模块600相连,用于根据所述待测路由器所在的网络,从所述路由器的IP地址池中选取预期IP地址。预期IP地址的选取不是随便选择的,而是要从路由器的IP地址池中选取的,路由器所在的网络(网关)即决定了路由器的IP地址池的起始地址和结束地址,因此,测试时,从该IP地址池的起始地址和结束地址中选取一个作文预期IP地址即可。
在上述任一实施例中,所述抓取模块按照预设的过滤条件,抓取所述测试电脑获取的若干报文为以协议bootp作为过滤项抓取所述测试电脑获取的若干报文。
BOOTP(Bootstrap Protocol,引导程序协议)是一种引导协议,基于IP/UDP协议,也称自举协议,是DHCP协议的前身。BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心服务器上获得IP地址。通过BOOTP协议可以为局域网中的无盘工作站分配动态IP地址,这样就不需要管理员去为每个用户去设置静态IP地址。因此,以协议bootp作为过滤项抓取报文,则可保证抓取的报文中肯定包含了待测路由器分配给测试电脑的目标IP地址。
本发明的另一实施例,在上述任一实施例的基础上,所述分析处理模块500包括:解码子模块510,用于将所述报文抓取模块400抓取的所述若干报文进行解码获得报文信息,并将所述报文信息输出到指定的文本中;变量赋值子模块520,与所述解码子模块510相连,用于打开所述指定文本,并将所述指定文本中的报文信息赋给预先定义的变量;分割子模块530,与所述变量赋值子模块520相连,用于以“DHCP OFFER”作为分隔符将所述报文信息分割成两部分,其中,第二部分信息包含有待测路由器分配给下联设备的IP地址信息;提取子模块540,与所述分割子模块530相连,用于将所述分割子模块530分割的第二部分信息逐行输出,并从所述输出的第二部分信息中提取出目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址。
本实施例中通过解码子模块510对报文进行解码获得报文信息后,再通过变量赋值子模块520将该报文信息赋值为预设的变量,然后通过分割子模块530将报文信息进行分割,分割符采用“DHCP OFFER”则使得
较佳的,在上述实施例的基础上,如图9所示,所述提取子模块540包括:输出单元541,用于将所述分割子模块530分割的第二部分信息逐行输出;查找单元542,与所述输出单元541相连,用于从所述输出单元541输出的信息中查找关键字,所述关键字后面跟随有目标IP地址,所述目标IP地址为所述待测路由器分配给测试电脑的IP地址;获取单元543,与所述查找单元542相连,用于当所述查找单元542查找到所述关键字时,获取所述关键字后面的目标IP地址。
本装置实施例通过关键字的查找,可以快速的查找匹配到目标IP地址,由于报文信息存在一定的格式,目标IP地址一般会跟在某关键字符的后面,因此,可以通过搜寻关键字,快速定位目标IP地址的位置。比如可以调用re.search函数以(dst:.*)(.*)匹配项匹配出报文信息第二部分中的目标IP。这里dst就相当于关键字了,因为目标IP地址一般跟随在dst字符的后面。如此,便可更为快速的查找到目标IP地址,节省了测试时间,提高了测试效率。而且本实施例的验证装置不会占用测试人员的大量时间,节约了测试成本。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。