51Testing软件测试论坛

标题: Linux操作系统下三种方式实现自动Telnet [转] [打印本页]

作者: zhawhz    时间: 2007-10-24 23:10
标题: Linux操作系统下三种方式实现自动Telnet [转]
转:http://linux.ccidnet.com/art/302/20070925/1224679_1.html
来源:赛迪网    作者: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来实现的脚本语言




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2