Hallo, ich versuche gerade den GPRS-Zugang auf einen ftp-Server zu programmieren. Beim Test von einigen Kommandos über normales Internet und die Kommandozeilenversion eines Windows XP Systems musste ich feststellen, dass z.B. der Befehl "LIST" nicht unterstützt wird, wohl aber der Befehl "ls". Ausserdem werden z.B. auch die Befehle "PASV", "STOR" und "STOU" nicht akzeptiert, für die kenne ich aber die Alternativen nicht (falls essolche überhaupt gibt). Beim verwendeten ftp-Server handelt es sich ebenfalls um einen Windows-Server. Ist es wirklich so, dass Unix- und Windows- ftp-Server auch bei den Basis-Befehlen eine unterschiedliche Syntax haben, und was wären ggf. die Synonyme für "PASV", "STOR" und "STOU" ?
Dafür gibts es den Befehl FEAT. Dessen Antwort (211 - Informal) musst du auswerten.
Bei der Eingabe von "FEAT" (ohne Anführungszeichen) kommt auch die Antwort "ungültiger Befehl" Soweit ich weiss handelt es sich um einen Filezilla-ftp-Server der dort auf einem XP-System läuft.
Die Eingabe von "?" im Prompt spuckt diese Liste aus : !, ?, append, ascii, bell, binary, bye, cd, close, delete, debug, dir, disconnect, get, glob, hash, help, lcd, literal, ls , mdelete, mdir, mget, mkdir, mls, mput, open, prompt, put, pwd, quit, quote, recv, remotehelp, rename, rmdir, send, status, trace, type, user, verbose
Bei der Eingabe von Remotehelp wird folgendes angezeigt : (die Befehle werden aber als ungültig abgelehnt) ftp> remotehelp 214-The following commands are recognized(* ==>´s unimplemented). ABOR, ACCT, ALLO, APPE, CDUP, CWD, DELE, HELP, LIST, MDTM, MKD, MODE, NLST, NOOP, PASS, PASV, PORT, PWD, QUIT, REIN, REST, RETR, RMD, RNFR, RNTO, SITE, SIZE, SMNT, STAT, STOR, STOV, STRV, SYST, TYPE, USER, XCUP, XCWD, XMKD, XPWD, XRMD214 HELP command successful
Bist du sicher, dass du gerade nicht die Befehle an dein Kommandozeilenprogramm (z.B. ls, aber auch dir) mit dem Befehl, den dieses dann an den Server schickt (LIST) verwechselst?
Filezilla kann auf jedenfall STOR, PASV und FEAT. Du verwendest da scheinbar das "ftp" Kommandozeilen-Tool des jeweiligen Betriebssystems und dessen Befehle müssen nicht mit den FTP-Commands übereinstimmen, da es die eigenen Befehle in FTP-Befehle umsetzt. (z.B. "put" zum Datei hochschieben, wird zu PORT/PASV, STOR, etc.)
Ja, so scheint es zu sein : Das Kommadozeilen-ftp-tool von WinXP hat eine andere Befehlssyntax als der ftp-Server selbst.
Das ist bei den Un*x-Clients genauso. Apropos Windows-FTP-Clients: Es gibt auch einige bei denen man besser explizit BINARY angeben sollte weil das nicht die Standardeinstellung ist!
das ist bei JEDEM client-server-system so.......... wenn ich keinen client will und direkt mit dem server reden will, nehme ich telnet. schmeiß doch bitte nicht mit besserwisserischen begriffen um dich, wenn du selbst den hintergrund nicht verstanden hast.
Andy D. schrieb: > Das ist bei den Un*x-Clients genauso. Richtig:
1 | $ ftp ftp.de.freebsd.org |
2 | Trying 213.83.42.56... |
3 | Connected to ftp.plusline.net. |
4 | 220 ProFTPD 1.3.1 Server (FTP Plus.line AG) [::ffff:213.83.42.56] |
5 | Name (ftp.de.freebsd.org:j): ftp |
6 | 331 Anonymous login ok, send your complete email address as your password |
7 | Password: |
8 | 230-PUBLIC FTP MIRROR |
9 | 230- |
10 | 230-FTP-Service available via IPv6, |
11 | 230-use ftpv6.plusline.net for testing. |
12 | 230- |
13 | 230-Plus.Line AG |
14 | 230-http://www.plusline.net |
15 | 230-Frankfurt a. M. |
16 | 230-Germany |
17 | 230- |
18 | 230 Anonymous access granted, restrictions apply |
19 | Remote system type is UNIX. |
20 | Using binary mode to transfer files. |
21 | ftp> list |
22 | ?Invalid command. |
23 | ftp> ls |
24 | 229 Entering Extended Passive Mode (|||51644|) |
25 | 150 Opening ASCII mode data connection for file list |
26 | drwx------ 2 ftp ftp 4096 Jul 6 2011 lost+found |
27 | drwxr-xr-x 17 ftp ftp 4096 Nov 21 18:05 pub |
28 | drwx------ 3 ftp ftp 4096 Mar 1 2011 tmp |
29 | drwxr-xr-x 2 ftp ftp 4096 Oct 18 16:55 vci-temp |
30 | -rw-r--r-- 1 ftp ftp 150 May 29 2009 welcome.msg |
31 | 226 Transfer complete |
Um Kommandos 1:1 an die Gegenseite zu schicken, gibt es das (lokale) Kommando `quote':
1 | ftp> quote pwd |
2 | 257 "/" is the current directory |
Aber: LIST kann man damit nicht (sinnvoll) benutzen, denn es benötigt eine Datenverbindung:
1 | ftp> quote list |
2 | 425 Unable to build data connection: Invalid argument |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.