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

上一篇 / 下一篇  2007-10-13 14:55:00 / 个人分类:学习笔记


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

 


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar