FTP通过TLS端口990隐式

时间:2018-10-17 10:06:55

标签: python-2.7 server ftp tls1.2

我创建了一些用于连接FTP服务器的脚本。所有这些脚本都可以与其他客户端的FTP服务器连接正常。但是对于这个新的客户端服务器,它不起作用

使用FileZilla我可以连接到此FTP服务器。配置: Config FileZilla based on client server credentials

我不知道为什么无法与此客户端FTP服务器连接。

脚本1:

from ftplib import FTP_TLS
import ssl

def connect():
    ftp = FTP_TLS()
    ftp.debugging = 2
    ftp.connect('servername', port)
    ftp.login('user', 'password')
    return ftp

# Connect but only using SSL version 2 or 3

def connect_SSLv23():
    print "Establishing ssh connection SSLv3"
    ftp = FTP_TLS()
    ftp.ssl_version = ssl.PROTOCOL_SSLv23
    ftp.debugging = 2
    ftp.connect('servername', port)
    ftp.login('user', 'password')
    return ftp


# Connect, but only using TLS version 1.2


def connect_TLSvl_2():
    print "Establishing ssh connection TLSv1_2"
    ftp = FTP_TLS()
    ftp.ssl_version = ssl.PROTOCOL_TLSv1_2
    ftp.debugging = 2
    ftp.connect('servername', port)
    ftp.login('user', 'password')
    return ftp

def main():
      ftp = connect_SSLv23() #I tried too the other two functions
      print ftp
if __name__ == '__main__':
    main()

三个功能的输出相同

Script1 Console output

脚本2:

    from ftplib import FTP_TLS
    _old_makepasv = FTP_TLS.makepasv

    def _new_makepasv(self):
        host,port = _old_makepasv(self)
        host = self.sock.getpeername()[0]
        return host,port

    def main():
        FTP_TLS.makepasv = _new_makepasv
        ftp = FTP_TLS()
        ftp.connect(str('servername'),990, timeout=200)
        ftp.login('username', 'pass')
        ftp.nlst()
        print ftp.retrlines('LIST')
    if __name__ == '__main__':
        main()

控制台上的输出:

Script2 Console output

脚本3:

ftp = FTP_TLS(str('servername'), 990, str('user'), str('pass'), timeout=100)
files_list = ftp.nlst()
for filename in files_list:
    print(filename)

控制台上的输出: Script3 Console output

当我试图通过这三个脚本进行连接时,我向客户要求了他们的服务器日志。

