一种路由协议交互的测试方法和测试工具的制作方法

文档序号:7823595阅读:368来源:国知局
一种路由协议交互的测试方法和测试工具的制作方法
【专利摘要】本发明涉及一种路由协议交互的测试方法及测试工具,通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。本发明能够自动测试不同厂家的路由器或者三层交换机上运行的OSPF协议,无需搭建测试环境,使用简单且成本低廉。
【专利说明】一种路由协议交互的测试方法和测试工具

【技术领域】
[0001]本发明涉及网络通讯协议的测试领域,特别涉及一种路由协议交互的测试方法和测试工具。

【背景技术】
[0002]使用自动化脚本来测试路由器或者三层交换机上的OSPF (Open Shortest PathFirst开放式最短路径优先)路由协议时,需要遵循RFC (Request For Comments,请求评议)对协议功能进行详细的验证。而不同厂商的设备提供的命令行风格不一致,即使实现相同的OSPF功能,也需要不同的配置。
[0003]在Testcenter, Smartbit等测试仪上有集成OSPF协议测试的功能,能够用来构造各类型OSPF报文,进行大流量OSPF发包测试或OSPF报文容错性测试。但是,具备OSPF协议测试的测试仪一般价格较高,并且其端口资源有限,增加端口会使相应的成本大幅提升。


【发明内容】

[0004]本发明的目的在于提供一种路由协议交互的测试方法和测试工具,通过调用WinPcap组件,驱动电脑的网卡进行OSPF报文收发包操作,对该被测设备(例如是路由器或三层交换机)基于OSPF协议进行交互的功能进行测试,无需搭建测试环境,使用简单且成本低廉。
[0005]为了达到上述目的,本发明的一个技术方案是提供一种路由协议交互的测试方法,通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。
[0006]优选地,所述测试工具调用WinPcap组件的pcap_findalldevs_ex O函数接口,来获取所述电脑的网卡列表;该测试工具从获得的网卡列表中选取一个网卡作为指定网卡。
[0007]优选地,所述测试工具通过调用WinPcap组件的pcap_open()接口来打开指定网卡,并通过调用WinPcap组件的pcap_loop()接口来循环监听指定网卡收发的OSPF报文。
[0008]优选地,所述测试工具通过调用WinPcap组件的pcap_compile O接口来编译过滤器,并通过调用WinPcap组件的pcap_setfilter O接口来设置使用的过滤器,从而对指定网卡收发的OSPF报文进行过滤。
[0009]优选地,所述测试工具通过配置的发包参数来构造指定类型的OSPF报文,并通过调用WinPcap组件的发包接口,发送该指定类型的OSPF报文;
所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。
[0010]优选地,所述测试工具对发送的报文数是否达到设定数值进行判断:若发送的报文数达到设定数值时,则关闭该指定网卡,不再发送OSPF报文;
若发送的报文数没有达到设定数值时,则继续发送OSPF报文,并在等待设置的发包间隔时间之后,重新执行判断的操作,来确定是否需要发送下一个OSPF报文。
[0011]优选地,所述测试工具对于处在打开状态的指定网卡,通过调用WinPcap组件的pcap_freealIdevs O接口来关闭该指定网卡,停止对该指定网卡的监听。
[0012]本发明的另一个技术方案是提供一种路由协议交互的测试工具,其中包含:
调用模块,通过调用WinPcap组件的接口来驱动一个指定网卡执行相应的操作;其中,所述WinPcap组件的接口,至少包含:驱动指定网卡向被测设备发送OSPF报文的发包接口,和驱动指定网卡从被测设备接收OSPF报文的抓包接口 ;
监听模块,对所述指定网卡收发的OSPF报文进行监听;
过滤器,对所述指定网卡收发的OSPF报文进行过滤;
交互界面,用来获取配置参数、测试操作指令,以及显示该测试工具与被测设备之间报文交互情况的日志记录。
[0013]优选地,所述测试工具运行在与被测设备对接的电脑中,所述电脑中运行有windows平台;所述指定网卡是该电脑的一个网卡。
[0014]优选地,所述测试工具获得的配置参数,来构造向被测设备发送的指定类型的OSPF报文;所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。
[0015]与现有技术相比,本发明所述路由协议交互的测试方法和测试工具,其优点在于:
本发明通过开发测试工具,来模拟运行OSPF协议的路由器,模拟真实测试场景。使用C++语言开发的相关软件等,打包后可批量复制,并能够直接运行在任意的windows电脑上,不需要搭建测试环境,使用简单;不用依赖于Testcenter, Smartbit等现有测试仪器,本发明的测试成本明显降低。
[0016]本发明可以界面化配置发包参数,根据配置的参数构造OSPF报文,并从运行电脑的网卡中选择一个指定网卡来发送构造的OSPF报文,易用性强。可以通过构造不同类型的OSPF报文,例如设置错误的报文参数来测试OSPF协议的容错性。本发明还可以循环监听选定的发包网卡,过滤该网卡上收发的OSPF报文,并通过日志显示其与被测设备之间的报文交互过程。

