CN104468279A - 一种路由协议交互的测试方法和测试工具 - Google Patents
一种路由协议交互的测试方法和测试工具 Download PDFInfo
- Publication number
- CN104468279A CN104468279A CN201410801912.9A CN201410801912A CN104468279A CN 104468279 A CN104468279 A CN 104468279A CN 201410801912 A CN201410801912 A CN 201410801912A CN 104468279 A CN104468279 A CN 104468279A
- Authority
- CN
- China
- Prior art keywords
- message
- network interface
- interface card
- ospf
- testing tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明涉及一种路由协议交互的测试方法及测试工具,通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。本发明能够自动测试不同厂家的路由器或者三层交换机上运行的OSPF协议,无需搭建测试环境,使用简单且成本低廉。
Description
技术领域
本发明涉及网络通讯协议的测试领域,特别涉及一种路由协议交互的测试方法和测试工具。
背景技术
使用自动化脚本来测试路由器或者三层交换机上的OSPF(Open Shortest Path First开放式最短路径优先)路由协议时,需要遵循RFC(Request For Comments,请求评议)对协议功能进行详细的验证。而不同厂商的设备提供的命令行风格不一致,即使实现相同的OSPF功能,也需要不同的配置。
在Testcenter,Smartbit等测试仪上有集成OSPF协议测试的功能,能够用来构造各类型OSPF报文,进行大流量OSPF发包测试或OSPF报文容错性测试。但是,具备OSPF协议测试的测试仪一般价格较高,并且其端口资源有限,增加端口会使相应的成本大幅提升。
发明内容
本发明的目的在于提供一种路由协议交互的测试方法和测试工具,通过调用WinPcap组件,驱动电脑的网卡进行OSPF报文收发包操作,对该被测设备(例如是路由器或三层交换机)基于OSPF协议进行交互的功能进行测试,无需搭建测试环境,使用简单且成本低廉。
为了达到上述目的,本发明的一个技术方案是提供一种路由协议交互的测试方法,通过运行在电脑中的测试工具调用WinPcap组件,来驱动该电脑中的一个指定网卡收发OSPF报文,并通过监听收发的OSPF报文,来对与该电脑对接的被测设备基于OSPF协议进行交互的情况进行测试。
优选地,所述测试工具调用WinPcap组件的pcap_findalldevs_ex() 函数接口,来获取所述电脑的网卡列表;该测试工具从获得的网卡列表中选取一个网卡作为指定网卡。
优选地,所述测试工具通过调用WinPcap组件的pcap_open()接口来打开指定网卡,并通过调用WinPcap组件的pcap_loop()接口来循环监听指定网卡收发的OSPF报文。
优选地,所述测试工具通过调用WinPcap组件的pcap_compile()接口来编译过滤器,并通过调用WinPcap组件的pcap_setfilter()接口来设置使用的过滤器,从而对指定网卡收发的OSPF报文进行过滤。
优选地,所述测试工具通过配置的发包参数来构造指定类型的OSPF报文,并通过调用WinPcap组件的发包接口,发送该指定类型的OSPF报文;
所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。
优选地,所述测试工具对发送的报文数是否达到设定数值进行判断:若发送的报文数达到设定数值时,则关闭该指定网卡,不再发送OSPF报文;
若发送的报文数没有达到设定数值时,则继续发送OSPF报文,并在等待设置的发包间隔时间之后,重新执行判断的操作,来确定是否需要发送下一个OSPF报文。
优选地,所述测试工具对于处在打开状态的指定网卡,通过调用WinPcap组件的pcap_freealldevs()接口来关闭该指定网卡,停止对该指定网卡的监听。
本发明的另一个技术方案是提供一种路由协议交互的测试工具,其中包含:
调用模块,通过调用WinPcap组件的接口来驱动一个指定网卡执行相应的操作;其中,所述WinPcap组件的接口,至少包含:驱动指定网卡向被测设备发送OSPF报文的发包接口,和驱动指定网卡从被测设备接收OSPF报文的抓包接口;
监听模块,对所述指定网卡收发的OSPF报文进行监听;
过滤器,对所述指定网卡收发的OSPF报文进行过滤;
交互界面,用来获取配置参数、测试操作指令,以及显示该测试工具与被测设备之间报文交互情况的日志记录。
优选地,所述测试工具运行在与被测设备对接的电脑中,所述电脑中运行有windows平台;所述指定网卡是该电脑的一个网卡。
优选地,所述测试工具获得的配置参数,来构造向被测设备发送的指定类型的OSPF报文;所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。
与现有技术相比,本发明所述路由协议交互的测试方法和测试工具,其优点在于:
本发明通过开发测试工具,来模拟运行OSPF协议的路由器,模拟真实测试场景。使用C++语言开发的相关软件等,打包后可批量复制,并能够直接运行在任意的windows电脑上,不需要搭建测试环境,使用简单;不用依赖于Testcenter,Smartbit等现有测试仪器,本发明的测试成本明显降低。
本发明可以界面化配置发包参数,根据配置的参数构造OSPF报文,并从运行电脑的网卡中选择一个指定网卡来发送构造的OSPF报文,易用性强。可以通过构造不同类型的OSPF报文,例如设置错误的报文参数来测试OSPF协议的容错性。本发明还可以循环监听选定的发包网卡,过滤该网卡上收发的OSPF报文,并通过日志显示其与被测设备之间的报文交互过程。
附图说明
图1是本发明所述路由协议交互的测试方法的流程示意图;
图2是本发明所述测试方法中监听报文操作的流程示意图;
图3是本发明所述测试方法中发送报文操作的流程示意图;
图4是本发明所述测试方法中停止监听的流程示意图。
具体实施方式
本发明中通过调用WinPcap组件,驱动电脑的网卡进行OSPF报文收发包操作来模拟一个运行OSPF协议的路由器,进行与被测设备之间协议交互的操作,对该被测设备(例如是路由器或三层交换机)基于OSPF协议进行交互的功能进行测试。所述的WinPcap是windows平台下的一个公共网络访问系统,以C/C++语言编写,用于网络封包抓取。
为此,本发明提供一种测试工具,其中设置有相关的模块,能够指定一个网卡作为发包网卡,调用WinPcap组件的接口以驱动该指定网卡收发报文,并对其持续监听,过滤该指定网卡上收发的OSPF报文,等等。
所述测试工具还设置有交互界面,用来获取测试所需的配置参数(包括但不限于发包参数,其被用来构造向被测设备发送的指定类型的OSPF报文,例如是参数错误配置或参数正确配置的报文),用来获取测试所需的各项操作的指令(包括但不限于用来执行构造报文、发送报文、选择指定网卡、打开或关闭网卡、开始或停止监听等操作的相关指令),以及显示与被测设备之间报文交互过程的日志记录,等等。
将本发明所述的测试工具运行在与被测设备对接的电脑中,该电脑无需搭建特殊的测试环境,使用任意一种能够运行windows的普通电脑即可。所述测试工具所涉及的软件、配置文件等被打包后,可批量复制,在任意一台上述的普通电脑上打开就可以直接使用,大大降低了测试成本。
如图1所示,本发明所述路由协议交互的测试方法中,包含以下的实施步骤:
A1、将运行本发明所述测试工具的电脑,与运行OSPF协议的被测设备对接;打开测试工具,设置OSPF Head参数。
A2、获取本机网卡列表,设置发包网卡;
对于例如是点击“获取网卡列表”按钮的操作,所述测试工具调用WinPcap组件的pcap_findalldevs_ex() 函数接口来获取运行该测试工具的电脑的网卡列表;
从获取的网卡列表中指定一个网卡作为发包网卡,调用WinPcap组件的接口打开该指定网卡。
A3、调用WinPcap组件的抓包接口,循环监听指定网卡收发的OSPF报文。
A4、设置发包参数,构造指定类型的OSPF报文;调用WinPcap组件的发包接口,发送该指定类型的OSPF报文。
此处,所述指定类型的OSPF报文可以是一种报文参数被正确配置的OSPF报文;也可以是通过设置错误的报文参数来构造的一种错误的OSPF报文,用以验证被测设备OSPF协议的容错性。
A5、查看指定网卡的收发包日志;测试工具可以通过查看日志栏记录,来了解网卡收发OSPF报文的状态。
如图2所示,在上述步骤A3中,对于例如是点击“开始监听OSPF报文”按钮的操作,所述测试工具进一步执行以下的步骤:
B1、建立循环监听进程;
B2、调用WinPcap组件的pcap_open()接口来打开指定网卡;
B3、对于是否成功打开指定网卡进行判断:若没有成功打开,则发出报错的提示信息;若成功打开指定网卡,则继续执行B4;
B4、调用WinPcap组件的pcap_compile()接口来编译过滤器,用来过滤收发的OSPF报文;
B5、调用WinPcap组件的pcap_setfilter()接口来设置抓包时使用的过滤器;
B6、调用WinPcap组件的pcap_loop()接口循环抓取指定网卡的OSPF报文。
如图3所示,在上述步骤A4中,对于例如是点击“发送”按钮的操作,所述测试工具进一步执行发送报文的以下步骤:
C1、选择要发送的OSPF报文类型;
C2、设置报文参数;
C3、构造指定类型的OSPF报文;
C4、调用WinPcap组件的pcap_open()接口来打开指定网卡;
C5、对于是否成功打开指定网卡进行判断:若没有成功打开,则发出报错的提示信息;若成功打开指定网卡,则继续执行C6;
C6、对发送的报文数是否达到设定数值进行判断:若已经达到设定数值,则关闭该指定网卡,不发送报文;
若没有达到设定数值时,则继续发送上述指定类型OSPF报文;并在等待设置的发包间隔时间之后,重新执行C6的操作,来确定是需要关闭网卡还是需要发送下一个报文。
如图4所示,对于例如是点击“停止监听”按钮的操作,所述测试工具进一步执行停止监听网卡的以下步骤:
D1、检测指定网卡是否开启:
D2、若指定网卡没有开启,则发送网卡未开启的提示信息,告知不需要关闭网卡;
D3、若指定网卡是开启的,则调用WinPcap组件的pcap_freealldevs()接口来关闭该网卡,停止对该网卡的监听。
综上所述,本发明提供的路由协议交互的测试方法和测试工具,通过运行在普通电脑上的测试工具模拟一个运行OSPF协议的路由器,用来与被测设备进行协议交互,由于OSPF协议都基本遵循RFC标准来实现,所以实现基本一致,能够自动测试不同厂家的路由器或者三层交换机上运行的OSPF协议,无需搭建测试环境,使用简单且成本低廉。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (10)
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()接口来关闭该指定网卡,停止对该指定网卡的监听。
8.一种路由协议交互的测试工具,其特征在于,包含:
调用模块,通过调用WinPcap组件的接口来驱动一个指定网卡执行相应的操作;其中,所述WinPcap组件的接口,至少包含:驱动指定网卡向被测设备发送OSPF报文的发包接口,和驱动指定网卡从被测设备接收OSPF报文的抓包接口;
监听模块,对所述指定网卡收发的OSPF报文进行监听;
过滤器,对所述指定网卡收发的OSPF报文进行过滤;
交互界面,用来获取配置参数、测试操作指令,以及显示该测试工具与被测设备之间报文交互情况的日志记录。
9.如权利要求8所述路由协议交互的测试工具,其特征在于,
所述测试工具运行在与被测设备对接的电脑中,所述电脑中运行有windows平台;所述指定网卡是该电脑的一个网卡。
10.如权利要求8所述路由协议交互的测试工具,其特征在于,
所述测试工具获得的配置参数,来构造向被测设备发送的指定类型的OSPF报文;所述指定类型的OSPF报文,是报文参数被正确配置的OSPF报文,或者是报文参数被错误配置以验证容错性的OSPF报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410801912.9A CN104468279A (zh) | 2014-12-22 | 2014-12-22 | 一种路由协议交互的测试方法和测试工具 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410801912.9A CN104468279A (zh) | 2014-12-22 | 2014-12-22 | 一种路由协议交互的测试方法和测试工具 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104468279A true CN104468279A (zh) | 2015-03-25 |
Family
ID=52913686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410801912.9A Pending CN104468279A (zh) | 2014-12-22 | 2014-12-22 | 一种路由协议交互的测试方法和测试工具 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468279A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105007199A (zh) * | 2015-07-30 | 2015-10-28 | 上海斐讯数据通信技术有限公司 | 一种igmp路由器模拟设备及模拟方法 |
CN107453959A (zh) * | 2017-09-22 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种网卡的管理方法及其装置 |
CN110351156A (zh) * | 2018-04-03 | 2019-10-18 | 大唐移动通信设备有限公司 | 一种测试方法和装置 |
CN110708216A (zh) * | 2019-10-12 | 2020-01-17 | 深圳市吉祥腾达科技有限公司 | 一种交换机lldp协议测试方法及测试系统 |
CN113162816A (zh) * | 2020-12-29 | 2021-07-23 | 深圳市吉祥腾达科技有限公司 | 一种交换机OSPFv3协议测试方法及测试系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815014A (zh) * | 2010-02-09 | 2010-08-25 | 上海百络信息技术有限公司 | 基于连接的实时网络数据捕获方法 |
US20110194425A1 (en) * | 2010-02-09 | 2011-08-11 | Juniper Networks, Inc. | Remote network device component testing |
CN102420713A (zh) * | 2010-09-28 | 2012-04-18 | 大唐移动通信设备有限公司 | 一种测试数据包封装方法及设备 |
CN103281335A (zh) * | 2013-06-18 | 2013-09-04 | 东华大学 | 一种基于WinPcap的嵌入式网络协议栈开发方法 |
-
2014
- 2014-12-22 CN CN201410801912.9A patent/CN104468279A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101815014A (zh) * | 2010-02-09 | 2010-08-25 | 上海百络信息技术有限公司 | 基于连接的实时网络数据捕获方法 |
US20110194425A1 (en) * | 2010-02-09 | 2011-08-11 | Juniper Networks, Inc. | Remote network device component testing |
CN102420713A (zh) * | 2010-09-28 | 2012-04-18 | 大唐移动通信设备有限公司 | 一种测试数据包封装方法及设备 |
CN103281335A (zh) * | 2013-06-18 | 2013-09-04 | 东华大学 | 一种基于WinPcap的嵌入式网络协议栈开发方法 |
Non-Patent Citations (1)
Title |
---|
殷肖川等著: "《网络编程与开发技术(第2版)》", 31 August 2009, 西安交通大学出版社 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105007199A (zh) * | 2015-07-30 | 2015-10-28 | 上海斐讯数据通信技术有限公司 | 一种igmp路由器模拟设备及模拟方法 |
CN107453959A (zh) * | 2017-09-22 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种网卡的管理方法及其装置 |
CN107453959B (zh) * | 2017-09-22 | 2021-04-30 | 郑州云海信息技术有限公司 | 一种网卡的管理方法及其装置 |
CN110351156A (zh) * | 2018-04-03 | 2019-10-18 | 大唐移动通信设备有限公司 | 一种测试方法和装置 |
CN110708216A (zh) * | 2019-10-12 | 2020-01-17 | 深圳市吉祥腾达科技有限公司 | 一种交换机lldp协议测试方法及测试系统 |
CN113162816A (zh) * | 2020-12-29 | 2021-07-23 | 深圳市吉祥腾达科技有限公司 | 一种交换机OSPFv3协议测试方法及测试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103812726B (zh) | 一种数据通信设备的自动化测试方法及装置 | |
CN113064780B (zh) | 一种基于路由器产品的自动化测试系统及方法 | |
CN104468279A (zh) | 一种路由协议交互的测试方法和测试工具 | |
CN101478449B (zh) | 一种协议自动测试方法及其系统 | |
CN106330593B (zh) | 协议检测方法及装置 | |
CN102023922B (zh) | 汽车电子诊断软件的测试系统及方法 | |
CN111190812A (zh) | 基于嵌入式设备的自动化测试框架 | |
CN103138988B (zh) | 网络故障的定位处理方法及装置 | |
CN103686813B (zh) | 无线ap信道自动切换稳定性测试装置与方法 | |
TW201248395A (en) | Power supply test system and method | |
CN102591780B (zh) | 一种设备驱动软件测试方法和测试系统 | |
CN112737886B (zh) | 一种工装测试方法、系统、电子设备和存储介质 | |
CN101873236B (zh) | 一种报文的测试方法及系统 | |
CN109510742A (zh) | 一种服务器网卡远程测试方法、装置、终端及存储介质 | |
CN113067738A (zh) | 一种网络拓扑可视化功能设备兼容性测试方法及系统 | |
CN110708715B (zh) | 一种5g基站业务故障查找方法及装置 | |
CN110493812A (zh) | 配网测试的处理方法、装置、系统、处理器及主控设备 | |
CN206523872U (zh) | 一种usb设备测试系统 | |
CN109522171A (zh) | 一种故障诊断方法及系统 | |
CN103761185A (zh) | 一种自动化测试系统及方法 | |
CN113495545A (zh) | 使用在环硬件测试车辆设备控制器的系统和方法 | |
CN106445810B (zh) | 一种交互式软件与设备兼容性的测试方法及系统 | |
CN109471763B (zh) | 抓取NVME硬盘trace的方法、装置、设备及系统 | |
WO2015172488A1 (zh) | 无线通信设备上网故障检测方法、装置及其无线通信设备 | |
CN104581808B (zh) | 测试移动网络性能的方法、装置及移动终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150325 |