
|
|
FTP (File Transfer Protocol)
FTP steht für "File Transfer Protocol". Es ist ein grundlegendes Protokoll zur
Übertragung von Dateien vom Client zum Server (upload) oder umgekehrt (download).
Ein klassischer FTP-Client arbeitet mit einer Textschnittstelle. Er verbindet
sich zunächst mit Port 21 des angewählten Servers und erhält von diesem einen
Text mit einer Login-Anforderung geschickt. Der Client zeigt diese dem Benutzer
an. Dieser gibt daraufhin sein Benutzerkürzel ein, woraufhin noch das Passwort
abgefragt wird. Soweit funktioniert der FTP-Client noch wie ein Telnet-Client,
wobei jedoch auf eine Terminal-Emulation verzichtet wird.
Nach der Anmeldung erhält der Benutzer eine rudimentäre Befehlsschnittstelle, die
direkt vom FTP-Server bereitgestellt wird. Zudem wird als aktuelles Verzeichnis
das Heimverzeichnis des angemeldeten Benutzers gesetzt.
Die wichtigsten Befehle sind:
| cd <pfad> | Verzeichnis wechseln |
| mkdir <name> | Verzeichnis erstellen |
| pwd | aktuellen Pfad anzeigen |
| dir | Verzeichnisinhalt anzeigen |
Jeder Befehl wird mit einer dreiziffrigen Statusnummer, meist mit beschreibendem
Text dazu, quittiert. Ein CD-Befehl führt z.B. normalerweise zur Rückmeldung
"200 Port Command Successful".
Zur Datenübertragung dienen folgende Befehle:
| get <name> | Datei vom Server holen |
| mget <name> | mehrere Dateien vom Server holen. Der Name darf
Wildcards enthalten |
| put <name> | Datei zum Server hochladen |
| mput <name> | mehrere Dateien zum Server hochladen |
| prompt | Einzelbestätigung bei mput und mget abschalten |
| bin | Auf binäre Übertragung umschalten |
Normalerweise versucht FTP bei einer zu übertragenden Datei selbständig eine
Konvertierung vom Quell- zum Zielbetriebssystem vorzunehmen, z.B. im Bezug auf
die Zeilentrennzeichen (CR+LF bei Windows, CR beim Mac, LF bei Unix) oder
Umlaute. Bei Binärdateien, z.B. Bildern oder Programmen wird dadurch die Datei
zuverlässig zerstört. Deswegen darf der Befehl "bin" bei der Übertragung von
Binärdateien nie vergessen werden!
Für die eigentliche Datenübertragung wird bei FTP pro übertragener Datei eine
eigene TCP-Verbindung aufgebaut. Dies erledigt normalerweise der FTP-Server.
Problematisch ist dies jedoch bei Clients, die sich hinter einer Firewall
befinden. Diese kann nämlich unter Umständen die von außen kommende
Verbindungsanforderung nicht zuordnen und weist sie ab. Deswegen wurde im Zuge
der Entwicklung der WWW-Browser der sogenannte "Passiv-Modus" eingeführt, bei
dem der Client auch die Datenverbindung initiiert.
Unter Windows nutzt man meist nicht mehr den kommandozeilenorientierten
FTP-Client (obwohl er sich im MS-DOS-Fenster jederzeit mit "ftp "
aufrufen ließe), sondern ein Programm, das eine grafische Oberfläche ähnlich
dem Dateimanager oder Windows Explorer präsentiert. Hinter den Kulissen läuft
dabei aber das ganz normale FTP-Protokoll ab. Auch die WWW-Browser können mit
dem FTP-Protokoll umgehen. Durch Eingabe einer URL in der Form
"ftp://ftp.domain.tld/pfad/dateiname" wird eine Datei direkt im Passiv-Modus
von einem FTP-Server heruntergeladen. Dabei wird als Benutzername "anonymous"
angegeben. Als Passwort sollte man dann normalerweise die E-Mail-Adresse
angeben. Die Browser tun dies jedoch typischerweise nicht, da es serverseitig
auch nicht überprüft wird und man so die unkontrollierte Weitergabe der
E-Mail-Adresse vermeidet. Der Login als "anonymous" ist im FTP-Protokoll
vorgesehen. Der Administrator muss dies serverseitig jedoch zulassen und kann
dann entsprechende Zugriffsrechte vergeben, damit anonyme Benutzer kein Unheil
anrichten können.
|
|