【专利附图】

【附图说明】
[0017]图1是本发明所述路由协议交互的测试方法的流程示意图;
图2是本发明所述测试方法中监听报文操作的流程示意图;
图3是本发明所述测试方法中发送报文操作的流程示意图;
图4是本发明所述测试方法中停止监听的流程示意图。

【具体实施方式】
[0018]本发明中通过调用WinPcap组件,驱动电脑的网卡进行OSPF报文收发包操作来模拟一个运行OSPF协议的路由器,进行与被测设备之间协议交互的操作,对该被测设备(例如是路由器或三层交换机)基于OSPF协议进行交互的功能进行测试。所述的WinPcap是windows平台下的一个公共网络访问系统,以C/C++语言编写,用于网络封包抓取。
[0019]为此,本发明提供一种测试工具,其中设置有相关的模块,能够指定一个网卡作为发包网卡,调用WinPcap组件的接口以驱动该指定网卡收发报文,并对其持续监听,过滤该指定网卡上收发的OSPF报文,等等。
[0020]所述测试工具还设置有交互界面,用来获取测试所需的配置参数(包括但不限于发包参数,其被用来构造向被测设备发送的指定类型的OSPF报文,例如是参数错误配置或参数正确配置的报文),用来获取测试所需的各项操作的指令(包括但不限于用来执行构造报文、发送报文、选择指定网卡、打开或关闭网卡、开始或停止监听等操作的相关指令),以及显示与被测设备之间报文交互过程的日志记录,等等。
[0021]将本发明所述的测试工具运行在与被测设备对接的电脑中,该电脑无需搭建特殊的测试环境,使用任意一种能够运行windows的普通电脑即可。所述测试工具所涉及的软件、配置文件等被打包后,可批量复制,在任意一台上述的普通电脑上打开就可以直接使用,大大降低了测试成本。
[0022]如图1所示,本发明所述路由协议交互的测试方法中,包含以下的实施步骤:
Al、将运行本发明所述测试工具的电脑,与运行OSPF协议的被测设备对接;打开测试工具,设置OSPF Head参数。
[0023]A2、获取本机网卡列表,设置发包网卡;
对于例如是点击“获取网卡列表”按钮的操作,所述测试工具调用WinPcap组件的pcap_findalldevs_ex()函数接口来获取运行该测试工具的电脑的网卡列表;
从获取的网卡列表中指定一个网卡作为发包网卡,调用WinPcap组件的接口打开该指定网卡。
[0024]A3、调用WinPcap组件的抓包接口,循环监听指定网卡收发的OSPF报文。
[0025]A4、设置发包参数,构造指定类型的OSPF报文;调用WinPcap组件的发包接口,发送该指定类型的OSPF报文。
[0026]此处,所述指定类型的OSPF报文可以是一种报文参数被正确配置的OSPF报文;也可以是通过设置错误的报文参数来构造的一种错误的OSPF报文,用以验证被测设备OSPF协议的容错性。
[0027]A5、查看指定网卡的收发包日志;测试工具可以通过查看日志栏记录,来了解网卡收发OSPF报文的状态。
[0028]如图2所示,在上述步骤A3中,对于例如是点击“开始监听OSPF报文”按钮的操作,所述测试工具进一步执行以下的步骤:
B1、建立循环监听进程;
B2、调用WinPcap组件的pcap_open()接口来打开指定网卡;
B3、对于是否成功打开指定网卡进行判断:若没有成功打开,则发出报错的提示信息;若成功打开指定网卡,则继续执行B4 ;
B4、调用WinPcap组件的pcap_compile O接口来编译过滤器,用来过滤收发的OSPF报文;
B5、调用WinPcap组件的pcap_setfilter O接口来设置抓包时使用的过滤器;
B6、调用WinPcap组件的pcap_loop()接口循环抓取指定网卡的OSPF报文。
[0029]如图3所示,在上述步骤A4中,对于例如是点击“发送”按钮的操作,所述测试工具进一步执行发送报文的以下步骤:
Cl、选择要发送的OSPF报文类型;
C2、设置报文参数;
C3、构造指定类型的OSPF报文;
C4、调用WinPcap组件的pcap_open()接口来打开指定网卡;
C5、对于是否成功打开指定网卡进行判断:若没有成功打开,则发出报错的提示信息;若成功打开指定网卡,则继续执行C6 ;
C6、对发送的报文数是否达到设定数值进行判断:若已经达到设定数值,则关闭该指定网卡,不发送报文;
若没有达到设定数值时,则继续发送上述指定类型OSPF报文;并在等待设置的发包间隔时间之后,重新执行C6的操作,来确定是需要关闭网卡还是需要发送下一个报文。
[0030]如图4所示,对于例如是点击“停止监听”按钮的操作,所述测试工具进一步执行停止监听网卡的以下步骤:
D1、检测指定网卡是否开启:
D2、若指定网卡没有开启,则发送网卡未开启的提示信息,告知不需要关闭网卡;
D3、若指定网卡是开启的,则调用WinPcap组件的pcap_freealldevs O接口来关闭该网卡,停止对该网卡的监听。
[0031]综上所述,本发明提供的路由协议交互的测试方法和测试工具,通过运行在普通电脑上的测试工具模拟一个运行OSPF协议的路由器,用来与被测设备进行协议交互,由于OSPF协议都基本遵循RFC标准来实现,所以实现基本一致,能够自动测试不同厂家的路由器或者三层交换机上运行的OSPF协议,无需搭建测试环境,使用简单且成本低廉。
[0032]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种路由协议交互的测试方法,其特征在于: 通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。
2.如权利要求1所述路由协议交互的测试方法,其特征在于, 所述测试工具调用WinPcap组件的pcap_findalldevs_ex ()函数接口,来获取所述电脑的网卡列表;该测试工具从获得的网卡列表中选取一个网卡作为指定网卡。
3.如权利要求1所述路由协议交互的测试方法,其特征在于, 所述测试工具通过调用WinPcap组件的pcap_open()接口来打开指定网卡,并通过调用WinPcap组件的pcap_loop()接口来循环监听指定网卡收发的OSPF报文。
4.如权利要求1或3所述路由协议交互的测试方法,其特征在于, 所述测试工具通过调用WinPcap组件的pcap_compile ()接口来编译过滤器,并通过调用WinPcap组件的pcap_setfilter ()接口来设置使用的过滤器,从而对指定网卡收发的OSPF报文进行过滤。
5.如权利要求1所述路由协议交互的测试方法,其特征在于, 所述测试工具通过配置的发包参数来构造指定类型的OSPF报文,并通过调用WinPcap组件的发包接口,发送该指定类型的OSPF报文; 所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。
6.如权利要求1或5所述路由协议交互的测试方法,其特征在于, 所述测试工具对发送的报文数是否达到设定数值进行判断:若发送的报文数达到设定数值时,则关闭该指定网卡,不再发送OSPF报文; 若发送的报文数没有达到设定数值时,则继续发送OSPF报文,并在等待设置的发包间隔时间之后,重新执行判断的操作,来确定是否需要发送下一个OSPF报文。
7.如权利要求1所述路由协议交互的测试方法,其特征在于, 所述测试工具对于处在打开状态的指定网卡,通过调用WinPcap组件的pcap_freealldevs 0接口来关闭该指定网卡,停止对该指定网卡的监听。
8.—种路由协议交互的测试工具,其特征在于,包含: 调用模块,通过调用WinPcap组件的接口来驱动一个指定网卡执行相应的操作;其中,所述WinPcap组件的接口,至少包含:驱动指定网卡向被测设备发送OSPF报文的发包接口,和驱动指定网卡从被测设备接收OSPF报文的抓包接口 ; 监听模块,对所述指定网卡收发的OSPF报文进行监听; 过滤器,对所述指定网卡收发的OSPF报文进行过滤; 交互界面,用来获取配置参数、测试操作指令,以及显示该测试工具与被测设备之间报文交互情况的日志记录。
9.如权利要求8所述路由协议交互的测试工具,其特征在于, 所述测试工具运行在与被测设备对接的电脑中,所述电脑中运行有windows平台;所述指定网卡是该电脑的一个网卡。
10.如权利要求8所述路由协议交互的测试工具,其特征在于, 所述测试工具获得的配置参数,来构造向被测设备发送的指定类型的OSPF报文;所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。
【文档编号】H04L12/701GK104468279SQ201410801912
【公开日】2015年3月25日 申请日期:2014年12月22日 优先权日:2014年12月22日
【发明者】刘小丽, 曾祥龙 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1