不支持Flash

Linux操作系统下三种方式实现自动Telnet

http://www.sina.com.cn 2007年09月26日 11:51  赛迪网

  作者:kit

  一、Shell实现,文件名:autotelnet.sh,代码如下:

  (sleep 1;echo "root";sleep 1;echo "123456";sleep 1;echo "en";sleep 1;echo "1qazse4";sleep 1;echo "conf t";sleep 1;echo "int fa0/1";sleep 1;echo "switchport mode multi";sleep 1;echo "end";sleep 1;echo "exit") | telnet 10.32.17.10

  二、Expect来实现,文件名:autotelnet.exp,代码如下:

  #!/usr/bin/expect

  set timeout 100

  set TERM xterm

  set SERVER "10.32.17.10"

  set USER "root"

  set PASSWD "123456"

  spawn telnet

  expect "telnet> "

  send "open $SERVERr"

  expect "Username:"

  send "$USERr"

  expect "Password:"

  send "$PASSWDr"

  expect "longjiang-zero>"

  send "enr"

  expect "Password:"

  send "$PASSWDr"

  expect "longjiang-zero#"

  send "conf tr"

  expect "longjiang-zero(config)#"

  send "int fa0/1r"

  expect "longjiang-zero(config-if)#"

  send "switchport mode multir"

  expect "longjiang-zero(config-if)#"

  send "endr"

  expect "longjiang-zero#"

  send "exitr"

  interact

  三、Python来实现,文件名:autotelnet.py,代码如下:

  #!/usr/bin/python

  import telnetlib

  host = ''10.32.17.10''

  user = ''root''

  password = ''123456''

  commands = [''en'',password,''conf t'',''int fa0/1'',''switchport mode multi'',''end'']

  tn = telnetlib.Telnet(host)

  tn.read_until("Username:")

  tn.write(user + "n")

  tn.read_until("Password:")

  tn.write(password + "n")

  for command in commands:

  tn.write(command+''n'')

  tn.write("exitn")

  print tn.read_all()

  print ''Finish!''

发表评论 _COUNT_条
爱问(iAsk.com)
不支持Flash
·城市营销百家谈>> ·城市发现之旅有奖活动 ·企业管理利器 ·新浪邮箱畅通无阻
不支持Flash
不支持Flash