当前位置:  技术问答>linux和unix

expect 数组的问题

    来源: 互联网  发布时间:2016-09-09

    本文导语:  有一个服务器的地址为:192.168.9.9 他可能的密码有5个,现在想用expect程序实现挨个试探密码,直到登陆成功为止。请问改怎么实现。 目前有一个思路就是用递归。但是不知道在expect中怎么实现数组的传递。 其不用...

有一个服务器的地址为:192.168.9.9
他可能的密码有5个,现在想用expect程序实现挨个试探密码,直到登陆成功为止。请问改怎么实现。

目前有一个思路就是用递归。但是不知道在expect中怎么实现数组的传递。

其不用数组时候的程序如下:
set m_i 1
set m_one_ip 192.168.9.9
set m_pw 123456
proc passwordtest { i one_ip pw} {    
        puts stdout "######### No.$i ######### $one_ip #########"
        spawn ssh  root@$one_ip
        expect {
                "want"        {send -- "yesr"; exp_continue}
                "password:"   {send -- "$pwr"; exp_continue}
                "No route"    { exit }
                "gssapi-with-mic" { 
                        incr i
                        passwordtest $i $one_ip $pw}
                "#"          {send "exitr"}

                }   
}

这样就会连续以123456作为试探密码登陆,当然结果一直是错误的,程序到ctrl + c的时候退出。

如果可以实现数组的传递就可以实现我说的功能了。
set m_i 1
set m_one_ip 192.168.9.145
set m_pw(1) 1111111
set m_pw(2) 123456
set m_pw(3) aaaaaa
set m_pw(4) bbbbbb
proc passwordtest { i one_ip pw} {    
        puts stdout "######### No.$i ######### $one_ip #########"
        spawn ssh  root@$one_ip
        expect {
                "want"        {send -- "yesr"; exp_continue}
                "password:"   {send -- "$pw($i)r"; exp_continue}
                "No route"    { exit }
                "gssapi-with-mic" { 
                        incr i
                        passwordtest $i $one_ip $pw}
                "#"          {send "exitr"}

                }   
}

passwordtest  $m_i $m_one_ip $m_pw


其作用是递归调用passwordtest子程序,可惜这里pw并不能传递为m_pw数组。
请各位赐教,不胜感激。

|
很牛嘛 你
 都没在expect用过数组

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何不使用expect而作出expect最简单的功能?
  • Expect脚本的编写
  • ssh expect自动登录的脚本代码
  • Expect 工具 Expectit
  • expect script,環境變數lang設定?
  • expect中为send语句上加变量的代码
  • 如何判断expect中调用的命令是否成功?
  • 100分请教高手 linux 下安装expect
  • 用expect实现的自动登录到多台服务器的shell脚本
  • expect: bad interpreter: Permission denied
  • 请问如何在expect脚本中实现变量比较?
  • 自动化控制和测试的软件工具 Expect
  • 如何用 expect 输入密码
  • expect使用疑问
  • Expect 工具 Expectit iis7站长之家
  • 求书 Exploring Expect (A Tcl-based Toolkit for Automating Interactive Programs)
  • 请教高手, 如何用expect实现BBS的自动登陆?
  • 学习expect
  • 大伙们有没有用过expect的?
  • [100: 关于expect和tcl] 小生刚刚接到任务,请大家先给个思路 谢谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3