查看完整版本: Linux操作系统下三种方式实现自动Telnet [转]

zhawhz 2007-10-24 23:10

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

转:[url]http://linux.ccidnet.com/art/302/20070925/1224679_1.html[/url]
来源:赛迪网    作者: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!''

zhaoying_1982 2007-10-31 09:36

顶了

red-hat 2007-11-12 10:11

用shell和python来实现的脚本语言
页: [1]
查看完整版本: Linux操作系统下三种方式实现自动Telnet [转]