Sie sind hier:  AIB V3 > Netzwerke > Höhere Protokolle > FTP  
FTP

Ein weiterer zentraler Dienst in einem Intranet, der besonders dem Transport von Dateien auf andere Systeme dient, ist das File-Transfer-Protokoll. Die Besonderheit des Protokolls liegt in den getrennten Kanälen für die Daten und die Steuerung. Im RFC 959 ist für FTP TCP-Port 20 als Steuerungskanal und TCP-Port 21 als Datenkanal festgelegt. FTP verwendet als Transportprotokoll immer TCP, da dieses bereits einen sicheren Datentransfer garantiert und die FTP-Software sich nicht darum zu kümmern braucht. FTP besitzt eine eigene Kommandooberfläche, die interaktiv bedient wird. Der Aufruf dieses Filetransferprogrammes erfolgt durch das Kommando ftp.
Die Vorteile von FTP liegen in den effizienten Verfahren zur übertragung von Dateien beliebigen Formats und der Tatsache, daß der Zugriff seitens beliebiger Internet-Teilnehmern möglich ist. Andererseits kann bei größeren Archiven schnell die übersicht verlorengehen, wenn die Datenbestände nicht vernünftig sortiert sind. Bei umfangreichen Dateibäumen ist hingegen die Navigation durch die Verzeichnisse eine zeitraubende Angelegenheit. Es werden weiterhin zwei Betriebsmodi unterschieden:

  • Benutzerspezifisches FTP
  • Anonymous-FTP
In beiden Fällen ist es möglich, Verzeichnisse einzusehen und zu wechseln, sowie Dateien zu empfangen und zu senden. Der Unterschied liegt in den Privilegien, die ein Benutzer besitzt. Während im ersten Fall der User eine Zugangsberechtigung zum System benötigt, so verfügt ein Gastzugang nur über eine eingeschränkte Sicht auf den Datenbereich des Servers, was als einfacher Sicherheitsmechanismus anzusehen ist.

Der Kommandoaufruf des FTP-Kommandos lautet

ftp [ -v ] [ -d ] [ -i ] [ -n ] [ -g ] [ host ]

