Kein delete oder rename bei FTP via HTTP-proxy
Moderators: Hacker, Stefan2, white
Kein delete oder rename bei FTP via HTTP-proxy
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?
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?
- ghisler(Author)
- Site Admin
- Posts: 50873
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Hmm, das sollte eigentlich gar nicht möglich sein, es gibt da keine Befehle, die das ermöglichen würden!Mit Core-FTP funktioniert löschen und umbenennen über den gleichen Proxy problemlos.
Was erscheint denn in der Logdatei von Core-FTP?
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
los gehts mit...
File löschen:
File umbenennen:
-------------------
Einstellungen bei Core FTP Lite sind:
PASV
Use Proxy
Proxy: HTTP1.1, 172.16.1.51 Port 3128
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
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.
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
- ghisler(Author)
- Site Admin
- Posts: 50873
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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
GET /dur/file.html HTTP/1.0
oder
DELETE /dur/file.html HTTP/1.0
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
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:
Core FTP logged dazu folgendes:
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 hinterher schicke bekomme ich die Antwort vom FTP-Server. Die FTP Verbindung steht.
Besteht diese Möglichkeit des Verbindungsaufbaus auch bei TC?
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.
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
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
Besteht diese Möglichkeit des Verbindungsaufbaus auch bei TC?
- ghisler(Author)
- Site Admin
- Posts: 50873
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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...
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
https://www.ghisler.com
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.
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.
- ghisler(Author)
- Site Admin
- Posts: 50873
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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
https://www.ghisler.com
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]).

- ghisler(Author)
- Site Admin
- Posts: 50873
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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
https://www.ghisler.com
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
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

- ghisler(Author)
- Site Admin
- Posts: 50873
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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
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
- ghisler(Author)
- Site Admin
- Posts: 50873
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
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
https://www.ghisler.com