一种路由器配置方法及系统与流程

文档序号:13299093阅读:198来源:国知局
一种路由器配置方法及系统与流程

本发明涉及路由器技术领域,尤其涉及一种基于http报文信息快速配置的路由器配置方法及系统。



背景技术:

路由器,是连接因特网中各局域网、广域网的设备,它会根据信道的情况自动选择和设定路由,以最佳路径,按前后顺序发送信号。随着路由器技术的发展,路由器已成为网络架构中不可缺少的设备。

通常,路由器会提供相应的配置界面供用户对该路由器进行配置,现有的路由器一般基于web页面配置,即:当路由器上电启动后,用户建立用户设备与该路由器的连接,并启动该用户设备上已安装的浏览器,在浏览器的地址栏中输入该路由器的管理互联网协议(ip,internetprotocol)地址并访问,此时页面会弹出配置界面的登录页,用户在该登录页中输入该路由器的管理用户名和密码后即可进入该路由器的配置界面,进而在该配置界面中对该路由器进行配置。

然而,上述方法具有如下不足:1)基于web页面配置路由器的相关功能时,需要知道相应元素的id(identification,标识),从而依照页面元素id去配置路由器相关功能,但路由器web页面在不断的优化,页面元素id会随时发生变化,这样会造成测试脚本在元素id变化时运行失败;(2)由于目前市场上的各个浏览器兼容性不一致,若基于浏览器测试路由器功能,会造成测试脚本需随着浏览器的变换做一定的修改,增加工作量。

综上所述,现有的路由器配置方案存在如下缺点:

1)依赖性强:因web页面优化、功能变化,浏览器更换等情况导致页面元素id改变使得相关自动化case测试失败;

2)测试周期长:自动化测试失败,增加手动排查时间;

3)耗费人力物力资源。



技术实现要素:

为克服上述现有技术存在的不足,本发明之目的在于提供一种路由器配置方法及系统,无需考虑页面元素id的变化以及随着浏览器更换测试脚本需做修改的问题,增加了测试的可靠性且误测率低。

为达上述目的,本发明提供的技术方案如下:

一种路由器配置方法,包括如下步骤:

步骤一,抓取路由器配置时的http交互报文,提取报文内容;

步骤二,获取cgi层的信息,依照报文的命令发送方式,模拟需要发送的报文信息;

步骤三,将待发送的报文信息封装后,发送待发送的报文至所述路由器以模拟cgi进行配置。

在上述技术方案中,通过抓取路由器配置时的http交互报文,对报文的内容进行解析后提取其中有用的信息,然后模拟cgi发送http报文,以直接将配置下发,无需通过页面配置功能,无需考虑页面元素id的变化以及随着浏览器更换测试脚本需做修改的问题,增加了测试的可靠性且误测率低,缩短了测试周期,减少测试人力物力资源。

进一步地,于步骤三后,还包括:

于报文发送结束后,获取所述路由器返回的报文信息以验证配置是否下发成功。

在上述技术方案中,可以在不要求测试web页面时快速测试路由器的配置结果,增强了测试的准确性和可靠性。

进一步地,于步骤一中,还包括:

判断抓取的http交互报文是否为加密内容,若是,则启动加解密工具将加密报文解密为明文后再提取报文内容。

在上述技术方案中,若抓取的http交互报文为加密报文,则解密后再进行提取报文内容。

进一步地,于步骤二中,还包括:

判断需要发送的报文信息是否需要加密,若需要加密,则启动加解密工具,将需要发送的报文信息进行加密。

在上述技术方案中,若待发送报文需要加密,则加密后再进行下发配置。

进一步地,于步骤一中,所述报文内容中包含所述路由器的配置信息,且包含报文携带数据的操作方式。

在上述技术方案中,实现了路由器的自动化快速配置。

为达到上述目的,本发明还提供一种路由器配置系统,包括:

http交互报文抓取单元,用于抓取路由器配置时的http交互报文,提取报文内容;

报文信息模拟单元,用于获取cgi层的信息,依照报文的命令发送方式,模拟需要发送的报文信息;

配置单元,用于将待发送的报文信息封装后,发送待发送的报文至所述路由器以模拟cgi进行配置

进一步地,所述配置系统还包括配置结果验证单元,用于于报文发送结束后,用于获取路由器返回的报文信息以验证配置是否下发成功。

进一步地,所述http交互报文抓取单元于抓取http交互报文后,还判断抓取的http交互报文是否为加密内容,若是,则启动加解密工具将加密报文解密为明文,再提取报文内容。