Wird beim Programmaufruf der gewünschte Kommunikationspartner (host) mit angegeben, so wird sofort versucht, eine Verbindung zu diesem Rechensystem aufzubauen. Ist der Versuch erfolglos, so wird in den Kommandomodus umgeschaltet. Der Prompt "ftp>" erscheint immer auf dem Bildschirm, wenn ftp-Kommandos eingegeben werden können. ftp verfügt über einen help-Mechanismus, über den sämtliche auf dem jeweiligen System verfügbare Kommandos mit Kurzerklärungen abfragbar sind.
Nachfolgend werden wesentliche Kommandos nach Funktionalität gruppiert vorgestellt. Kommandos können soweit verkürzt eingegeben werden, als sie noch eindeutig erkennbar sind. Enthalten Kommandoargumente "Blanks", so sind die Argumente beidseitig mit Hochkommas eingeschlossen einzugeben. Nicht alle ftp-Implementierungen unterstützen alle ftp-Kommandos.

  • help [ kommando ]
    zeigt kurze Informationen zu dem angegebenen Kommando. Wird das Kommando weggelassen, zeigt dieser Aufruf eine Liste der zulässigen Kommandos.
  • open host
    Öffene einer Verbindung zu einem fernen Host. Je nach angewähltem System werden Benutzerkennung und Passwort abgefragt.
  • user user-name [ password ]
    Eingabe von Benutzerkennung und Passwort.
  • !
    Aufruf einer (eingeschränkten) Shell auf dem lokalen System. Für Dateiübertragung relevante Kommandos wie mkdir, mv, cp, etc sind absetzbar. Verlassen wird diese Shell mit "exit".
  • lcd [directory ]
    Wahl des lokalen Directories für die Dateiübertragung.
  • pwd
    Anzeige des aktuellen Directories auf dem entfernten System.
  • cd remote-directory
    Wahl des aktuellen Directories auf dem entfernten System.
  • cdup
    Wechsel in das nächsthöhere Directory auf dem entfernten System.
  • dir [ remote-directory [ local-file ] ]
    ls [ remote-directory [ local-file ] ]
    Ohne Optionen erfolgt eine Anzeige der Einträge des entfernten aktuellen Directories. Dabei liefert dir ausführliche und ls eine knappe Information bezüglich des Directory-Inhalts.
    Bei Angabe des remote-directory erfolgt die Anzeige der Einträge des entfernten Directories. Wird local-file angegeben, erfolgt eine Umlenkung der Directory-Anzeige in die Datei local-file auf dem lokalen System.
  • mdir remote-files [ local-file ]
    mls remote-files [ local-file ]
    Anzeige von Dateien aus dem entfernten aktuellen Directory und Abspeicherung in eine lokale Datei.
  • mkdir directory-name
    Einrichten eines neuen Directories directory-name auf dem entfernten System.
  • rmdir directory-name
    löscht das Directory directory-name auf dem entfernten System.
  • rename [ from ] [ to ]
    Umbenennen einer Datei auf dem entfernten System von from nach to.
  • delete remote-file
    Löschen der Datei remote-file auf dem entfernten System.
  • mdelete remote-files
    Löschen mehrerer Dateien remote-files auf dem entfernten System.
  • put local-file [ remote-file ]
    send local-file [ remote-file ]
    Dateiübertragung der Datei local-file vom lokalen zum entfernten System. Wird remote-file nicht angegeben, so wird auch auf dem Zielsystem der Dateiname local-file verwendet.
  • append local-file [ remote-file ]
    überträgt die Datei local-file vom lokalen System an das entfernte System und hängt diese am Ende der Datei remote-file an. Wurde remote-file nicht angegeben, wird die Datei ans Ende der Datei local-file auf dem entfernten System angehängt.
  • mput local-files
    Dateiübertragung einer Dateigruppe namensgleich vom lokalen zum entfernten System.
  • get remote-file [ local-file ]
    recv remote-file [ local-file ]
    Dateiübertragung einer Datei remote-file vom entfernten System zum lokalen System. Wird local-file nicht mitangegeben, so erhält die Datei auch auf dem lokalen System den Dateiname remote-file.
  • mget remote-files
    Dateiübertragung einer Dateigruppe namensgleich vom entfernten zum lokalen System.
  • ascii
    type ascii
    Die Dateiübertragung findet im ASCII-Code statt. Gegebenfalls werden Bei Binärdateien Zeichen verändert (z. B. die Zeilenendedarstellung ans Zielsystem angepaßt) oder Zeichen verfälscht.
  • binary
    type image
    type binary
    Die Dateiübertragung findet transparent statt.
  • case
    Mit diesem Schalter läßt sich einstellen, ob Dateinamen beim Empfangen (get, recv, mget) von Großbuchstaben nach Kleinbuchstaben übersetzt werden sollen.
  • glob
    Mit diesem Schalter läßt sich einstellen, ob bei den Kommandos mdelete, mget und mput bei Dateinamen, die Metazeichen (*?[]~{}) enthalten, diese Metazeichen übertragen werden oder nicht. ("off" = keine Metazeichenbehandlung).
  • ntrans [ inchars [ outchars ] ]
    Definition und Aktivierung einer Übersetzungstabelle für Dateinamen, wenn beim Dateiübertragungsauftrag (Senden und Empfangen) keine Zieldateinamen angegeben werden. Zeichen eines Dateinamens, die in inchars zu finden sind, werden durch das positionsgleiche Zeichen in outchars übersetzt. Ist inchars länger als outchars, so werden die korrespondenzlosen Zeichen von inchars aus dem Zieldateinamen entfernt.
  • prompt
    Mit diesem Zeichen wird bei Mehrdateienübertragung gesteuert, ob jede zu übertragende Datei extra quittiert werden muß oder nicht.
  • verbose
    Wenn der "verbose"-Modus eingeschaltet ist, erhält man für jede übertragene Datei den Dateinamen auf dem lokalen und entfernten Rechner, sowie die Datenmenge und die dafür benötigte Übertragungszeit angezeigt.
  • bell
    Dieser Schalter bewirkt, daß je nach Stellung am Ende jedes Dateiübertragungsauftrages ein akustisches Signal ertönt oder nicht.
  • status
    Anzeige der aktuellen logischen Schalterstellungen sowie des Verbindungszustandes.
  • close
    disconnect
    Beendigung einer aktiven Verbindung.
  • quit
    Beendigung des Programmes ftp.
  • bye
    Beendigung einer aktiven Sitzung und des Programmes ftp.

Die optionalen Parameter beim ftp-Kommando setzen logische Schalter für den ftp-Programmlauf. Im Kommandomodus sind die Einstellungen jederzeit wieder änderbar.

  • -v verbose-Schalter einschalten.
  • -d debug-Schalter einschalten.
  • -i interactive-Modus für Mehrdateiübertragung einschalten.
  • -n verhindert, daß FTP zum Beginn der Sitzung einen Login-Versuch unternimmt.
  • -g glob-Schalter einschalten.

Die Datei-Übertragung wird durch die Terminal "interrupt"-Taste (üblicherweise Ctrl-C) abgebrochen, was einen sofortigen Abbruch zur Folge haben soll. Nicht alle Kommunikationspartner verstehen die Abbruchaufforderung, wodurch dennoch die gesamte Datei übertragen ausgeführt wird.

