對(duì)python使用telnet實(shí)現(xiàn)弱密碼登錄的方法詳解
系統(tǒng)環(huán)境:
64位win7企業(yè)版
python2.7.10
2016.08.16修改內(nèi)容:
1)read_until()函數(shù)是可以設(shè)置timeout的,之前不能獲取到password之后的返回是因?yàn)檎{(diào)用read_some()函數(shù)次數(shù)不夠,沒(méi)有讀取到返回信息
2)如果不設(shè)置read_until()函數(shù)的timeout值,那么程序?qū)⒁恢苯⑦B接而不會(huì)關(guān)閉,導(dǎo)致程序永遠(yuǎn)沒(méi)有返回,所以設(shè)置timeout還是有必要的
3)不同服務(wù)器返回的內(nèi)容是不一樣的,例如網(wǎng)絡(luò)設(shè)備radware返回就不是"login:",而是"user:",有的password的p是大寫的,所以匹配"assword:"比較好。并且,不同服務(wù)器返回到的用戶密碼錯(cuò)誤提示也是不一樣的,可以在python控制臺(tái)先試試再去寫代碼。
def check_23_port(ip,username,passwd): try: tn=telnetlib.Telnet()# #tn.set_debuglevel(0),設(shè)置為2可以看到更多信息 tn.open(host=ip) tn.read_until('login:')#這里設(shè)置timeout=10比較好,否則如果不能匹配字符串,這個(gè)連接將一直建立,程序不會(huì)返回 tn.write(username+'\r\n') tn.read_until('password:') tn.write(passwd+'\r\n') tn.read_some()#為result準(zhǔn)備數(shù)據(jù),可能需要多調(diào)用幾次才能夠獲取到服務(wù)器返回的信息"Login Failed" result = tn.read_some()#這里調(diào)用兩次,不同的操作系統(tǒng)返回的不一樣,AIX linux返回的是invalid rex = r'Login Failed' tmp = re.search(rex,result) if tmp == None: return True else: return False tn.write("exit\r\n") tn.close() except Exception as e: pass print "connect error:" + str(e)
以上這篇對(duì)python使用telnet實(shí)現(xiàn)弱密碼登錄的方法詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python多項(xiàng)式回歸的實(shí)現(xiàn)方法
這篇文章主要介紹了Python多項(xiàng)式回歸的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-03-03如何將Python代碼轉(zhuǎn)化為可執(zhí)行的程序
在Python中,將代碼轉(zhuǎn)成可以執(zhí)行的程序需要安裝庫(kù)pyinstaller,如果是Windows用戶,打開(kāi)Anaconda?Prompt輸入相對(duì)應(yīng)代碼,下面小編給大家詳細(xì)講解如何將Python代碼轉(zhuǎn)化為可執(zhí)行的程序,感興趣的朋友一起看看吧2024-03-03python中文分詞+詞頻統(tǒng)計(jì)的實(shí)現(xiàn)步驟
詞頻統(tǒng)計(jì)就是輸入一段句子或者一篇文章,然后統(tǒng)計(jì)句子中每個(gè)單詞出現(xiàn)的次數(shù),下面這篇文章主要給大家介紹了關(guān)于python中文分詞+詞頻統(tǒng)計(jì)的相關(guān)資料,需要的朋友可以參考下2022-06-06Python使用StringIO和BytesIO讀寫內(nèi)存數(shù)據(jù)
這篇文章介紹了Python使用StringIO和BytesIO讀寫內(nèi)存數(shù)據(jù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05詳解python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue
這篇文章主要介紹了python數(shù)據(jù)結(jié)構(gòu)之隊(duì)列Queue,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05Opencv中cv2.cvtColor彩色圖轉(zhuǎn)灰度圖的其他6種方法
本文主要介紹了Opencv中cv2.cvtColor彩色圖轉(zhuǎn)灰度圖的其他6種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Python實(shí)現(xiàn)程序的單一實(shí)例用法分析
這篇文章主要介紹了Python實(shí)現(xiàn)程序的單一實(shí)例用法,較為詳細(xì)的分析了Python窗口的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06