进一步地,所述报文信息模拟单元还判断所述需要发送的报文信息是否需要加密,若需要加密,则启动加解密工具,将所述需要发送的报文信息进行加密。

进一步地,所述报文内容中包含所述路由器的配置信息,且包含报文携带数据的操作方式

与现有技术相比,本发明一种路由器配置方法及系统的有益效果在于:

本发明一种路由器配置方法及系统通过抓取路由器配置时的http交互报文,对报文的内容进行解析后提取其中有用的信息,然后模拟cgi发送http报文,以直接将配置下发,无需通过页面配置功能,无需考虑页面元素id的变化以及随着浏览器更换测试脚本需做修改的问题,增加了测试的可靠性且误测率低,缩短了测试周期,减少测试人力物力资源,本发明可以在不要求测试web页面时快速测试路由器的配置结果,增强了测试的准确性和可靠性。

附图说明

图1为本发明一种路由器配置方法的一个实施例的步骤流程图;

图2为本发明一种路由器配置方法的另一个实施例的步骤流程图;

图3为本发明具体实施例的步骤流程图;

图4为本发明一种路由器配置系统的一个实施例的系统架构图;

图5为本发明一种路由器配置系统的另一个实施例的系统架构图。

具体实施方式

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。

为使图面简洁,各图中只示意性地表示出了与本发明相关的部分,它们并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”不仅表示“仅此一个”,也可以表示“多于一个”的情形。

在介绍本发明之前,先介绍一下本发明所用到的基本概念:公共网关接口,即cgi(commongatewayinterface,公共网关接口),是http服务器与其它机器上的程序进行“交谈”的一种工具,其程序需运行在网络服务器上。绝大多数的cgi程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。cgi程序使网页具有交互功能。

cgi处理步骤:

(1)通过internet把用户请求送到服务器。

(2)服务器接收用户请求并交给cgi程序处理。

(2)cgi程序把处理结果传送给服务器。

(3)服务器把结果送回到用户。

在本发明的一个实施例中,如图1所示,本发明一种路由器配置方法,包括如下步骤:

步骤101,抓取路由器配置时的http交互报文,提取报文内容,即提取其中有用的信息。所述报文内容中包含路由器的配置信息,且包含报文携带数据的操作方式,如get、add、deleted、set等,在本发明具体实施例中,所述路由器为路由器。

步骤102,获取cgi层的信息,依照报文的命令发送方式,模拟需要发送的报文信息。也就是说,根据获取的cgi层的信息,将提取出的包含配置信息的报文内容,依据报文的命令发送方式,模拟需要发送的报文信息,在此需说明的是,模拟需要发送的报文信息仍是http请求包,但该请求包里面包含了抓取的cgi层的信息,如数据的操作方式等。

步骤103,将待发送的报文信息封装后,发送待发送的报文至路由器模拟cgi以进行配置。本发明具体实施例中,报文封装好之后,调用python自带库中的urllib2和urllib函数,这两个函数可以实现http的相关处理。函数urllib2.request()指定请求的配置页面,如request=urllib2.request("http://p.to/parentctl.cgi");urllib.urlencode()函数可以将封装的数据信息进行编码,urllib2.urlopen函数可以模拟发送http报文信息,如response=urllib2.urlopen(request,urllib.urlencode(data))。

优选地,如图2所示,于步骤103后,本发明之路由器配置方法还包括如下步骤:

步骤104,于报文发送结束后,获取路由器(例如路由器)返回的报文信息以验证配置是否下发成功。在本发明具体实施例中,调用urllib2.urlopen函数,数据内容中请求方式为get,获取返回的报文信息,然后调用response.readlines()函数读取返回的报文信息并将其输出。

优选地,于步骤101中,还包括:

判断抓取的http交互报文是否为加密内容,若是,则启动加解密工具将加密报文解密为明文。在本发明具体实施例中,若判断报文为加密内容,则调用函数os.systerm()启动加密解密的工具,将加密报文解密为明文。

优选地,于步骤102中,还包括:

判断需要发送的报文信息是否需要加密,若需要加密,则启动加解密工具,将需要发送的报文信息进行加密,在本发明具体实施例中,若判断需要发送的报文信息需要加密,则调用函数os.systerm()启动加密解密的工具,将要发送的报文信息进行加密。一般来说,若抓取的http交互报文为加密内容,则此处需要发送的报文信息则需要加密,若抓取的http交互报文不是加密内容,则此处需要发送的报文信息则不需加密。

图3为本发明具体实施例的步骤流程图。以下将配合图3进一步说明本发明之具体实施例,以家庭网关产品路由器为例,其具体配置过程如下:

