一种避免arp干扰的网络通信测试方法及系统的利记博彩app

文档序号:9420211阅读:551来源:国知局
一种避免arp干扰的网络通信测试方法及系统的利记博彩app
【技术领域】
[0001]本发明涉及网络通信测试技术领域,特别是涉及一种避免ARP干扰的网络通信测试方法及系统。
【背景技术】
[0002]虚拟局域网VLAN(Virtual Local Area Network)是一组逻辑上的设备和用户,这些设备和用户并不受物理网段的限制,可以根据功能、部门及应用等因素将它们组织起来,相互之间的通信就好像它们在同一个网段中一样,由此得名虚拟局域网。VLAN是一种比较新的技术,VLAN网络的建立需要相应的支持VLAN技术的网络设备。当网络中的不同VLAN间进行相互通信时,需要采用路由器或交换机来实现路由功能。
[0003]处于VLAN网络中的主机可发送信息时将包含目标IP地址的ARP (AddressResolut1n Protocol)请求广播到VLAN网络上的所有主机,并接收返回消息,以此确定目标的MAC地址;收到返回消息后将该IP地址和MAC地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。主机地址解析协议是建立在网络中各个主机互相信任的基础上的,网络上的主机可以自主发送ARP应答消息,其他主机收到应答报文时不会检测该报文的真实性就会将其记入本机ARP缓存,可能导致发出请求的本机存入的ARP应答消息并不属于与本机直连的主机所发生。
[0004]有鉴于此,须保证VLAN通信系统中相互直连的两个主机间正常通信,才可对接入VLAN的各主机(以AP模式接入网络)网络模式进行自动测试。然而现有技术在自动化测试AP(Access Point)网络模式时,因多台待测试主机DUT(device under test)连接在同一虚拟局域网VLAN的交换机上,作为测试主机的PC向外发送ARP请求广播时,所有的待测试主机DUT (AP模式)均会收到该请求,因待测试DUT的管理地址相同,收到请求的待测试主机DUT均会向发送ARP请求的测试主机PC以单播方式发送ARP响应,致使测试主机PC无法正确获取直连的待测试主机DUT的ARP响应,测试主机PC的ARP缓存中直连的待测试主机DUT的管理地址对应错误的MAC地址,导致PC与直连的DUT无法进行正常通信而直接影响自动化测试。且在自动化测试失败后需以人工方式进行问题排查,进而极大增加了测试周期,测试效率低,并造成人力及物力资源的极大浪费。
[0005]因此,如何提出一种新的测试技术,其测试周期短、效率高、可靠性高,进而克服现有测试技术的诸多缺失,实已成为目前业界亟待解决之难题。

【发明内容】

