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

来源:岁月联盟 编辑:zhuzhu 时间:2007-09-26
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!''

(责任编辑:云子)