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 Upload (Client-->Server) benutzt werden. Es ist in RFC 959 definiert. Im Gegensatz zu dem sftp werden alle Daten also auch das Kennwort unverschlüsselt übertragen.
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 Übertragungsmodi. In beiden Fällen initiiert der Client Port 21 des FTP-Servers die Verbindung:
Beim Aktiv Mode beginnt der Server auf Port 20 Datenverbindung zum Client (Port > 1023) hin
Beim Passiv Mode beginnt der Client eine Datenverbindung zum hin aufzubauen. Auf beiden Seiten wird ein > 1023 benutzt. Der Port 20 wird diesem Fall nicht gebraucht.
Der Vorteil des weitverbreiteten und standardisierten ist dass Computer trotz komplett verschiedener Betriebssysteme etwa Unix und Windows untereinander Dateien austauschen können. Ein Nachteil dass Passwörter und sonstige Daten unverschlüsselt also Klartext übermittelt werden.
Viele FTP-Server erlauben so genanntes "anonymous ftp" . Das heißt Benutzer brauchen kein Benutzerkonto auf dem Server sondern sie können durch einfaches Eingeben ihrer E-Mail -Adresse als Passwort auf dem Server einloggen.
Die gebräuchlichsten Kommandos des Kommandozeilenprogramms "ftp" FTP auf der Client-Seite versteht. (Bei einem FTP Programm funktioniert die Bedienung auf Klick .)
Befehl
Beschreibung
open
Öffnet eine Verbindung zum Server
user
Definiert den User der sich einloggen Fast immer kann hier anonymous angegeben werden um eine anonyme Verbindung Da der User in diesem Fall dem nicht bekannt ist hat er normalerweise auch all Rechte und kann zum Beispiel nur bestimmte Verzeichnisse zugreifen. Diese Art der Verbindung als Anonymous-ftp bezeichnet.
close
Beendet eine Verbindung zum Server.
cd
Wechselt in ein anderes Verzeichnis auf ftp-Server. Statt "\" wie unter DOS und wird als Trennzeichen der normale Schrägstrich "/" verwendet.
list
Fordert das Ergebnis eines Verzeichnisdurchsuchung auf. können auch das zu durchsuchende Verzeichnis und Suchmuster angegeben werden.
get
Kopiert eine Datei vom Server auf lokalen Rechner. Das Kopieren funktioniert aber nur man Leserechte auf dem Server hat.
put
Kopiert eine Datei vom lokalen Rechner den Server. Funktioniert aber nur wenn man auf dem Server hat. Viele Server stellen diesen Zweck ein incoming-Verzeichnis zur Verfügung in Dateien abgelegt werden dürfen.
mget
Kopiert eine oder mehrere Dateien vom auf den lokalen Rechner. Vor jedem Kopiervorgang die Datei angezeigt und der Anwender gefragt diese übertragen werden soll. Dies kann man dem ftp-Kommando "prompt" ab- und anschalten. Das funktioniert aber nur wenn man Leserechte auf Server hat.
mput
Kopiert eine oder mehrere Dateien vom Rechner auf den Server. Vor jedem Kopiervorgang die Datei angezeigt und der Anwender gefragt diese übertragen werden soll. Dies kann man dem ftp-Kommando "prompt" ab- und anschalten. Das funktioniert aber nur wenn man Schreibrechte auf Server hat. Viele Server stellen für diesen ein incoming-Verzeichnis zur Verfügung in das Dateien werden dürfen.
prompt
Damit kann man die Rückfragen bei Kommandos mget und mput an- oder abschalten.
mkdir
Erzeugt ein neues Verzeichnis auf dem
delete
Löscht eine Datei auf dem Server.
mdelete
Löscht mehrere Dateien über eine Maske
rename
Mit dieser Funktion können Dateien und auf dem Server umbenannt werden.