Python ftp暴力服务器不工作

Python ftp暴力服务器不工作,python,python-2.7,ftp,brute-force,Python,Python 2.7,Ftp,Brute Force,当我尝试自学python时,我在笔记本电脑(Ubuntu12.04)上用vsftpd打开了一个FTP服务器。配置完成后,我可以使用 ftp本地主机 我选择的用户名和密码是NINJA123(为了尝试)。 在我的电脑(局域网)上打开浏览器,输入ftp://192.168.1.108/。当我得到一个用户名和密码的弹出窗口时,我输入了上面的详细信息——所以——一切都是FTP方式的 我写这篇文章是为了尝试闯入: import socket import ftplib port=21 ip="192.16

当我尝试自学python时,我在笔记本电脑(Ubuntu12.04)上用vsftpd打开了一个FTP服务器。配置完成后,我可以使用
ftp本地主机
我选择的用户名和密码是
NINJA
123
(为了尝试)。 在我的电脑(局域网)上打开浏览器,输入
ftp://192.168.1.108/
。当我得到一个用户名和密码的弹出窗口时,我输入了上面的详细信息——所以——一切都是FTP方式的

我写这篇文章是为了尝试闯入:

import socket
import ftplib

port=21
ip="192.168.1.108"
file1="passwords"

try:
    s=socket.socket()
    s.connect((ip,port))
    print "port",port,"is open"
    moshe=open(file1,'r')
    for line in moshe.readlines():
        password=line.strip("\n")
        print password
        try:
            ftp = ftplib.FTP(ip)
            ftp.login("NINJA",password)
            print ("THE PASSWORD IS:",password)
            break
        except ftplib.error_perm:
            print "Incorrect"
    moshe.close()
except:
    print "port",port,"is closed"


多亏了rob,我才开始学习python,但您不是在尝试块中错误地引用了ftplib库吗?您正在使用
ftp.ftplib.ftp(ip)
…它不应该是
ftplib.ftp(ip)
?ftp.login(“忍者”,密码)

我只是在学习python,但你不是在尝试块中错误地引用ftplib库吗?您正在使用
ftp.ftplib.ftp(ip)
…它不应该是
ftplib.ftp(ip)
?ftp.login(“忍者”,密码)

我只是在学习python,但你不是在尝试块中错误地引用ftplib库吗?您正在使用
ftp.ftplib.ftp(ip)
…它不应该是
ftplib.ftp(ip)
?ftp.login(“忍者”,密码)

我只是在学习python,但你不是在尝试块中错误地引用ftplib库吗?您正在使用
ftp.ftplib.ftp(ip)
…它不应该是
ftplib.ftp(ip)
?同样适用于ftp.login(“忍者”,密码)

您能检查一下VSFTPD日志吗?是否有任何信息表明脚本试图登录?请简化您的示例。去掉密码文件,尝试直接连接到
ftp.login(“忍者”,“123”)
。@UliKöhler如果您能告诉我它在Rob的位置,我会很乐意这么做的ᵩ 我改了,但还是没有work@Giladiald-“我改了,但还是不行”。然后你没有摆脱足够的。如果您继续删除行,最终您会看到错误消息:
namererror:name'ftp'未定义
,这将为您提供线索。@giladild我相信在当前状态下,按照Robphi的建议可以更快地解决此问题,这意味着真正精简代码(如果不是很明显的话,就在这里发布。)或者只是阅读CheckNate的答案…你能检查一下VSFTPD日志吗?是否有任何信息表明脚本试图登录?简化你的示例。摆脱密码文件,尝试连接
ftp.login(“忍者”,“123”)
直接。@UliKöhler如果您能告诉我它在Rob的位置,我很乐意这么做ᵩ 我改了,但还是没有work@Giladiald-“我改了,但还是不行”。然后你没有摆脱足够的。如果你继续沿着删除行的道路前进,最终你会看到错误消息:
namererror:name'ftp'没有定义,这会给你提供线索。@Giladiald我相信在当前状态下,按照Robphi的建议可以更快地解决这个问题,这意味着要真正精简您的代码(如果不明显,请将其发布在此处)。或者只是阅读CheckNate的答案……您可以查看VSFTPD日志吗?是否有任何信息表明脚本试图登录?简化您的示例。删除密码文件,然后尝试连接
ftp.login(“忍者”,“123”)
直接。@UliKöhler如果您能告诉我它在Rob的位置,我很乐意这么做ᵩ 我改了,但还是没有work@Giladiald-“我改了,但还是不行”。然后你没有摆脱足够的。如果你继续沿着删除行的道路前进,最终你会看到错误消息:
namererror:name'ftp'没有定义,这会给你提供线索。@Giladiald我相信在当前状态下,按照Robphi的建议可以更快地解决这个问题,这意味着要真正精简您的代码(如果不明显,请将其发布在此处)。或者只是阅读CheckNate的答案……您可以查看VSFTPD日志吗?是否有任何信息表明脚本试图登录?简化您的示例。删除密码文件,然后尝试连接
ftp.login(“忍者”,“123”)
直接。@UliKöhler如果您能告诉我它在Rob的位置,我很乐意这么做ᵩ 我改了,但还是没有work@Giladiald-“我改了,但还是不行”。然后你没有摆脱足够的。如果你继续沿着删除行的道路前进,最终你会看到错误消息:
namererror:name'ftp'没有定义,这会给你提供线索。@Giladiald我相信在当前状态下,按照Robphi的建议可以更快地解决这个问题,这意味着要真正精简您的代码(如果不明显,请将其发布在此处)。或者只需阅读CheckNate…+1的答案,从而证明您永远不应该使用catch all
子句,除了:
子句。来自:“*请极其小心地使用此子句,因为这样很容易掩盖真正的编程错误!”@你能试着帮我理解吗?我切换到
ftplib.FTP(ip)
,但我不确定应该用@Rob替换
ftp.login
,老实说,我讨厌@Rob,除了看到它几乎使所有东西都无效之外,我只是想取消检查我可以在这个循环中使用的其他循环case@Giladiald,请尝试以下操作:
try:
/
ftp=ftplib.ftp(ip)
/
ftp.login(“忍者”,密码)
/
print“密码是:,密码是:,除ftplib外。错误提示:
/
打印“不正确”
。请参见1)ftp=
行如何创建
ftp