Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1508583
  • 博文数量: 416
  • 博客积分: 10061
  • 博客等级: 上将
  • 技术积分: 3287
  • 用 户 组: 普通用户
  • 注册时间: 2006-12-05 11:12
个人简介

技术在于专研

文章分类

全部博文(416)

文章存档

2021年(3)

2015年(34)

2013年(2)

2012年(1)

2011年(2)

2010年(5)

2007年(344)

2006年(25)

分类: LINUX

2007-09-24 13:51:12

Linux下三种方式实现自动Telnet


一、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!''

具体环境不做介绍
阅读(3005) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~