0 0

expect登录交换机脚本3

写了段登录交换机的脚本,进行用户名和密码的判断,怎么这么写登录不上去啊
正常应该是:
telnet 200.2.0.3
登录后提示'>',输入'en',提示'Password:'输入密码,如果密码正确则得到提示'#'
用下面代码不能实现正常登录交换机,即时密码修改正确,请问如何修改

spawn telnet "200.2.0.3 23"
expect {
    "name:" {
       send "a\r"
       expect "word:"
     }
     ">" {
       send "en\r"
       expect "word:"
     }
     "word" {
       send "a\r"
     }
  }
expect "#"
2011年12月07日 20:17

1个答案 按时间排序 按投票排序

0 0

采纳的答案

这个和telnet登录的系统版本有关,可以手动登录确定各阶段的标志符, 下面是SSH登录例子,希望对你有参考价值。

#!/usr/bin/expect
set timeout 5
set username [lindex $argv 0]
set hostip [lindex $argv 1]
set passwd [lindex $argv 2]
set cmdfile [lindex $argv 3]
spawn ssh $username@$hostip
expect {
"yes/no" {send "yes\n"}
}
expect {
"password:" {send "$passwd\n"}
"Password:" {send "$passwd\n"}
}
set f [open $cmdfile]
while {[gets $f line]>=0} {

expect {
"*#" {send "$line\n"}
"*$ " {send "$line\n"}
"*]" {send "$line\n"}
"*: " {send "$line\n"}
"*> " {send "$line\n"}
"*>" {send "$line\n"}
}
}
close $f
expect "#"
send "quit\n"
expect eof
exit

2011年12月09日 16:33