步骤1:抓取家庭网关产品(路由器)的http交互报文,判断该报文是否为加密报文,若报文为加密内容,则调用函数os.systerm()启动加密解密的工具,将加密报文解密为明文,然后提取报文内容,其中包括报文携带数据的操作方式,如get、add、deleted、set等,该报文内容中包含对路由器的配置信息。

步骤2:获取cgi层的信息后,依照报文的命令发送方式,根据提取的http报文内容,模拟成需要发送的报文信息,需说明的是,模拟的需要发送的报文信息仍是http请求包,但该请求包里面包含了抓取的cgi信息,如数据的操作方式等;若报文需要加密,则调用函数os.systerm()启动加密解密的工具,将需要发送的报文信息进行加密;

步骤3:将待发送的报文信息进行封装,于报文封装好之后,调用python自带库中的urllib2和urllib函数发送http报文信息以模拟cgi实现配置。这两个函数可以实现http的相关处理。其中,函数urllib2.request()指定请求的配置页面,如request=urllib2.request("http://p.to/parentctl.cgi");urllib.urlencode()函数可以将封装的数据信息进行编码,urllib2.urlopen函数可以模拟发送http报文信息,如response=urllib2.urlopen(request,urllib.urlencode(data));

步骤4:报文发送结束后,验证配置是否下发成功。这里调用urllib2.urlopen函数,数据内容中请求方式为get,然后调用response.readlines()函数读取返回报文信息并将其打印出来即可。

在本发明的另一个实施例中,如图4所示,本发明一种路由器配置系统,包括:http交互报文抓取单元401、报文信息模拟单元402以及配置单元403。

http交互报文抓取单元401,用于抓取路由器配置时的http交互报文,并提取报文内容,即提取其中有用的信息。所述报文内容中包含路由器(例如路由器)的配置信息,且包含报文携带数据的操作方式,如get、add、deleted、set等。较佳地,http交互报文抓取单元401于抓取http交互报文后,还判断抓取的http交互报文是否为加密内容,若是,则启动加解密工具将加密报文解密为明文,再提取报文内容。在本发明具体实施例中,若判断报文为加密内容,则调用函数os.systerm()启动加密解密的工具,将加密报文解密为明文

报文信息模拟单元402,用于获取cgi层的信息,依照报文的命令发送方式,模拟需要发送的报文信息。也就是说,报文信息模拟单元402根据获取的cgi层的信息,将提取出的包含配置信息的报文内容,依据报文的命令发送方式,模拟需要发送的报文信息。较佳地,报文信息模拟单元402还判断所述需要发送的报文信息是否需要加密,若需要加密,则启动加解密工具,将所述需要发送的报文信息进行加密,在本发明具体实施例中,若判断所述需要发送的报文信息需要加密,则调用函数os.systerm()启动加密解密的工具,将所述需要发送的报文信息进行加密。一般来说,若抓取的http交互报文为加密内容,则此处需要发送的报文信息则需要加密,若抓取的http交互报文不是加密内容,则此处需要发送的报文信息则不需加密。

配置单元403,用于将待发送的报文信息封装后,发送待发送的报文至路由器(例如路由器)以模拟cgi进行配置。在本发明具体实施例中,配置单元403将报文封装好之后,调用python自带库中的urllib2和urllib函数,这两个函数可以实现http的相关处理。函数urllib2.request()指定请求的配置页面,如request=urllib2.request("http://p.to/parentctl.cgi");urllib.urlencode()函数可以将封装的数据信息进行编码,urllib2.urlopen函数可以模拟发送http报文信息,如response=urllib2.urlopen(request,urllib.urlencode(data))。

优选地,如图5所示,本发明之路由器配置系统还包括:

配置结果验证单元404,用于于报文发送结束后,用于获取路由器(例如路由器)返回的报文信息以验证配置是否下发成功。在本发明具体实施例中,调用urllib2.urlopen函数,数据内容中请求方式为get,获取返回的报文信息,然后调用response.readlines()函数读取返回的报文信息并将其输出。

综上所述,本发明一种路由器配置方法及系统通过抓取路由器配置时的http交互报文,对报文的内容进行解析后提取其中有用的信息,然后模拟cgi发送http报文,以直接将配置下发,无需通过页面配置功能,无需考虑页面元素id的变化以及随着浏览器更换测试脚本需做修改的问题,增加了测试的可靠性且误测率低,缩短了测试周期,减少测试人力物力资源,本发明可以在不要求测试web页面时快速测试路由器的配置结果,增强了测试的准确性和可靠性。

应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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