[0006]鉴于上述现有技术的缺失,本发明之主要目的在于提供一种避免ARP干扰的网络通信测试方法及系统,其可执行自动测试作业且可靠性高。
[0007]本发明的另一目的在于提供一种避免ARP干扰的网络通信测试方法及系统,其测试周期短且效率高,且可避免人力物力资源浪费。
[0008]为达上述及其他目的,本发明提出一种避免ARP干扰的网络通信测试方法,用于对位于网络上的多个设备的AP模式自动化测试,该方法包括:执行步骤SI,透过一测试主机向该网络发送ARP请求广播,并接收该些设备发送的ARP响应进行缓存;执行步骤S2:调用ARP命令将该主机缓存的ARP列表导出赋值给一变量,并将该变量解码,找到与该测试主机直连的设备的管理地址所匹配的MAC地址;执行步骤S3:将该MAC地址与预定的MAC地址进行比较以检测该MAC地址是否正确,如果正确则执行步骤S7,否则进行下一步;执行步骤S4:调用ARP命令循环清除该测试主机缓存的ARP ;执行步骤S5:调用ARP命令添加正确的ARP,将ARP列表导出赋值给另一变量,并将该另一变量解码;执行步骤S6:确认ARP是否添加成功,若不成功则重复执行步骤S3?S6,直到添加成功为止则执行下一步;以及执行步骤S7:进行AP模式自动化测试以验证该测试主机与其直连的设备正常通信。
[0009]本发明的上述测试方法,是透过测试脚本调用函数subprocess.Popen输入ARP命令的方式调用ARP命令将其导出并赋值。
[0010]本发明的上述测试方法,步骤S3、步骤S4、步骤S5中执行MAC地址确认、ARP清除、ARP添加是否成功是透过使用正则表达式处理函数执行。
[0011]本发明的上述测试方法,步骤S2、步骤S5中,透过decode函数将变量解码转变成可显示格式。
[0012]本发明还提供一种可执行上述方法的避免ARP干扰的网络通信测试系统,包括:广播模块,用于供一测试主机向该网络发送ARP请求广播,并接收该些设备发送的ARP响应并将其缓存至该测试主机;处理模块,用于自该测试主机导出ARP列表将其赋值给一变量,并将该变量解码,找到与该测试主机直连的设备的管理地址所匹配的MAC地址,并检测该MAC地址与预定的MAC地址是否一致,若不一致则循环执行清除ARP、添加正确ARP作业,直到正确ARP添加成功;以及测试模块,根据该处理模块的处理结果执行AP模式自动化测试。
[0013]本发明之处理模块进一步包括:导出模块,调用ARP命令,自该测试主机导出该ARP列表;赋值模块,用于将该ARP进行赋值处理将其赋值给一变量;编译模块,用于对该变量进行解码处理形成可显示格式;清除模块,调用ARP命令,循环清除该测试主机缓存的ARP ;添加模块,调用ARP命令,循环添加正确的ARP ;以及检测模块,用于检测该MAC码与预定MAC码的一致性,以及检测ARP是否清除干净、正确ARP是否添加成功。
[0014]于本发明之系统中,当检测模块检测结果为该MAC码与预定MAC码的一致时或正确MAP添加成功时,该测试模块执行AP模式自动化测试。
[0015]综上所述,本发明主要是透过测试主机调用测试脚本自动对测试主机所接收到的ARP响应的正确性进行检测,并在此ARP响应不正确时自动将其清除并添加正确的ARP,之后执行AP模式自动化测试以验证测试主机与其直连的设备间的正常通信。与现有技术相比,本发明所揭示的测试方法在测试主机与直连设备无法正常通信时无需采用人工方式进行排查即可自动添加正确的ARP以保证测试主机与直连设备正常通信进行AP模式自动化测试,因此,本发明测试方法可避免现有技术人工排查造成的测试周期长、测试可靠性低等缺失。
【附图说明】
[0016]下面将以明确易懂的方式,结合【附图说明】优选实施方式,对一种避免ARP干扰的网络通信测试方法及系统的上述特性、技术特征、优点及其实现方式予以进一步说明。
[0017]图1是本发明之测试方法所应用的网络架构示意图;
[0018]图2是本发明之避免ARP干扰的网络通信测试方法的流程图;以及
[0019]图3是本发明之避免ARP干扰的网络通信测试系统架构示意图。
[0020]附图标号说明:
[0021]PC1、PC2、PC3 测试主机
[0022]DUT1、DUT2、DUT3 待测设备
[0023]30.广播模块,31.处理模块,32.测试模块
[0024]310.导出模块,311.赋值模块,312.编译模块,313.检测模块,314.清除模块,315.添加模块。
【具体实施方式】
[0025]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照【附图说明】本发明的【具体实施方式】。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
[0026]本发明主要是透过测试主机PC与其直连的调用测试脚本自动对测试主机所接收到的ARP响应的正确性进行检测,并在此ARP响应不正确时自动将其清除并添加正确的ARP,之后执行AP模式自动化测试以验证测试主机与其直连的设备间的正常通信。为清楚简要阐述本发明,将结合附图1、2对本发明进行详细说明。
[0027]如图1所示,测试主机PC1、PC2、PC3透过路由或交换机分别与VLAN网络上的待测试设备DUT1、DUT2、DUT3直连。测试主机PCl、PC2、PC3分别向VLAN网络发送ARP请求广播,并接收该些设备DUT1、DUT2、DUT3发送的ARP响应进行缓存,本发明之方法可对测试主机所接收到的ARP正确性进行验证,以避免错误ARP干扰而使AP模式自动化测试无法正常进行。
[0028]于该实施例中,设备DUT1、DUT2、DUT3同时进行自动化测试,为了更好地说明本发明的预期效果,下面以自动化环境测试DUTl的AP模式case举例说明本发明的详细技术方案。
[0029]当DUTl的AP模式case自动化测试运行至测试主机PCl与直连的DUTl进行通信时,测试脚本开始执行以下步骤,详细步骤流程如图2所示。
[0030]首选,执行步骤SI,测试脚本调用函数subprocess.Popen输入ARP命令将测试主机PCl的ARP缓存列表导出来并赋值给某一个变量A,使用decode函数将变量A转换成Unicode编码(使其能够正常显示),使用正则表达式处理函数以DUT管理地址(该地址为固定)作为匹配项定位变量A中的DUT管理地址的位置,并以特殊字符为匹配项匹配DUT管理地址后面的字符,这些字符就是DUT管理地址对应的MAC地址,将这些字符原封不动赋值给一个变量B。
[0031 ] 执行步骤S2,使用逻辑函数和赋值运算符将变量B中MAC地址和预设的MAC地址进行比较,检测MAC地址的正确性,若正确则执行步骤S8,否则执行步骤S3。
[0032]执行步骤S3,测试脚本调用函数subprocess.Popen输入ARP命令清除与DUT管理地址相关的IP地址和MAC地址的ARP对应条目,调用函数subprocess.Popen输入ARP命令将测试主机PCl的ARP缓存列表导出来并赋值给某一个变量C,使用decode函数将变量C转换成Unicode编码(使其能够正常显示)。
[0033]执行步骤4,使用正则表达式处理函数以DUT管理地址作为匹配项来匹配变量C中是否存在DUT管理地址,若不存在说明清除干净,若存在则说明没有清除干净(ARP会自动学习并添加),需重复调用函数subprocess.Popen输入ARP命令清除与DUT管理地址相关的IP地址和MAC地址的ARP对应条目,调用函数subprocess.Popen输入ARP命令将测试主机PCl的ARP缓存列表导出来并赋值给某一个变量C,使用decode函数将变量C转换成Unicode编码(使其能够正常显示),使用正则表达式处理函数以DUT管理地址作为匹配项来匹配变量C中的DUT管理地址直到清除干净。
[0034]执行步骤S5,调用函
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1