|
FTPEin 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 21als 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 übertragungvon Dateien beliebigen Formats und der Tatsache, daß der Zugriff seitensbeliebiger Internet-Teilnehmern möglich ist. Andererseitskann bei größeren Archiven schnell die übersicht verlorengehen, wenndie Datenbestände nicht vernünftig sortiert sind. Bei umfangreichenDateibäumen ist hingegen die Navigation durch die Verzeichnisse einezeitraubende Angelegenheit. Es werden weiterhin zwei Betriebsmodi unterschieden:- Benutzerspezifisches FTP
- Anonymous-FTP
In beiden Fällen ist es möglich, Verzeichnisse einzusehen undzu wechseln, sowie Dateien zu empfangen und zu senden. Der Unterschiedliegt in den Privilegien, die ein Benutzer besitzt. Während im erstenFall der User eine Zugangsberechtigung zum System benötigt, so verfügtein Gastzugang nur über eine eingeschränkte Sicht auf den Datenbereichdes 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
|
|
|