相关推荐

    linux expect 自动登录交换机保存配置的方法

    今天小编就为大家分享一篇linux expect 自动登录交换机保存配置的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    华三交换机配置文件自动备份脚本程序.RAR_-baijiahao_sh_shell expect_shell export_交换

    `ftp.exp`是一个基于expect的脚本,它的功能是通过FTP(文件传输协议)与交换机进行交互,登录设备并下载配置文件。Expect是一个强大的工具,能够自动化处理需要用户交互的命令行程序,如在命令行输入密码或等待特定...

    shell批量执行交换机命令

    综上所述,"shell批量执行交换机命令"涉及到Linux shell脚本编写、SSH远程操作和expect的使用。掌握这些技术,可以大大简化网络设备的管理,提高运维效率,尤其在多台设备的批量操作中更为明显。在实际应用中,可能...

    11.26 交换机配置,支持远程网口登陆。写shell脚本的测试用例设计.rar

    本文将深入探讨如何配置交换机以支持远程网口登录,并介绍如何编写Shell脚本进行测试用例设计,以此确保网络设备的稳定性和安全性。 首先,交换机配置支持远程网口登录主要是为了实现网络管理员对设备的远程管理和...

    Expect简介及应用,是一种能够强大的脚本语言

    Expect是一种强大的脚本语言,能够完成ftp。telnet等自动操作,比如ftp的自动更新,telnet自动发文,同时还可以实现对交换机、路由器等自动操做。

    expect及其依赖rpm包(x64)

    例如,我们可以创建一个`expect`脚本,其中包含登录信息,然后该脚本会自动处理验证过程。 FTP则是一种用于在网络上进行文件传输的标准协议。虽然现代的系统倾向于使用更安全的SFTP或SCP,但有些旧系统可能仍然支持...

    expect window版本

    "Expect Window 版本"指的是将 Expect 脚本语言集成到 Windows 操作系统中的工具。Expect 是一种用于自动化交互式应用程序的脚本语言,它最初是为类 Unix 系统设计的,但通过特定的版本或实现,也能在 Windows 下...

    expect5.43 + tcl8.4.11

    在 Expect 脚本中,你可以调用 Tcl 命令进行数据处理,同时利用 Expect 的功能来自动化交互过程。这种结合使得它们在自动化测试、系统集成、网络设备配置等方面非常强大。 例如,你可以编写一个 Expect 脚本来自动...

    光纤交换机配置自动备份.docx

    通过编写 `expect` 脚本,如 `bakswitch.sh`,可以模拟登录交换机并执行 `configupload` 命令。以下是一个简单的示例: ```bash #!/usr/bin/expect -f set timeout 20 spawn telnet 10.100.100.37 expect "*login*...

    3 TCL语法文档,前期开发expect的时候使用过觉得还行。

    不过,编写 Expect 脚本时要注意控制流的逻辑,确保脚本的健壮性和可维护性。 总之,TCL Expect 是一种强大的自动化工具,通过其独特的命令和机制,使得处理交互式程序变得简单和高效。无论是简单的任务还是复杂的...

    shell结合expect写的批量scp脚本工具

    expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh之类需要用户手动输入密码然后确认的任务。有了这个工具,定义在scp过程中可能遇到的情况,然后编写相应的处理语句,就可以自动地完成scp操作了

    Expect.pm-开源

    Expect工具主要用于自动化与交互式程序的通信,例如登录、配置网络设备或者进行系统管理任务。通过使用Expect,程序员可以编写脚本模拟用户与这些程序的交互,从而实现自动化操作。 Expect模块在Perl中的应用主要...

    Cisco-Web-VLAN-Tagger:用于在Cisco交换机上标记VLAN的Web应用程序

    它使用Expect脚本和PHP在您选择的端口和选择的交换机上进行VLAN标记更改。 要求: -> Linux Web服务器(安装了PHP 5.6和Apache2的任何发行版) ->“期望”包-为Debian / Ubuntu使用apt-get install Expect -对于...

    perl网络批量抓取配置工具

    这个工具利用Perl编程语言的强大功能,结合了网络通信库,如Net::Telnet和Net::SSH::Expect,实现了对远程设备的交互式登录和配置获取。通过集成crontab定时任务管理器,用户可以设置定期执行抓取任务,确保网络配置...

    SigmationTF自动化测试教程

    系统的管理与Shell编程知识,并且熟练掌握ITCL与EXPECT脚本语言。 本文适合SigmationTF自动化测试工程师课程的进修或培训使用,对本文 内容涉及的实验部分需要参考相关操作系统和设备操作手册。

    Python module to Expect lib-开源

    - **配置网络设备**:批量配置路由器、交换机等网络设备的配置。 - **脚本测试**:模拟用户与命令行工具的交互,对命令行工具进行自动化测试。 - **文件传输**:通过FTP、SFTP等协议自动化文件的上传和下载。 - **...

    tcl.rar_tcl_tcl 教程

    7. **高级主题**: 探讨TCL的扩展库如Tk(图形用户界面)和 Expect(自动化远程登录和交互)。 通过这个教程,无论是初学者还是有经验的工程师,都能深入理解TCL的强大功能,并在实际工作中有效利用它。丰富的案例将...

    TCL的介绍与使用,适合入门者

    3. 网络设备配置:在路由器、交换机等网络设备上,TCL被广泛用于配置管理和故障排查。 六、学习资源与实践 初学者可以从以下途径开始学习TCL: 1. 阅读官方文档:TCL有详细的在线文档和教程,帮助理解语言基础和...

    nagios 分发文件实现代码

    3. **命令执行**:`expect` 脚本用于处理SSH交互,例如发送命令并等待响应。`send` 命令用于在SSH连接中发送命令,例如重启`xinetd`服务的命令`$cmd1`。 4. **循环与跳过**:`for` 循环遍历一系列IP地址,如果遇到...

    libcisco-开源

    libcisco是由Tcl语言编写的库,其核心功能是提供了一组API,这些API能够帮助开发者构建能够与Cisco路由器、交换机等设备进行交互的脚本。使用Tcl/Expect,开发者可以方便地编写出能够自动执行配置更改、收集设备信息...

Global site tag (gtag.js) - Google Analytics