FTP-Server über SOCKS5-Proxy können nur mit Firefox gelistet werden, keine FTP-Clients

2814
jolivier

Ich versuche, einen Ordner von einem FTP-Server abzurufen, zu dem ich mich über einen SOCKS5-Proxy (ssh -D) verbinde. Bei der Konfiguration von Firefox (v20, v22) für die Verwendung des SOCKS5-Proxys kann ich den Inhalt des FTP-Servers problemlos untersuchen. Was ich jedoch herunterladen muss, ist ein Ordner mit viel Inhalt und die Firefox-Benutzeroberfläche bietet nur das Herunterladen einzelner Dateien, was in dieser Situation schmerzhaft ist. Also versuche ich mich mit dem FTP-Server mit FileZilla im passiven Modus zu verbinden und alles funktioniert einwandfrei, bis FileZilla den MLSD-Befehl ausgibt. An diesem Punkt antwortet der FTP-Server nicht.

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 

Firefox mit Wireshark schnüffeln erzählte mir, dass Firefox LIST anstelle von MLSD als ersten Befehl verwendet, aber ich konnte keinen dedizierten FTP-Client-Sniffer finden, der mir eine klare Liste der von Firefox verwendeten Befehle gibt und ich weiß nicht, was ich in Wireshark sehen soll.

Irgendwelche Ideen, wie man filezilla zum Laufen bringt? Worauf sollten wir in Wireshark achten, um den Unterschied im Verhalten von Firefox und Filezilla zu verstehen?

(Ich bin kein Administrator des FTP-Servers, daher kann ich seine Protokolle nicht sehen / seine Konfiguration nicht ändern. Dieser FTP-Server befindet sich in demselben Subnetzwerk wie der Computer, in den ich ssh -D verwendet.

0

1 Antwort auf die Frage

0
Shi

Sie sollten prüfen, ob Firefox den aktiven Modus ( PORT) oder den passiven Modus ( PASV) verwendet. Es sollte PASVso gut sein, als wenn PORTverwendet wird, die Datenverbindung wird wahrscheinlich außerhalb der Proxy-Verbindung hergestellt.

In dem angegebenen Beispiel hat der Server / Proxy geantwortet, PASVmit X,224,74dem übersetzt wird X:57418(224 * 256 + 74). Sie sollten überprüfen, ob die Verbindung über den Proxy ordnungsgemäß weitergeleitet wurde. Sie sollten daher eine Verbindungsanfrage an X, Port 57418, vom anderen Ende des Proxy / Tunnels sehen. Sie können dies auch überprüfen tcpdump.

Der einzige Unterschied zwischen LISTund MLSDist die Formatierung der Verzeichnisliste. LISTIm Grunde ist Freiformtext ein schwieriger zu analysieren, während MLSDes ein klar definiertes Format ist, das für das maschinelle Parsen geeignet ist.

Ich habe einen lokalen Test durchgeführt, indem ich ssh -D 12345 localhosteinen generischen Proxy auf dem localhostPort 12345in FileZilla 3.5.3 (ziemlich alte Version) ausgeführt und konfiguriert habe . Verbinden mit ftp.kernel.orgeinfach funktioniert.

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