Dateinamen, die als Argumente von FTP-Kommandos Verwendung finden, werden wie folgt bearbeitet: Ist "file globbing" eingeschaltet, werden bei den Kommandos mget, mput und mdelete die Namen lokaler Dateien folgendermaß behandelt:

  • Der * steht für eine beliebige Anzahl (auch Null) von Zeichen.
  • Das ?steht für ein einziges beliebiges Zeichen.
  • Wird im Dateinamen eine Zeichenfolge angetroffen, die zwischen eckigen Klammern oder zwischen geschweiften Klammern steht, so sind alle Dateinamen zutreffend, die an dieser Stelle ein einziges beliebiges Zeichen aus der Zeichenfolge innerhalb der Klammern enthalten.
  • Steht die Zeichenfolge ~/ (Tilde, Schrägstrich) am Beginn des Dateinamens, so wird sie durch den Home-Directory-Pfad ersetzt. Das Zeichen ~, dem eine Benutzerkennung folgt, wird durch den Home-Directory-Pfad dieser Benutzerkennung ersetzt.

Kommandos und Protokoll-Anweisungen:

ftp-Client FTP-Protokoll Aufgabe
login USER username
PASS password
anmelden
help
help command
HELP
HELP command
Hilfe
  SYST Server-Identifikation
status STAT Transfer-Status
  STAT path wie LIST, über control-Verbindung
dir path LIST path Kataloginhalt zeigen, ausführlich
ls path NLST path Dateinamen zeigen
delete path DELE path Datei löschen
rename from to RNFR from-path
RNTO to-path
Datei umbenennen
pwd PWD Arbeitskatalog zeigen
cd path CWD path Katalog wechseln
mkdir path MKD path Katalog erzeugen
rmdir path RMD path Katalog löschen
ascii TYPE A N Textübertragung (Voreinstellung)
binary TYPE I Datenübertragung
  PORT h,h,h,h,p,p Port des Klienten für data-Verbindung
get remote-path RETR path Datei zum Klienten übertragen
put local-path STOR path Datei zum Server übertragen
append local-path APPE path an Datei auf Server anfügen
interrupt ABOR _bertragung abbrechen
quit QUIT Verbindung beenden

Beispiel

Benutzereingaben sind fett gedruckt.
ftp multimedia.ee.fhm.edu
Verbindung mit multimedia.ee.fhm.edu.
220 ProFTPD 1.2.2rc2 Server [multimedia.e-technik.fh-muenchen.de]
Benutzer (multimedia.ee.fhm.edu:(none)): plate
331 Password required for plate.
Kennwort:
230 User plate logged in.
Ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
tmp
Mail
bin
226 Transfer complete.
Ftp: 36 Bytes empfangen in 0.00Sekunden 36000.00KB/Sek.
Ftp> cd tmp
250 CWD command successful.
Ftp> lcd E:\www-netzmafia\skripten\perl
Lokales Verzeichnis jetzt E:\www-netzmafia\skripten\perl.
Ftp> cd /opt/www/skripten/perl
250 CWD command successful.
Ftp> put perl3.html
200 PORT command successful.
150 Opening ASCII mode data connection for perl3.html.
226 Transfer complete.
Ftp: 77604 Bytes gesendet in 9.17Sekunden 8.46KB/Sek.
Ftp> put perl4.html
200 PORT command successful.
150 Opening ASCII mode data connection for perl4.html.
226 Transfer complete.
Ftp: 30930 Bytes gesendet in 3.24Sekunden 9.55KB/Sek.
Ftp> quit
Spam-Server "Grum" abgeschaltet

Für alle die sich schon immer über zuviel Spam im Postfach geärgert haben gibt es eine gute...

TYPO3 Version 4.7 verfügbar

Die finalen Version des TYPO3 CMS Version 4.7 ist veröffentlicht worden. In TYPO3 4.7 wurde...

Schleusingen jetzt mit UTMS versorgt

In Schleusingen ab sofort mit bis zu 42,2 Megabit pro Sekunde im Internet surfen....

neuer RC TYPO3 4.7 veröffentlicht

Der neue Release-Kandidat 2 von TYPO3 4.7 wartet mit einer Vielzahl neuer Funktionen auf, außerdem...

TYPO3 4.4.12, 4.5.8 und 4.6.1 sind online

Heute wurde bekannt gegeben, dass ab sofort TYPO3 4.4.12, 4.5.8 und 4.6.1 zur Verfügung stehen. Es...

Das Hennebergische Gymnasium Schleusingen hat eine neue Website !

Nach langen Wochen der Erstellung und Redaktionsschulung ist die neue Website www.gym-schleusingen...