在一些编程应用中,我们常会涉及到autoTelnet的相关内容。这里我们就对autoTelnet的实现方法进行了探讨。我们通过三种方法来实现这个文件。那么具体的代码实现就请从文中来详细看一下吧。
一、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!''