(000204) 08/10/2018 10:07:26 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000204) 08/10/2018 10:07:26 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000204) 08/10/2018 10:07:26 - (not logged in) (xx.xx.xxx.xx)> TLS connection established
        (000204) 08/10/2018 10:07:30 - (not logged in) (xx.xx.xxx.xx)> USER xxxxxxx
        (000204) 08/10/2018 10:07:30 - (not logged in) (xx.xx.xxx.xx)> 331 Password required for xxxxxxx
        (000204) 08/10/2018 10:07:30 - (not logged in) (xx.xx.xxx.xx)> PASS **********
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 230 Logged on
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> SYST
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 215 UNIX emulated by FileZilla
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> FEAT
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 211-Features:
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  MDTM
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  REST STREAM
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  SIZE
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  MLST type*;size*;modify*;
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  MLSD
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  AUTH SSL
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  AUTH TLS
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  PROT
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  PBSZ
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  UTF8
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  CLNT
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  MFMT
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  EPSV
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)>  EPRT
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 211 End
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> PBSZ 0
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 200 PBSZ=0
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> PROT P
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 200 Protection level set to P
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> PWD
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 257 "/" is current directory.
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> TYPE I
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 200 Type set to I
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> PASV
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 227 Entering Passive Mode (176,28,123,218,175,201)
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> MLSD
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 150 Opening data channel for directory listing of "/"
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> TLS connection for data connection established
        (000204) 08/10/2018 10:07:30 - xxxxxxx (xx.xx.xxx.xx)> 226 Successfully transferred "/"
        (000204) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> disconnected.
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> TLS connection established
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> USER xxxxxxx
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> 331 Password required for xxxxxxx
        (000205) 08/10/2018 10:07:53 - (not logged in) (xx.xx.xxx.xx)> PASS **********
        (000205) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> 230 Logged on
        (000205) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> PBSZ 0
        (000205) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> 200 PBSZ=0
        (000205) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> PROT P
        (000205) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> 200 Protection level set to P
        (000205) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> PWD
        (000205) 08/10/2018 10:07:53 - xxxxxxx (xx.xx.xxx.xx)> 257 "/" is current directory.
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000206) 08/10/2018 10:09:44 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000205) 08/10/2018 10:09:53 - xxxxxxx (xx.xx.xxx.xx)> 421 Connection timed out.
        (000205) 08/10/2018 10:09:53 - xxxxxxx (xx.xx.xxx.xx)> disconnected.
        (000206) 08/10/2018 10:10:45 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000206) 08/10/2018 10:10:45 - (not logged in) (xx.xx.xxx.xx)> disconnected.
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000207) 08/10/2018 10:12:47 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000207) 08/10/2018 10:13:48 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000207) 08/10/2018 10:13:48 - (not logged in) (xx.xx.xxx.xx)> disconnected.
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000208) 08/10/2018 10:22:02 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000208) 08/10/2018 10:23:03 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000208) 08/10/2018 10:23:03 - (not logged in) (xx.xx.xxx.xx)> disconnected.
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> TLS connection established
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> USER xxxxxxx
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> 331 Password required for xxxxxxx
        (000209) 08/10/2018 10:23:08 - (not logged in) (xx.xx.xxx.xx)> PASS **********
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> 230 Logged on
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> PBSZ 0
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> 200 PBSZ=0
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> PROT P
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> 200 Protection level set to P
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> PWD
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> 257 "/" is current directory.
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> TYPE I
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> 200 Type set to I
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> PASV
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> 227 Entering Passive Mode (176,28,123,218,175,201)
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> MLSD
        (000209) 08/10/2018 10:23:08 - xxxxxxx (xx.xx.xxx.xx)> 150 Opening data channel for directory listing of "/"
        (000209) 08/10/2018 10:23:09 - xxxxxxx (xx.xx.xxx.xx)> TLS connection for data connection established
        (000209) 08/10/2018 10:23:09 - xxxxxxx (xx.xx.xxx.xx)> 226 Successfully transferred "/"
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000210) 08/10/2018 10:24:18 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000209) 08/10/2018 10:25:09 - xxxxxxx (xx.xx.xxx.xx)> 421 Connection timed out.
        (000209) 08/10/2018 10:25:09 - xxxxxxx (xx.xx.xxx.xx)> disconnected.
        (000210) 08/10/2018 10:25:19 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000210) 08/10/2018 10:25:19 - (not logged in) (xx.xx.xxx.xx)> disconnected.
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000211) 08/10/2018 10:26:52 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000211) 08/10/2018 10:27:53 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000211) 08/10/2018 10:27:53 - (not logged in) (xx.xx.xxx.xx)> disconnected.
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> TLS connection established
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> USER xxxxxxx
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> 331 Password required for xxxxxxx
        (000215) 08/10/2018 10:37:04 - (not logged in) (xx.xx.xxx.xx)> PASS **********
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> 230 Logged on
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> PBSZ 0
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> 200 PBSZ=0
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> PROT P
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> 200 Protection level set to P
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> PWD
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> 257 "/" is current directory.
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> TYPE I
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> 200 Type set to I
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> PASV
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> 227 Entering Passive Mode (176,28,123,218,175,201)
        (000215) 08/10/2018 10:37:04 - xxxxxxx (xx.xx.xxx.xx)> MLSD
        (000215) 08/10/2018 10:37:05 - xxxxxxx (xx.xx.xxx.xx)> 150 Opening data channel for directory listing of "/"
        (000215) 08/10/2018 10:37:05 - xxxxxxx (xx.xx.xxx.xx)> TLS connection for data connection established
        (000215) 08/10/2018 10:37:05 - xxxxxxx (xx.xx.xxx.xx)> 226 Successfully transferred "/"
        (000215) 08/10/2018 10:37:15 - xxxxxxx (xx.xx.xxx.xx)> disconnected.
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000216) 08/10/2018 10:41:03 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000216) 08/10/2018 10:42:04 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000216) 08/10/2018 10:42:04 - (not logged in) (xx.xx.xxx.xx)> disconnected.
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> Connected on port XXX, sending welcome message...
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> 220-ATENCION:
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000217) 08/10/2018 10:42:31 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000217) 08/10/2018 10:43:31 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000217) 08/10/2018 10:43:31 - (not logged in) (xx.xx.xxx.xx)> disconnected.
        (000219) 08/10/2018 10:54:42 - (not logged in) (xx.xx.xxx.xx)> 
        (000221) 08/10/2018 10:56:01 - (not logged in) (xx.xx.xxx.xx)> 220-Los ficheros alojados en este servidor pueden contener información
        (000221) 08/10/2018 10:56:01 - (not logged in) (xx.xx.xxx.xx)> 220-confidencial propiedad de xxxxxx xxxxxxxxxx S.A.
        (000221) 08/10/2018 10:56:01 - (not logged in) (xx.xx.xxx.xx)> 220-La información y los ficheros son solo accesibles a personas y empresas
        (000221) 08/10/2018 10:56:01 - (not logged in) (xx.xx.xxx.xx)> 220-autorizadas.
        (000221) 08/10/2018 10:56:01 - (not logged in) (xx.xx.xxx.xx)> 220-Todos los accesos no autorizados, la copia o distribución de cualquier
        (000221) 08/10/2018 10:56:01 - (not logged in) (xx.xx.xxx.xx)> 220 información seran perseguidas.
        (000218) 08/10/2018 10:56:17 - xxxxxxx (xx.xx.xxx.xx)> 421 Connection timed out.
        (000218) 08/10/2018 10:56:17 - xxxxxxx (xx.xx.xxx.xx)> disconnected.
        (000221) 08/10/2018 10:57:01 - (not logged in) (xx.xx.xxx.xx)> 421 Login time exceeded. Closing control connection.
        (000221) 08/10/2018 10:57:01 - (not logged in) (xx.xx.xxx.xx)> disconnected.

