設(shè)置Telnet自動登錄的兩種解決之道
很多朋友都對Telnet自動登錄的事情很感興趣,所以這里我們來為大家分享一篇文章,關(guān)于Telnet自動登錄的相關(guān)設(shè)置。那么就讓我們來詳細(xì)看一下具體的設(shè)置方法吧。一般來說兩種方法:
1、VBS法(Windows Script Host)
2、自動終端法(一些可以配置自動Telnet的終端)
在這里我們討論第一種Telnet自動登錄的方法:VBS法。由于Windows Script Host是系統(tǒng)自帶的,我們不需要安裝地方放軟件就可以搞定。所以它一般是解決問題的首選。首先,我們建立一個名字叫做tel.vbs的腳本,這里用Telnet 到cisco路由器上作為一個例子,相關(guān)內(nèi)容大家可以修改。
'建立Shell對象
- set sh=WScript.CreateObject("WScript.Shell")
- WScript.Sleep 1000
'向Telnet發(fā)送我們平時錄入的命令
- sh.SendKeys "open 192.168.1.1"
- WScript.Sleep 1000
- sh.SendKeys "{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "password{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "en{ENTER}"
- WScript.Sleep 1000
- sh.SendKeys "passord{ENTER}"
- WScript.Sleep 1000
- '運行cisco的show run命令
- sh.SendKeys "show run{ENTER}"
然后,建立一個batch_tel.bat的批處理文件:
- rem 啟動Telnet
- start Telnet.exe
- rem batch Telnet
- cscript //nologo tel.vbs
最后,我們只需要運行batch_tel.bat就可以輕松搞定Telnet的工作了。
對于SendKeys這個命令可以send什么,我們可以看下面的列表:
- BACKSPACE {BACKSPACE}, {BS}, or {BKSP}
- BREAK {BREAK}
- CAPS LOCK {CAPSLOCK}
- DEL or DELETE {DELETE} or {DEL}
- DOWN ARROW {DOWN}
- END {END}
- ENTER {ENTER}or ~
- ESC {ESC}
- HELP {HELP}
- HOME {HOME}
- INS or INSERT {INSERT} or {INS}
- LEFT ARROW {LEFT}
- NUM LOCK {NUMLOCK}
- PAGE DOWN {PGDN}
- PAGE UP {PGUP}
- PRINT SCREEN {PRTSC}
- RIGHT ARROW {RIGHT}
- SCROLL LOCK {SCROLLLOCK}
- TAB {TAB}
- UP ARROW {UP}
- F1 {F1}
- F2 {F2}
- F3 {F3}
- F4 {F4}
- F5 {F5}
- F6 {F6}
- F7 {F7}
- F8 {F8}
- F9 {F9}
- F10 {F10}
- F11 {F11}
- F12 {F12}
- F13 {F13}
- F14 {F14}
- F15 {F15}
- F16 {F16}
- SHIFT +
- CTRL ^
- ALT %
#p#其實建立腳本跟批處理可以合2為1完成:
Telnet自動登錄路由器、交換機(jī)等網(wǎng)絡(luò)設(shè)備的批處理文件代碼
- @echo off
- echo set sh=WScript.CreateObject("WScript.Shell") >Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "open 你的網(wǎng)絡(luò)設(shè)備Telnet登錄IP" >>Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "{ENTER}" >>Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "你的用戶名{ENTER}">>Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "你的密碼{ENTER}">>Telnet_tmp.vbs
- start Telnet
- cscript //nologo Telnet_tmp.vbs
- del Telnet_tmp.vbs
解釋:
本段Telnet自動登錄代碼WScript.Sleep 300 表示登錄設(shè)備延時,就是給設(shè)備一個接受出來的時間;open 是打開Telnet,并登錄到指定ip地址;{ENTER}自然是回車了;SendKeys是關(guān)鍵,表示自動輸入的內(nèi)容。保存以上內(nèi)容為rout.bat批處理文件,每次登錄網(wǎng)絡(luò)設(shè)備就不要先win+R -- cmd -- Telnet IP -- 用戶名 -- 密碼 這樣麻煩了,直接運行這個bat文件即到達(dá)登錄狀態(tài)。當(dāng)然,如果你想登錄后進(jìn)入其他狀態(tài),比如conf配置狀態(tài),你還可以在輸入密碼后面再加幾行,比如:
- @echo off
- echo set sh=WScript.CreateObject("WScript.Shell") >Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "open 你的網(wǎng)絡(luò)設(shè)備Telnet登錄IP" >>Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "{ENTER}" >>Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "你的用戶名{ENTER}">>Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "你的密碼{ENTER}">>Telnet_tmp.vbs
- echo WScript.Sleep 300 >>Telnet_tmp.vbs
- echo sh.SendKeys "conf{ENTER}">>Telnet_tmp.vbs
- start Telnet
- cscript //nologo Telnet_tmp.vbs
- del Telnet_tmp.vbs