python實現Telnet遠程登陸到設備並執行命令


#encoding=utf-8
import telnetlib
import time

def do_telnet(Host, username, password, finish, commands):
 
    # 連接Telnet服務器
    tn = telnetlib.Telnet(Host, port=23, timeout=10)
   #timeout只是在初始化socket連接時起作用,而一旦連接成功后出現等待就不起作用了,比如使用read_until方式獲取內容時返回的內容與指定的內容不符合,那么就會造成提示等待的情況,這時timeout是不起作用的,這個socket連接會一直保持着,永生不死.一種解決方案是,使用threading模塊,利用線程模式來解決. tn.set_debuglevel(
2) # 輸入登錄用戶名 tn.read_until('ENTER USERNAME < ') tn.write(username + '\r\n') # 輸入登錄密碼 tn.read_until('ENTER PASSWORD < ') tn.write(password + '\r\n') # 登錄完畢后執行命令 tn.read_until(finish) for command in commands: result = tn.write('%s\r\n' % command); #執行完畢后,終止Telnet連接(或輸入exit退出) tn.read_until('COMMAND EXECUTED') tn.close() # tn.write('exit\n') if __name__=='__main__': # 配置選項 Host = '10.68.165.25' # Telnet服務器IP username = 'SYSTEM' # 登錄用戶名 password = 'SYSTEM' # 登錄密碼 finish = 'LEVEL COMMAND <___>' # 命令提示符 commands = ['ZUSI;'] do_telnet(Host, username, password, finish, commands)

 

下一步:如何將write的執行結果輸出???


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM