Kein delete oder rename bei FTP via HTTP-proxy

German support forum

Moderators: Hacker, Stefan2, white

User avatar
vogon
Junior Member
Junior Member
Posts: 6
Joined: 2004-11-08, 17:02 UTC
Location: Utting am Ammersee
Contact:

Kein delete oder rename bei FTP via HTTP-proxy

Post by *vogon »

Hallo,

ich habe ein kleines Problem.
Der TC-FTP (6.03a) Client erlaubt mir nur Senden und empfangen von Dateien, nicht aber das umbenennen oder löschen. (Fehler HTTP/1.0 501 Not Implemented)

Die Verbindung läuft über einen HTTP Proxy (Squid unter Linux), Einstellung HTTP Proxy mit FTP-Unterstützung, Passiver Modus für Transfer.
Mit Core-FTP funktioniert löschen und umbenennen über den gleichen Proxy problemlos.

Was muß ich bei TC einstellen, oder werden diese Befehle bei der Art Proxy nicht unterstützt?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Mit Core-FTP funktioniert löschen und umbenennen über den gleichen Proxy problemlos.
Hmm, das sollte eigentlich gar nicht möglich sein, es gibt da keine Befehle, die das ermöglichen würden!

Was erscheint denn in der Logdatei von Core-FTP?
Author of Total Commander
https://www.ghisler.com
User avatar
vogon
Junior Member
Junior Member
Posts: 6
Joined: 2004-11-08, 17:02 UTC
Location: Utting am Ammersee
Contact:

Post by *vogon »

los gehts mit...

Code: Select all

Resolving www.ammerseepage.de, via proxy ...  
Connect socket #512 to 172.16.1.51, port 3128 (to 21)...
220 Speak friend, and enter 
File löschen:

Code: Select all

DELE treeinfo.wc  
250 File removed.  
PASV  
227 Entering Passive Mode (192,67,198,54,204,21).  
LIST  
Connect socket #488 to 172.16.1.51, port 3128 (to 52245)...
150 Opening ASCII mode data connection.  
226 Transfer complete. Closing data connection.  
File umbenennen:

Code: Select all

RNFR /pics/soba30/_del_p021.jpg  
350 Awaiting destination name.  
RNTO /pics/soba30/_del_p021_test.jpg  
250 File renamed.

-------------------
Einstellungen bei Core FTP Lite sind:
PASV
Use Proxy
Proxy: HTTP1.1, 172.16.1.51 Port 3128
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Das sind keine HTTP-Befehle, sondern FTP - unterstützt der Proxy zufällig noch andere Standards wie Socks4/Socks5 oder echtes FTP? HTTP-Befehle würden so aussehen:

GET /dur/file.html HTTP/1.0
oder
DELETE /dur/file.html HTTP/1.0
Author of Total Commander
https://www.ghisler.com
User avatar
vogon
Junior Member
Junior Member
Posts: 6
Joined: 2004-11-08, 17:02 UTC
Location: Utting am Ammersee
Contact:

Post by *vogon »

Diese Vermutung habe ich auch!
Zumal ich den Stream zwischen meinem PC und dem Proxy gedumpt habe.

Bei FTP mit TC bekomme ich nach GET definitiv eine HTML-Seite zurück.
Mit Core FTP sieht der TCP-Dump folgendermaßen aus:

Code: Select all

CONNECT www.ammerseepage.de:21 HTTP/1.1
Host: www.ammerseepage.de:21
Proxy-Connection: Keep-Alive
HTTP/1.0 200 Connection established
220 Speak friend, and enter
USER ****
331 FTP login okay, send password.
PASS ****
230 User logged in, proceed.
SYST
215 UNIX Type: L8
PWD
257 "/" is current directory.
PASV
227 Entering Passive Mode (192,67,198,54,135,124).
LIST
150 Opening ASCII mode data connection.
226 Transfer complete. Closing data connection.
RNFR /ap_banner1.gif
350 Awaiting destination name.
RNTO /ap_banner1_.gif
250 File renamed.
Core FTP logged dazu folgendes:

Code: Select all

resolving www.ammerseepage.de, via proxy ...  
Connect socket #516 to 172.16.1.51, port 3128 (to 21)...
220 Speak friend, and enter
Sieht sehr nach dirktem FTP aus. Trotzdem ist die Proxy Einstellung bei Core FTP:
HTTP 1.1
Versuche mit der Einstellung FTP-Proxy (Transparent o.ä.) schlugen fehl.

Hab gerade mal versucht mit Telnet die Connection aufzubauen:
Wenn ich den Entsprechenden Port auf dem Proxy mit Telnet connecte und dann die Befehlszeile

Code: Select all

CONNECT www.ammerseepage.de:21 HTTP/1.1
hinterher schicke bekomme ich die Antwort vom FTP-Server. Die FTP Verbindung steht.

Besteht diese Möglichkeit des Verbindungsaufbaus auch bei TC?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Hmm, diese Art des Proxy ist mir vollkommen unbekannt! Kennt jemand die zugehörige RFC (Internet-Standards-Dokument)?

Mich wundert, wie da die Dateidaten übertragen werden, dazu braucht es bei FTP eigentlich noch eine weitere Verbindung...
Author of Total Commander
https://www.ghisler.com
User avatar
vogon
Junior Member
Junior Member
Posts: 6
Joined: 2004-11-08, 17:02 UTC
Location: Utting am Ammersee
Contact:

Post by *vogon »

In der FAQ zum Squid Proxy unter
http://www.squid-cache.org/Doc/FAQ/FAQ-6.html#ss6.9
zu den "Request Methods" findet sich ein Verweis auf RFC 2616.

Dem Listing der möglichen Methoden nach scheint es sich auf jeden Fall um eine neuere Implementierung im HTTP/1.1 Protokoll zu handeln.

Code: Select all

method    defined    cachabil.  meaning
 --------- ---------- ---------- -------------------------------------------
 GET       HTTP/0.9   possibly   object retrieval and simple searches.
 HEAD      HTTP/1.0   possibly   metadata retrieval.
 POST      HTTP/1.0   CC or Exp. submit data (to a program).
 PUT       HTTP/1.1   never      upload data (e.g. to a file).
 DELETE    HTTP/1.1   never      remove resource (e.g. file).
 TRACE     HTTP/1.1   never      appl. layer trace of request route.
 OPTIONS   HTTP/1.1   never      request available comm. options.
 CONNECT   HTTP/1.1r3 never      tunnel SSL connection.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Danke, werd ich mir anschauen - scheint aber für SSL gedacht zu sein, nicht für FTP...
Author of Total Commander
https://www.ghisler.com
User avatar
vogon
Junior Member
Junior Member
Posts: 6
Joined: 2004-11-08, 17:02 UTC
Location: Utting am Ammersee
Contact:

Post by *vogon »

Code: Select all

9.9 CONNECT

   This specification reserves the method name CONNECT for use with a
   proxy that can dynamically switch to being a tunnel (e.g. SSL
   tunneling [44]).
... ich würde sagen FTP-Tunneling wird aber auch nicht explizit ausgeschlossen. :wink:
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Die Frage ist nur, wie man FTP durch einen einzelnen Port tunneln soll - bei SSL ist das vorgesehen, bei FTP braucht es noch zusätzliche Datenverbindungen für die Verzeichnislistings und Dateitransfers...
Author of Total Commander
https://www.ghisler.com
RedCross
Junior Member
Junior Member
Posts: 75
Joined: 2003-09-08, 20:19 UTC

Post by *RedCross »

Die CONNECT Methode leitet genau das 1:1 weiter was sie bekommen hat. Aufbauen tut man die Verbindung mit CONNECT www.ammerseepage.de:21 HTTP/1.1.
Da steht ja drin welchen Port man haben will. In diesem Fall 21. Wenn man jetzt noch den 20 für die Datenverbindung braicht dann öffnet man den einfach mit CONNECT www.ammerseepage.de:20 HTTP/1.1 :-)
Wer sagt denn das man alles über diese eine 21er Verbindung schicken soll/muss :-)
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Ah, verstehe, muss ich mal ausprobieren!
Author of Total Commander
https://www.ghisler.com
ZeDMIN
Junior Member
Junior Member
Posts: 5
Joined: 2005-08-10, 14:19 UTC

Post by *ZeDMIN »

Ist das schon gelöst worden? Stehe nämlich vor demselben Problem: Kann mich wunderbar zu meinem FTP über HTTP-Proxy verbinden, kann aber keine Dateien löschen, da der Befehl DELETE nicht erkannt wird.
Ich schätze das simple Ersetzen von DELETE durch DELE würde in meinem Fall den Fehler beheben. Leider kann man in dieser Konfiguration auch keine Custom-Commands zum FTP senden, oder?

Grüße,
ZeD
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50873
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Nein, der Standard bei HTTP ist DELETE, nicht DELE (so heisst der Befehl bei FTP). DELETE wird leider von fast keinem HTTP-Proxy unterstützt. Eventuell geht ja die zweite HTTP-Verbindungsmöglichkeit (IP-Tunnel via HTTP CONNECT).
Author of Total Commander
https://www.ghisler.com
User avatar
vogon
Junior Member
Junior Member
Posts: 6
Joined: 2004-11-08, 17:02 UTC
Location: Utting am Ammersee
Contact:

Post by *vogon »

Funktioniert mit TC 6.53 sehr gut. :D
(Proxy mit Einstellung HTTP CONNECT)
Besten Dank!
Post Reply