`
insertyou
  • 浏览: 864393 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

TCL/EXPECT自动化测试脚本实例六 --- SNMP community长度测试

阅读更多
下面通过一个测试SNMP community最大长度的脚本,介绍一下net-snmp工具。

net-snmp是一组基于命令行的snmp manager工具,可以在命令行下进行snmp get, snmp set, snmp walk等操作,支持snmp v1/v2c/v3。原来的名字叫做ucd-snmp,也已经被移植到windows NT上。
它的主页在http://net-snmp.sourceforge.net/

由于它可以在命令行下进行SNMP操作,所以可以和TCL/expect很好的结合,完成自动化测试的功能。
下面的脚本(snmp.exp),不断的增加SNMP community,长度从1到256,每增加一个community,就调用snmp-get来进行SNMP get操作,如果get成功,说明此community有效;反之,就说明community已经超出了设备支持的最大长度。
这个脚本使用前面讲到的test.exp调用,调用方法是:
./test.exp -ssnmp.exp script
对它稍加修改,也可以直接在命令行中调用,此处不再赘述。

代码如下:
# $Id$

proc snmpCommTest {comm} {
global g_devip

spawn snmpget -c $comm -v 2c -r 2 $g_devip system.sysUpTime.0
expect {
"system.sysUpTime.0*" {
return 1
}
"*Timeout*" {
return 0
}
}

return 1
}

set spawn_id [login $g_devip $g_user $g_passwd]
if {$spawn_id == 0} {
errLog "login error\n"
return 0
}

set cmdCommAdd "create snmp community %s rw\n"
set cmdCommDel "delete snmp community %s\n"
set cmdHostAdd "create snmp host ip 192.168.1.2 community %s\n"
set cmdHostDel "delete snmp host ip 192.168.1.2 community %s\n"
set comm ""

for {set i 1} {$i < 256} {incr i} {
set comm "a$comm"
set cmd [format $cmdCommAdd $comm]
exp_send $cmd
expect {
"Error*" {
errLog "create comm len $i error"
continue
}
timeout {
errLog "create comm len $i timeout"
continue
}
"Entry Created"
}
set cmd [format $cmdHostAdd $comm]
exp_send $cmd
expect {
"Error*" {
errLog "create host error"
continue
}
timeout {
errLog "create host timeout"
continue
}
"Entry Created"
}

set rc [snmpCommTest $comm]
if {$rc == 0} {
errLog "community len $i failed"
}

set cmd [format $cmdHostDel $comm]
exp_send $cmd
expect "Entry Deleted"
set cmd [format $cmdCommDel $comm]
exp_send $cmd
expect "Entry Deleted"
}
分享到:
评论

相关推荐

    tcl864安装包

    tcl脚本语言安装包,要安装expect脚本,必须先安装tcl。 一)Tcl 安装 主页: http://www.tcl.tk 下载地址: http://www.tcl.tk/software/tcltk/downloadnow84.tml 1.下载源码包 wget ...

    Tcl/Expect

    Tcl/Expect学习心得:等待操作是很有用的及COM通讯脚本

    expect-5.45-sol9-sparc-local.gz

    expect-5.45-sol9-sparc-local.gz solaris9 安装expect工具方法 在网站http://www.sunfreeware.com/indexsparc9.html下载到对应系统本版软件包 需要下载4个软件包分别是: tcl-8.5a4-sol9-sparc-local.gz tk-8.5a4-...

    Tcl/tk 宝典之一 - Expect讲解

    这个是讲解Tcl/tk 中Expect用法的书,讲的同时结合实例,很易懂。绝对是入门的好材料。

    用expect 实现切换用户时自动输入密码.txt

    昨天一个网友问如何能够将输入密码的工作在shell里面自动完成,研究了一下,发现这种交互式的工作,普通的shell实现不了,据说可以借助expect来搞定,所以初步学习了一下expect,成果和大家分享一下: 应用一: 实现...

    expect-5.45-sol10-sparc-local.gz

    expect-5.45-sol10-sparc-local.gz solaris9 安装expect工具方法 在网站http://www.sunfreeware.com/indexsparc9.html下载到对应系统本版软件包 需要下载4个软件包分别是: tcl-8.5a4-sol9-sparc-local.gz tk-8.5a4-...

    expect交互式执行网络命令

    expect实现 shell 交互式网络命令,插件..../configure --prefix=/usr/expect --with-tcl=/usr/tcl/lib --with-tclinclude=../tcl8.4.11/generic make make install ln -s /usr/tcl/bin/expect /usr/expect/bin/expect

    #!/usr/bin/expect

    NULL 博文链接:https://j2ee2009.iteye.com/blog/824829

    Tcl语言,expect脚本

    Tcl,Tcl语言,expect,可用于交互式自动化脚本,方便自动化管理服务器。

    expect-5.45-14.el7_1.x86_64.zip 在 centos7 上测试通过

    [root@localhost expect]# rpm -ivh expect-5.45-14.el7_1.x86_64.rpm 准备中... ################################# [100%] 正在升级/安装... 1:expect-5.45-14.el7_1 ################################# [100%] ...

    expect5.43.0和tcl8.4.11.zip

    expect据说是交互性很强的脚本语言,但是expect依赖于tcl,但linux系统里一般不自带安装tcl,需要手动安装

    Tcl/expect sms gateway-开源

    使用tcl / expect编写的简单sms网关,使用mysql作为文本消息的数据源。

    禅道自动化测试框架ZenTaoATF.zip

    ZenTaoATF是由禅道开发团队开发的自动化测试框架,它只有一个脚本文件,可以支持各种脚本语言编写的自动化测试脚本,语法简单,使用灵活,后续会和禅道项目管理软件进行绑定和集成。 它的基本工作原理如下: 首先,...

    SigmationTF自动化测试教程

    SigmationTF的组网方法、设备管理、自动化测试脚本开发进行了详细讨论。 读者阅读本书前须具备一定的软件工程与测试理论基础、TCP/IP网络协议知 识、交换机和终端服务器等网络设备的使用经验,熟悉Windows和Linux...

    expect-5.44.1.15-5.el6_4.x86_64.rpm

    expect能实现脚本的自动登录和自动输入功能。expect-5.44.1.15-5.el6_4.x86_64.rpm

    expect.deb离线包(包含tcl8.5_8.5.11-1ubuntu1和expect_5.45-2)

    expect.deb离线包,包含 expect_5.45-2_amd64.deb tcl8.5_8.5.11-1ubuntu1_amd64.deb两个 使用命令 dpkg --install expect_5.45-2_amd64.deb dpkg --install tcl8.5_8.5.11-1ubuntu1_amd64.deb 可以直接进行安装,不...

    tcl-expect

    简单介绍tcl语言以和expect语法以及使用方法

    TCL_Expect_deja.zip_Exploring.Expect.pdf_deja gnu_tcl_tcl语言_自动化测

    讲述了tcl语言,还有dejaGNU。可以用于大型项目的自动化测试的工作,用过了,非常爽

    expect-5.21---setup.7z

    这个就是下载别人的,用了一下,又传上去,会点血,软件是可以用的,大家下载试试,哈哈哈,欢迎大家下载,没有积分的私我,我发给你

Global site tag (gtag.js) - Google Analytics