Forum: PC-Programmierung Unterschiedliche ftp-Befehle bei Unix / Windows Servern ?


von debugger (Gast)


Lesenswert?

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" ?

von Michael H. (michael_h45)


Lesenswert?

Dafür gibts es den Befehl FEAT. Dessen Antwort (211 - Informal) musst du 
auswerten.

von debugger (Gast)


Lesenswert?

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.

von debugger (Gast)


Lesenswert?

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

von debugger (Gast)


Lesenswert?

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

von Klaus T. (gauchi)


Lesenswert?

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?

von Bernd H. (geeky)


Lesenswert?

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.)

von debugger (Gast)


Lesenswert?

Ja, so scheint es zu sein : Das Kommadozeilen-ftp-tool von WinXP hat 
eine andere Befehlssyntax als der ftp-Server selbst.

von Andreas D. (rackandboneman)


Lesenswert?

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!

von Michael H. (michael_h45)


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.