File Transfer Protocol
Anwendung | FTP | |||
Transport | TCP | |||
Netzwerk | IP | |||
Netzzugang | Ethernet | Token Ring |
FDDI | ... |
FTP steht für File Transfer Protocol, was im Deutschen in etwa Dateiübertragungsverfahren bedeutet.
Allgemeines
Dieses Netzwerk-Protokoll wird benutzt, um Dateien in TCP/IP-Netzwerken zwischen einem Server und einem FTP Client auszutauschen (Download (Server-->Client)). Das Protokoll kann aber auch zum Upload (Client-->Server) benutzt werden. Es ist in RFC 959 definiert. Im Gegensatz zu dem Protokoll sftp werden alle Daten, also auch das Kennwort, unverschlüsselt übertragen. FTP ist der Nachfolger des TFTP Protokolls.
FTP benutzt zwei Ports, nämlich den data-Port 20 zur Datenübertragung und den command- oder control-Port 21 zur Befehlsübertragung. Es kennt zwei unterschiedliche Übertragungsmodi. In beiden Fällen initiiert der Client auf Port 21 des FTP-Servers die Verbindung:
- Beim Aktiv Mode beginnt der Server auf Port 20 eine Datenverbindung zum Client (Port > 1023) hin aufzubauen.
- Beim Passiv Mode beginnt der Client eine Datenverbindung zum Server hin aufzubauen. Auf beiden Seiten wird ein Port > 1023 benutzt. Der Port 20 wird in diesem Fall nicht gebraucht.
Der Vorteil des weitverbreiteten und standardisierten FTP-Protokolls ist, dass Computer trotz komplett verschiedener Betriebssysteme, wie etwa Unix und Windows, untereinander Dateien austauschen können. Ein Nachteil ist, dass Passwörter und sonstige Daten unverschlüsselt, also in Klartext übermittelt werden.
Viele FTP-Server erlauben so genanntes "anonymous ftp". Das heißt, Benutzer brauchen kein Benutzerkonto auf dem Server. Als Benutzername muss anonymous eingegeben werden, als Passwort ist eine beliebige Eingabe möglich.
Beispiele für FTP-Clients:
- Unter Unix
- Kommandozeilenversion:
ftp
hostname oder IP-Adresse - kbear
- AxY FTP
- gFTP (Gnome)
- Kommandozeilenversion:
- Unter Mac OS X
- Kommandozeilenversion:
ftp
hostname oder IP-Adresse - Fetch
- Transmit
- Captain FTP
- Interarchie
- Kommandozeilenversion:
Fast alle Webbrowser haben ebenfalls FTP implementiert und können als Clients für den Download von Dateien benutzt werden. Beispiel-URL für FTP: ftp://ftp.rfc-editor.org/
Der Benutzername und das Passwort können auch direkt in die URL eingebaut werden: ftp://login:password@ftp.rfc-editor.org
Die gebräuchlichsten ftp-Kommandos
Die gebräuchlichsten Kommandos des Kommandozeilenprogramms "ftp", welches FTP auf der Client-Seite versteht. (Bei einem grafischen FTP Programm funktioniert die Bedienung auf Klick.)
Befehl | Beschreibung |
open | Öffnet eine Verbindung zum Server |
user | Definiert den User, der sich einloggen will. Fast immer kann hier anonymous angegeben werden, um eine anonyme Verbindung herzustellen. Da der User in diesem Fall dem Server nicht bekannt ist, hat er normalerweise auch nicht alle Rechte und kann zum Beispiel nur auf bestimmte Verzeichnisse zugreifen. Als Passwort ist hier eine beliebige Eingabe möglich.Diese Art der Verbindung wird als Anonymous-ftp bezeichnet. |
close | Beendet eine Verbindung zum Server. |
cd | Wechselt in ein anderes Verzeichnis auf dem ftp-Server. Statt "\" wie unter DOS und Windows wird als Trennzeichen der normale Schrägstrich "/" (Unix-Konvention) verwendet. |
lcd | Wechselt in ein anderes Verzeichnis auf dem Lokalen System. |
list | Fordert das Ergebnis eines Verzeichnisdurchsuchung auf. Es können auch das zu durchsuchende Verzeichnis und ein Suchmuster angegeben werden. |
get | Kopiert eine Datei vom Server auf den lokalen Rechner. Das Kopieren funktioniert aber nur, wenn man Leserechte auf dem Server hat. |
put | Kopiert eine Datei vom lokalen Rechner auf den Server. Funktioniert aber nur, wenn man Schreibrechte auf dem Server hat. Viele Server stellen für diesen Zweck ein incoming-Verzeichnis zur Verfügung, in das Dateien abgelegt werden dürfen. |
mget | Kopiert eine oder mehrere Dateien vom Server auf den lokalen Rechner. Vor jedem Kopiervorgang wird die Datei angezeigt und der Anwender gefragt, ob diese übertragen werden soll. Dies kann man mit dem ftp-Kommando "prompt" ab- und anschalten. Das Kopieren funktioniert aber nur, wenn man Leserechte auf dem Server hat. |
mput | Kopiert eine oder mehrere Dateien vom lokalen Rechner auf den Server. Vor jedem Kopiervorgang wird die Datei angezeigt und der Anwender gefragt, ob diese übertragen werden soll. Dies kann man mit dem ftp-Kommando "prompt" ab- und anschalten.
Das Kopieren funktioniert aber nur, wenn man Schreibrechte auf dem Server hat. Viele Server stellen für diesen Zweck ein incoming-Verzeichnis zur Verfügung, in das Dateien abgelegt werden dürfen. |
prompt | Damit kann man die Rückfragen bei dem Kommandos mget und mput an- oder abschalten. |
mkdir | Erzeugt ein neues Verzeichnis auf dem Server |
delete | Löscht eine Datei auf dem Server. |
mdelete | Löscht mehrere Dateien über eine Maske |
rename | Mit dieser Funktion können Dateien und Verzeichnisse auf dem Server umbenannt werden. |