感谢您的帮助

/ **************更新*********************************** ** /

我尝试了Martin Prikry附加的链接。现在,我可以连接到服务器了,但是使用各种SSL协议变体在控制台输出时出现错误。我附加了代码和控制台的输出。

import ftplib
import socket
import ssl
FTP_TLS = ftplib.FTP_TLS

class FTP(FTP_TLS):
    '''
    PROTOCOL_SSLv2
    PROTOCOL_SSLv3
    PROTOCOL_SSLv23
    PROTOCOL_TLS
    PROTOCOL_TLSv1
    PROTOCOL_TLSv1_1
    PROTOCOL_TLSv1_2
    '''
    def __init__(self):
        cf = configFile()
        self.host = cf.host
        self.user = cf.user
        self.passwd = cf.passwd
        self.acct = cf.acct
        self.keyfile = cf.keyfile
        self.certfile = cf.certfile
        self.context = cf.context
        self.timeout = cf.timeout
        self.ssl_version = cf.ssl_version


        FTP_TLS.__init__(self, self.host, self.user, self.passwd, self.acct, self.keyfile, self.certfile,
                         self.context, self.timeout)

    def ftpConnect(self, host, port, timeout):
        print "Establishing ftp connection to host:", host + "port:", port
        if host != '':
            self.host = host
        if port > 0:
            self.port = port
        if timeout != -999:
            self.timeout = timeout
        try:
            self.sock = socket.create_connection((self.host, self.port), self.timeout)
            print "Socket created for host:", self.host
            self.af = self.sock.family
            self.sock = ssl.wrap_socket(self.sock, self.keyfile, self.certfile, ssl_version=self.ssl_version)
            self.file = self.sock.makefile('rb')
            self.welcome = self.getresp()
        except Exception as e:
            print "Couldn't establish FTP connection: ",e

        print "Connected to the server: ", self.host
        return self.welcome

    def makepasv(self):
        print self.port  # <---Show passively assigned port
        print self.host  # <---Show the non-routable, passively assigned IP
        host, port = FTP_TLS.makepasv(self)
        host = socket.gethostbyname(
            self.host)  # <---- This changes the host back to the original IP that was used for the connection
        print 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
        print host  # <----Showing the original IP
        return host, port

    def ftpLogin(self, user, passwd):

        try:
            print "Trying to login, user:", self.user
            FTP_TLS.login(self, user, passwd)
        except Exception as e:
            print "Autothentification failed, don't forget verify your credentials: ", e
        print "Succesfull Authentificacion"


def main():

    cf = configFile()
    ftp = FTP()
    ftp.ftpConnect(cf.host, cf.port, cf.timeout)
    ftp.ftpLogin(cf.user, cf.passwd)
    ftp.prot_p()
    ftp.retrlines('LIST')
    ftp.quit()

if __name__ == '__main__':
    main()   

控制台输出:

Establishing ftp connection to host: ************ port: 990
Socket created for host: ************
Connected to the server:  ************
Trying to login, user: ********
Succesfull Authentificacion
990
************
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
************
Traceback (most recent call last):
  File "C:/GitRepositories/Elipsos-Renfe_GA/ftpConnection.py", line 110, in <module>
    main()
  File "C:/GitRepositories/Elipsos-Renfe_GA/ftpConnection.py", line 106, in main
    ftp.retrlines('LIST')
  File "C:\Python27\Lib\ftplib.py", line 747, in retrlines
    conn = self.transfercmd(cmd)
  File "C:\Python27\Lib\ftplib.py", line 378, in transfercmd
    return self.ntransfercmd(cmd, rest)[0]
  File "C:\Python27\Lib\ftplib.py", line 725, in ntransfercmd
    server_hostname=self.host)
  File "C:\Python27\Lib\ssl.py", line 369, in wrap_socket
    _context=self)
  File "C:\Python27\Lib\ssl.py", line 617, in __init__
    self.do_handshake()
  File "C:\Python27\Lib\ssl.py", line 846, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:726)

0 个答案:

没有答案