細化autotelnet的實現
作者:佚名
下面我們來對autotelnet的具體代碼進行一下介紹。首先是SHELL的實現,其次是Expect的代碼,最后是Python來實現。
對于Telnet,我們可以用多種方法來實現。這里我們就來介紹一下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!''
責任編輯:佟健
來源:
網絡轉載