O servidor FTP via SOCKS5 Proxy só pode ser LISTADO com o firefox, sem clientes ftp

0

Eu tento recuperar uma pasta de um servidor FTP ao qual me conecto por meio de um proxy SOCKS5 (ssh -D). Ao configurar o Firefox (v20, v22) para usar o proxy SOCKS5, posso sem problemas explorar o conteúdo do servidor ftp. No entanto, o que eu preciso fazer o download é uma pasta com muito conteúdo e a interface de usuário do Firefox só fornece o download de um único arquivo, o que é doloroso nessa situação. Então eu tento me conectar a este servidor ftp com o filezilla usando o modo passivo e tudo funciona bem até que o filezilla emita o comando MLSD, neste ponto o servidor ftp não responde.

Status: Connecting to XXX through proxy
Status: Connecting to 127.0.0.1:9999...
Status: Connection with proxy established, performing handshake...
Status: Connection established, waiting for welcome message...
Response:   220 ProFTPD 1.3.4a Server (TiNT) [::X]
Command:    USER anonymous
Response:   331 Authentification anonyme OK, envoyez votre adresse de courriel complète comme mot de passe
Command:    PASS **************
Response:   230 Accès anonyme autorisé, application des restrictions
Command:    SYST
Response:   215 UNIX Type: L8
Command:    FEAT
Response:   211-Features:
Response:    LANG fr-FR.UTF-8*;fr-FR
Response:    MDTM
Response:    MFMT
Response:    TVFS
Response:    UTF8
Response:    MFF modify;UNIX.group;UNIX.mode;
Response:    MLST modify*;perm*;size*;type*;unique*;UNIX.group*;UNIX.mode*;UNIX.owner*;
Response:    SITE MKDIR
Response:    SITE RMDIR
Response:    SITE UTIME
Response:    SITE SYMLINK
Response:    REST STREAM
Response:    SITE COPY
Response:    SIZE
Response:   211 Fin
Command:    OPTS UTF8 ON
Response:   200 UTF-8 activé
Status: Connected
Status: Retrieving directory listing...
Command:    CWD Y
Response:   250 Commande CWD exécutée avec succès
Command:    PWD
Response:   257 Y" est le répertoire courant
Command:    TYPE I
Response:   200 Type paramétré à I
Command:    PASV
Response:   227 Entering Passive Mode (X,224,74).
Command:    MLSD
Status: Connecting to 127.0.0.1:9999...
Status: Connection with proxy established, performing handshake...
Error:  Connection timed out
Error:  Failed to retrieve directory listing

Farejar o firefox com o wireshark me disse que o firefox usa LIST em vez de MLSD como primeiro comando, mas não consegui encontrar um sniffer de cliente de ftp dedicado me dando uma lista limpa de comandos usados pelo firefox e não sei o que ver em wireshark .

Alguma idéia de como fazer o filezilla funcionar? Sobre o que procurar no wireshark para tentar entender a diferença de comportamento do firefox e do filezilla?

(Eu não sou um administrador do servidor ftp, então não consigo ver seus logs / alterar sua configuração. Esse servidor ftp está na mesma sub-rede que a máquina em que eu ssh -D.

    
por jolivier 07.07.2013 / 19:24

1 resposta

0

Você deve verificar se o Firefox usa o modo ativo ( PORT ) ou o modo passivo ( PASV ). Deve ser PASV e se PORT for usado, a conexão de dados provavelmente será feita fora da conexão proxy.

No exemplo dado, o servidor / proxy respondeu a PASV com X,224,74 , o que significa X:57418 (224 * 256 + 74). Você deve verificar se a conexão através do proxy está corretamente encaminhada, então você deve ver um pedido de conexão para o X, a porta 57418 da outra extremidade do proxy / túnel - você pode verificar com tcpdump nesse final.

A única diferença entre LIST e MLSD é a formatação da lista de diretórios. LIST é basicamente texto de formato livre que é difícil de analisar, enquanto MLSD é um formato bem definido que é adequado para análise de máquina.

Eu fiz um teste local, executando ssh -D 12345 localhost e configurando um proxy genérico em localhost port 12345 no FileZilla 3.5.3 (versão antiga). Conectar-se a ftp.kernel.org apenas funciona.

Status: Connecting to 127.0.0.1:12345...
Status: Connection with proxy established, performing handshake...
Status: Connection established, waiting for welcome message...
Response:   220 Welcome to kernel.org
Command:    USER anonymous
Response:   331 Please specify the password.
Command:    PASS **************
Response:   230 Login successful.
Command:    SYST
Response:   215 UNIX Type: L8
Command:    FEAT
Response:   211-Features:
Response:    EPRT
Response:    EPSV
Response:    MDTM
Response:    PASV
Response:    REST STREAM
Response:    SIZE
Response:    TVFS
Response:    UTF8
Response:   211 End
Command:    OPTS UTF8 ON
Response:   200 Always in UTF8 mode.
Status: Connected
Status: Retrieving directory listing...
Command:    CWD /pub
Response:   250 Directory successfully changed.
Command:    PWD
Response:   257 "/pub"
Command:    TYPE I
Response:   200 Switching to Binary mode.
Command:    PASV
Response:   227 Entering Passive Mode (198,145,20,140,120,140).
Command:    LIST
Status: Connecting to 127.0.0.1:12345...
Status: Connection with proxy established, performing handshake...
Response:   150 Here comes the directory listing.
Response:   226 Directory send OK.
Status: Directory listing successful
    
por 12.07.2013 / 02:41