FTP (File Transfer Protocol) ist ein Protokoll, das heißt, eine standardisierte Kommunikationssprache zwischen zwei Maschinen, die es Maschinen verschiedenen Typens (oder mit verschiedenen Betriebssystemen), erlaubt, Dateien in ein Netz zu übertragen welches unter TCP/IPfunktioniert.
FTP funktioniert in einer "Client- Server Umgebung", das heißt, dass die entfernte Maschine als Server konfiguriert ist und infolgedessen darauf wartet, dass eine Maschine einen Dienst anfordert. Unter UNIX, wird der Dienst von einem sogenannten Dämonen geleistet, eine kleine Aufgabe die im Hintergrund funktioniert. Der FTP-Dämon heißt ftpd.
Es gibt zahlreiche Clientsoftwares, manche sind in Kontrollleitung, (zum Beispiel der ftp-Befehl, der standardmäßig unter vielen Betriebssystemen implementiert ist), aber die große Mehrheit erlauben die Handhabung von Dateien unter einer Grafik-Schnittstelle (CuteFTP zum Beispiel), wodurch die Übertragungen von Datei benutzerfreundlicher gemacht wird.
Mit dem FTP-Protokoll kann eine Datei auf einmal ausgetauscht werden,, in beiden Richtungen zwischen der Client-Maschine (diejenige, die die Verbindung eingeführt hat, also die anrufende Maschine) und der Server- Maschine (diejenige, die den FTP-Dienst liefert, also die angerufene Maschine). Das FTP-Protokoll erlaubt ebenfalls andere Handlungen, wie die Erstellung und das Löschen von Verzeichnissen (unter Voraussetzung dass diese leer sind), das Auflisten, Löschen und Umbenennen von Dateien, usw.
Die Begriffe Protokoll und Implementierung sind nicht zu verwechseln! Ein Protokoll ist nämlich eine Reihe von Regeln und Verfahren, die definiert worden sind, um die Kommunikation zu standardisieren, während die Implementierung eine Softwareprogrammierung ist, die den Empfehlungen des Protokolls (mehr oder weniger gut) folgt.
So, wurde der Befehl « ftp » schnell unter zahlreichen Plattformen implementiert, das heißt ab den FTP-Protokoll-Spezifizierungen angepasst.
Der « ftp-Befehl » ist standardmäßig unter unterschiedlichen Plattformen verfügbar, darunter UNIX, Windows und Linux. Der Befehl der eine FTP-Sitzung einleitet, ist meist folgender :
ftp Name_des_ Servers
Name_des_Servers stellt den Namen oderdie IP- Adresseder entfernten Maschine dar, an die man sich anschließen möchte. Dafür muss die Ziel-Maschiene natürlich über einen FTP-Dienst verfügen.
Während der Verbindungsinitialisierung erscheint eine gewisse Anzahl von Textzeilen am Bildschild. Die erste Zeile weist darauf hin, dass Sie mit einem FTP-Server verbunden sind, die folgenden Zeilen bilden ein Willkommenswort, das den FTP-Websitestypen angeben kann, um den es sich handelt (z.B. welche Dateienart sie beherbergt oder der Organismus, dem er angehört), oder Empfehlungen für die Benutzer.
Im FTP fängt jede Zeile mit einer Nummer an, die das Fehlschlagen oder den Erfolg einer Operation codiert. Im Falle des Willkommenswortes, gehet der Zeile z.B. die Nummer 220 voraus, was bedeutet, dass der Dienst für den neuen Benutzer bereit steht.
Der Server fordert Sie auf ihren Benutzername einzugeben (auch login oder Benutzeridentifizierunggenannt), um das Zugriffsrechte zu bestimmen (wie das Schreib- oder Leserecht). Nach Validierung, fordert Sie eine Zeile, die mit der Nummer 331 beginnt, auf Ihr Passwort (password) einzugeben, dieses ist verschleiert, das heißt, dass es am Bildschirm nicht erscheint.
Es kann sein, dass der Server öffentlich ist, in diesem Fall kann der Zugriff anonym erfolgen, es wird dann als Login: "anonymous" eingegeben. Auf öffentlichen Servern ist es gebräuchlich, dass der Benutzer seine Emailadresse als Passwort eingibt, aber Sie haben da freie Wahl.
Bei der Validierung des Passworts, gibt eine Meldung an, ob die Verbindung eingerichtet wurde oder nicht, in letzterem Fall werden dafür die Gründe angegeben (die Website kann zum Beispiel ihre Benutzergrenze erreicht haben, in diesem Fall erscheint die Nachricht « No more user access allowed »).
Sobald die Verbindung erstellt ist, erwartet die FTP-Webseite Befehle vom Benutzer, die die Aktionen beschreiben, die vorgenommen werden sollen.
Die üblichen FTP-Befehle sind folgende :
| Befehl | Beschreibung |
|---|---|
| help | Zeigt alle vom FTP-Server ertragenen Befehle an. |
| Status | Erlaubt es, gewisse Parameter der Client-Maschine anzuzeigen |
| binary | Dieser Befehl veranlasst den Übergang vom Modus ASCII (Versand von Textdokumenten)zum binary-Modus (Dateienversand im binären Modus, das heißt, von Dateien die keine Textdateien sind, wie Bilder und Programme) |
| ascii | Geht vom Modus Binary in Ascii über. Dieser Modus ist die Standardeinstellung. |
| Typ | Zeigt den aktuellen Transfermodus (binary oder ascii) an |
| user | Ermöglicht bei laufender FTP Seite, erneut eine Sitzung zu öffnen mit einem unterschiedlichen Benutzernamen. Ein neues Passwort wird angefordert. |
| ls | Erlaubt es die im geöffneten Verzeichnis befindlichen Dateien aufzulisten. Der Befehl "ls -l" zeigt zusätzliche Informationen über diese Dateien an |
| pwd | Zeigt den vollständigen Namen des offenen Verzeichnisses an |
| cd | Dieser Befehl bedeutet change directory, und ermöglicht das laufende Verzeichnis zu wechseln. Der Befehl "cd.." erlaubt zum Verzeichnis der nächst höheren Ebene zu gelangen |
| mkdir | Der Befehl mkdir (unter UNIX, oder md unter dem Microsoft System) erlaubt es einen Ordner in dem geöffneten Ordner zu erstellen. Der Zugang zu diesem Befehl ist Benutzern vorbehalten, die ein entsprechendes Zugriffsrecht besitzen. |
| rmdir | Der Befehl rmdir (unter UNIX, oder rd unter dem Microsoft System) erlaubt das einen Ordner in dem geöffneten Ordner zu löschen. Der Zugang zu diesem Befehl ist für Benutzer vorbehalten, die ein entsprechendes Zugriffsrecht besitzen. |
| get | Dieser Befehl ermöglicht es eine Datei zu erhalten, die sich auf dem Server befindet
|
| put | Dieser Befehl erlaubt es eine lokale Datei auf den Server zu senden
|
| open | Schließt die derzeitige Sitzung und öffnet eine neue Sitzung auf einem anderen FTP Server |
| close | Schließt die derzeitige Sitzung und lässt die FTP Client-Software aktiv |
| bye | Logt die Client Software vom FTP-Server aus und versetzt sie in inaktiven Zustand |
| quit | Logt die Client Software vom FTP-Server aus und versetzt sie in inaktiven Zustand |