Dateiübertragungsprotokoll

File Transfer Protocol (FTP) ist ein Standardnetzprotokoll, das verwendet ist, um Dateien von einem Gastgeber einem anderen Gastgeber über ein TCP-basiertes Netz wie das Internet zu übertragen. Es wird häufig verwendet, um Webseiten und andere Dokumente von einer privaten Entwicklungsmaschine bis einen öffentlichen webveranstaltenden Server zu laden. Auf FTP wird auf einer Client/Server-Architektur gebaut und verwenden getrennte Kontrolle und Datenverbindungen zwischen dem Kunden und dem Server. FTP Benutzer können sich mit einem Klartext-Zeichen - im Protokoll, normalerweise in der Form eines Benutzernamens und Kennwortes beglaubigen, aber können anonym in Verbindung stehen, wenn der Server konfiguriert wird, um es zu erlauben. Für die sichere Übertragung, die (encrypts) Ihren Benutzernamen und Kennwort, sowie encrypts der Inhalt verbirgt, können Sie versuchen, einen Kunden zu verwenden, der SSH Dateiübertragungsprotokoll verwendet.

Die ersten FTP Client-Anwendungen waren interaktive Werkzeuge der Befehl-Linie, Standardbefehle und Syntax durchführend. Grafische Benutzerschnittstellen sind für viele der populären Tischbetriebssysteme im Gebrauch heute, einschließlich allgemeiner Webdesignprogramme wie Microsoft Expression Web und Fachmannes FTP Kunden wie CuteFTP seitdem entwickelt worden.

Protokoll-Übersicht

Unterschiede zu HTTP

FTP funktioniert auf der Anwendungsschicht des OSI Modells und wird verwendet, um Dateien mit TCP/IP zu übertragen. Um so zu tun, muss ein FTP Server laufen und auf eingehende Bitten warten. Der Kundencomputer ist dann im Stande, mit dem Server auf dem Hafen 21 zu kommunizieren. Diese Verbindung, genannt die Kontrollverbindung, bleibt offen für die Dauer der Sitzung. Eine zweite Verbindung, genannt die Datenverbindung, kann entweder durch den Server von seinem Hafen 20 zu einem verhandelten Kundenhafen (aktive Weise), oder vom Kunden von einem willkürlichen Hafen bis einen verhandelten Server-Hafen (passive Weise), wie erforderlich, geöffnet werden, um Dateidaten zu übertragen. Die Kontrollverbindung wird für die Sitzungsregierung verwendet, zum Beispiel, befiehlt Identifizierung und Kennwörter, die zwischen dem Kunden und dem Server mit einem telnet ähnlichen Protokoll ausgetauscht sind. Zum Beispiel "würde RETR Dateiname" die angegebene Datei vom Server bis den Kunden übertragen. Wegen dieser Struktur mit zwei Anschlüssen wird FTP als ein Protokoll aus dem Band, im Vergleich mit inbändigem Protokoll wie HTTP betrachtet.

Kommunikation und Datenübertragung

Das Protokoll wird in RFC 959 angegeben, der hier zusammengefasst wird.

Der Server antwortet über die Kontrollverbindung mit dreistelligen Statuskennzeichen in ASCII mit einer fakultativen SMS-Nachricht. Zum Beispiel "200" (oder "200, OK",) bedeutet, dass der letzte Befehl erfolgreich war. Die Zahlen vertreten den Code für die Antwort, und der fakultative Text vertritt eine menschlich-lesbare Erklärung oder Bitte (z.B.

FTP kann in der aktiven oder passiven Weise laufen, die bestimmt, wie die Datenverbindung hergestellt wird. In der aktiven Weise schafft der Kunde eine TCP-Kontrollverbindung zum Server und sendet dem Server die IP-Adresse des Kunden und eine willkürliche Kundenhafen-Zahl, und wartet dann, bis der Server die Datenverbindung über TCP diesem Kunden IP Adresse und Kundenhafen-Zahl beginnt. In Situationen, wo der Kunde hinter einer Brandmauer und unfähig ist, eingehende TCP Verbindungen zu akzeptieren, kann passive Weise verwendet werden. In dieser Weise verwendet der Kunde die Kontrollverbindung, um einen PASV-Befehl an den Server zu senden, und erhält dann einen Server IP Adresse und Server-Hafen-Zahl vom Server, den der Kunde dann verwendet, um eine Datenverbindung von einem willkürlichen Kundenhafen bis den Server IP Adresse und erhaltene Server-Hafen-Zahl zu öffnen. Beide Weisen wurden im September 1998 aktualisiert, um IPv6 zu unterstützen. Weitere Änderungen wurden in die passive Weise damals eingeführt, es zur verlängerten passiven Weise aktualisierend.

Während

man Daten über das Netz überträgt, können vier Datendarstellungen verwendet werden:

  • ASCII Weise: verwendet für den Text. Daten, werden wenn erforderlich, von der Senden-Gastgeber-Charakter-Darstellung bis "8-Bit-ASCII" vor der Übertragung, und (wieder, nötigenfalls) zur Empfang-Gastgeber-Charakter-Darstellung umgewandelt. Demzufolge ist diese Weise für Dateien unpassend, die Daten außer dem Klartext enthalten.
  • Bildweise (hat allgemein Binäre Weise genannt): Die Senden-Maschine sendet jedes Dateibyte für das Byte, und der Empfänger versorgt den bytestream, weil es es erhält. (Bildweise-Unterstützung ist für alle Durchführungen von FTP empfohlen worden).
  • EBCDIC Weise: Verwenden Sie für den Klartext zwischen Gastgebern, die die EBCDIC Codierung verwenden. Diese Weise ist sonst ASCII Weise ähnlich.
  • Lokale Weise: Erlaubt zwei Computern mit identischen Einstellungen, Daten in einem Eigentumsformat ohne das Bedürfnis zu senden, es zu ASCII umzuwandeln

Für Textdateien werden verschiedene Format-Kontrolle und Rekordstruktur-Optionen zur Verfügung gestellt. Diese Eigenschaften wurden entworfen, um Dateien zu erleichtern, die Telnet oder Formatierung von ASA enthalten.

Datenübertragung kann in einigen von drei Weisen getan werden:

  • Strom-Weise: Daten werden als ein dauernder Strom gesandt, FTP davon erleichternd, jede Verarbeitung zu tun. Eher wird die ganze Verarbeitung bis zu TCP verlassen. Kein Hinweis des Endes der Datei ist erforderlich, wenn die Daten in Aufzeichnungen nicht geteilt werden.
  • Block-Weise: FTP bricht die Daten in mehrere Blöcke (Block-Kopfball, Byte-Zählung und Datenfeld) und gibt es dann TCP weiter.
  • Komprimierte Weise: Daten werden mit einem einzelnen Algorithmus (gewöhnlich Verschlüsselung der Lauf-Länge) zusammengepresst.

Anmeldung

FTP Anmeldung verwertet normale Benutzernamen und Kennwort-Schema, um Zugang zu gewähren. Der Benutzername wird an den Server mit dem BENUTZER-Befehl gesandt, und das Kennwort wird mit dem PASS-Befehl gesandt. Wenn die vom Kunden gegebene Auskunft durch den Server akzeptiert wird, wird der Server einen Gruß dem Kunden senden, und die Sitzung wird anfangen. Wenn der Server es unterstützt, können Benutzer loggen in, ohne Anmeldungsausweis zur Verfügung zu stellen, aber der Server kann nur beschränkten Zugang für solche Sitzungen autorisieren.

Anonymer FTP

Ein Gastgeber, der einen FTP Dienst zur Verfügung stellt, kann anonymen FTP Zugang zur Verfügung stellen. Benutzer loggen normalerweise in den Dienst mit einem 'anonymen' (Kleinbuchstabe und mit dem Fall empfindlich in einigen FTP Servern) Rechnung, wenn veranlasst, für den Benutzernamen. Obwohl Benutzer allgemein gebeten werden, ihre E-Mail-Adresse anstatt eines Kennwortes zu senden, wird keine Überprüfung wirklich auf den gelieferten Daten durchgeführt. Viele FTP veranstalten, wessen Zweck ist, Softwareaktualisierungen zur Verfügung zu stellen, wird anonyme Anmeldungen zur Verfügung stellen.

NAT und Brandmauer-Traversal

FTP wechselt normalerweise über Daten, indem sie den Server gehabt wird, stehen zurück dem Kunden in Verbindung, nachdem der HAFEN-Befehl vom Kunden gesandt wird. Das ist sowohl für NATs als auch für Brandmauern problematisch, die Verbindungen vom Internet zu inneren Gastgebern nicht erlauben. Für NATs besteht eine zusätzliche Komplikation darin, dass sich die Darstellung der IP-Adressen und Hafen-Zahl im HAFEN-Befehl auf die IP-Adresse und Hafen des inneren Gastgebers, aber nicht die IP öffentliche Adresse und den Hafen des NAT bezieht.

Es gibt zwei Annäherungen an dieses Problem. Man ist das der FTP Kunde und FTP Server verwenden den PASV-Befehl, der die Datenverbindung veranlasst, vom FTP Kunden zum Server gegründet zu werden. Das wird von modernen FTP Kunden weit verwendet. Eine andere Annäherung ist für den NAT, um die Werte des HAFEN-Befehls mit einem Anwendungsniveau-Tor für diesen Zweck zu verändern.

WWW-Browser-Unterstützung

Allgemeinste WWW-Browser können auf FTP Servern veranstaltete Dateien wiederbekommen, obwohl sie Protokoll-Erweiterungen wie FTPS nicht unterstützen können. Wenn FTP-aber-nicht eine HTTP-URL-ADRESSE geliefert wird, wird der zugängliche Inhalt auf dem entfernten Server gewissermaßen präsentiert, der dem ähnlich ist, das für anderen Webinhalt verwendet ist. Ein voll gezeigter FTP Kunde kann innerhalb von Firefox in der Form einer Erweiterung genannt FireFTP geführt werden

Syntax

FTP URL-ADRESSE-Syntax wird in RFC1738 beschrieben, die Form annehmend:

oder:

Mehr Details auf dem Spezifizieren eines Benutzernamens und Kennwortes können in der Dokumentation der Browser, solcher als, zum Beispiel, Firefox und Internet Explorer gefunden werden. Standardmäßig verwenden die meisten WWW-Browser passive (PASV) Weise, die leichter Endbenutzer-Brandmauern überquert.

Sicherheit

FTP wurde nicht entworfen, um ein sicheres Protokoll besonders nach heutigen Standards zu sein - und hat viele Sicherheitsschwächen. Im Mai 1999 haben die Autoren von RFC 2577 eine Verwundbarkeit gegenüber den folgenden Problemen verzeichnet:

  • Schlag greift an
  • Veralberung greift an
  • Rohe Gewalt greift an
  • Paket-Festnahme, die (schnüffelt)
  • Benutzername-Schutz
  • Hafen, stehlend

FTP ist zu encrypt sein Verkehr nicht fähig; alle Übertragungen sind im klaren Text, und Benutzernamen, Kennwörter, Befehle und Daten können von jedem fähig leicht gelesen werden, Paket-Festnahme durchzuführen, die im Netz (schnüffelt). Dieses Problem ist für viele der Internetprotokoll-Spezifizierungen üblich (wie SMTP, Telnet, KNALL und IMAP), die vor der Entwicklung von Verschlüsselungsmechanismen wie TLS oder SSL entworfen wurden. Eine allgemeine Lösung dieses Problems ist, die "sicheren", GeTLS-schützten Versionen der unsicheren Protokolle zu verwenden (z.B. FTPS für FTP, TelnetS für Telnet, usw.) oder ein verschiedenes, sichereres Protokoll, das den Job wie die SFTP/SCP mit den meisten Durchführungen des Sicheren Protokolls von Shell eingeschlossenen Werkzeuge behandeln kann.

Sicherer FTP

Es gibt mehrere Methoden sicher überwechselnder Dateien, die "Sicheren FTP" einmal oder einen anderen genannt worden sind. Auch es wird SFTP genannt.

FTPS

Ausführlicher FTPS ist eine Erweiterung auf den FTP Standard, der Kunden erlaubt, dass die FTP Sitzung zu bitten, encrypted zu sein. Das wird durch das Senden "AUTH TLS" Befehl getan. Der Server hat die Auswahl des Erlaubens oder Bestreitens von Verbindungen, die um TLS nicht bitten. Diese Protokoll-Erweiterung wird im vorgeschlagenen Standard definiert: RFC 4217. Impliziter FTPS ist ein missbilligter Standard für FTP, der den Gebrauch eines SSL oder die TLS Verbindung verlangt hat. Es wurde angegeben, um verschiedene Häfen zu verwenden, als einfacher FTP.

SFTP

SFTP, das SSH "Dateiübertragungsprotokoll," sind mit FTP nicht verbunden, außer dass es auch Dateien überträgt und einen ähnlichen Befehlssatz für Benutzer hat. SFTP oder sicherer FTP, ist ein Programm, das Sicheren Shell (SSH) verwendet, um Dateien zu übertragen. Verschieden von normalem FTP, es encrypts sowohl Befehle als auch Daten, Kennwörter und empfindliche Information davon abhaltend, offen über das Netz übersandt zu werden. Es ist FTP funktionell ähnlich, aber weil es ein verschiedenes Protokoll verwendet, können Sie FTP keinen Standardkunden verwenden, um mit einem SFTP Server zu sprechen, noch Sie können zu einem FTP Server mit einem Kunden in Verbindung stehen, der nur SFTP unterstützt.

FTP über SSH (nicht SFTP)

FTP über SSH (nicht SFTP) verweist auf die Praxis von tunneling eine normale FTP Sitzung über eine SSH Verbindung. Weil FTP vielfache TCP Verbindungen verwendet (ungewöhnlich für ein TCP/IP Protokoll, das noch im Gebrauch ist), ist es zum Tunnel über SSH besonders schwierig. Mit vielen SSH Kunden, versuchend, einen Tunnel für den Kontrollkanal (die anfängliche Verbindung des Kunden zum Server auf dem Hafen 21) aufzustellen, wird nur diesen Kanal schützen; wenn Daten übertragen werden, wird die FTP Software an jedem Ende neue TCP Verbindungen aufstellen (Datenkanäle), die die SSH Verbindung umgehen und so keinen Vertraulichkeits- oder Integritätsschutz usw. haben.

Sonst ist es für die SSH Kundensoftware notwendig, spezifische Kenntnisse des FTP Protokolls zu haben, FTP-Kontrollkanalnachrichten und autonom offenes neues Paket forwardings für FTP Datenkanäle zu kontrollieren und umzuschreiben. Softwarepakete, die diese Weise unterstützen, sind:

FTP über SSH wird manchmal sicheren FTP genannt; das sollte mit anderen Methoden nicht verwirrt sein, FTP, wie SSL/TLS (FTPS) zu sichern. Andere Methoden, Dateien mit SSH zu übertragen, die mit FTP nicht verbunden sind, schließen SFTP und SCP ein; in jedem von diesen wird das komplette Gespräch (Ausweis und Daten) immer durch das SSH Protokoll geschützt.

Liste von FTP-Befehlen

Unten ist eine Liste von FTP-Befehlen, die an einen FTP Server einschließlich aller Befehle gesandt werden können, die in RFC 959 durch den IETF standardisiert werden. Alle Befehle sind unten 959-basiert, wenn nicht festgesetzt, sonst RFC. Bemerken Sie, dass der grösste Teil der Befehl-Linie FTP Kunden ihren eigenen Satz von Befehlen Benutzern präsentiert. KOMMEN SIE zum Beispiel ist der allgemeine Benutzerbefehl, eine Datei statt des rohen Befehls RETR herunterzuladen.

FTP antworten Codes

Unten ist eine Zusammenfassung der Antwort-Codes, die durch einen FTP Server zurückgegeben werden können. Diese Codes sind in RFC 959 durch den IETF standardisiert worden. Wie festgesetzt, früher in diesem Artikel ist der Antwort-Code ein dreistelliger Wert. Die erste Ziffer wird verwendet, um einen von drei möglichem Ergebnis-Erfolg, Misserfolg anzuzeigen oder einen Fehler oder unvollständige Antwort anzuzeigen:

  • 2xx - Erfolg-Antwort
  • 4xx oder 5xx - Misserfolg-Antwort
  • 1xx oder 3xx - Fehler oder Unvollständige Antwort

Die zweite Ziffer definiert die Art des Fehlers:

  • x0z - Syntax. Diese Antworten beziehen sich auf Syntax-Fehler.
  • x1z - Information. Antworten zu Bitten um die Information.
  • x2z - Verbindungen. Antworten, die sich auf die Kontrolle und Datenverbindungen beziehen.
  • x3z - Beglaubigung und Buchhaltung. Antworten für die Anmeldungsprozess- und Buchhaltungsverfahren.
  • x4z - Nicht definiert.
  • x5z - Dateisystem. Diese Antwort-Relaisstatuskennzeichen vom Server-Dateisystem.

Die dritte Ziffer des Antwort-Codes wird verwendet, um zusätzliches Detail für jede der durch die zweite Ziffer definierten Kategorien zur Verfügung zu stellen.

Siehe auch

  • Vergleich der FTP Kundensoftware
  • Vergleich der FTP Server-Software
  • Locke-Lader - FTP/S ladende/prüfende offene Quelle KURZWELLIGER
  • Dateiaustauschprotokoll (FXP)
  • File Service Protocol (FSP)
  • FTAM
  • FTPFS
  • Die Liste der Datei überträgt Protokolle
  • Die Liste der FTP Server-Rückkehr codiert
  • Geführte Dateiübertragung
  • OBEX
  • Geteilter Dateizugang
TCP Streifband

Weiterführende Literatur

  • RFC 959 - (Standard) File Transfer Protocol (FTP). J. Postel, J. Reynolds. Oktober 1985.
  • RFC 1579 - mit der Brandmauer freundlicher (Informations)-FTP.
  • RFC 2228 - (Vorgeschlagener Standard) FTP Sicherheit Erweiterungen.
  • RFC 2389 - (Vorgeschlagener Standard) Eigenschaft-Verhandlungsmechanismus für das Dateiübertragungsprotokoll. August 1998.
  • RFC 2428 - (Vorgeschlagener Standard) Erweiterungen für IPv6, NAT und Verlängerte passive Weise. September 1998.
  • RFC 2640 - (Vorgeschlagener Standard) Internationalisierung des Dateiübertragungsprotokolls.
  • RFC 3659 - (Vorgeschlagener Standard) Erweiterungen auf FTP. P.Hethmon. März 2007.
  • RFC 5797 - (Vorgeschlagener Standard) FTP Befehl und Erweiterungsregistrierung. März 2010.
  • RFC 697 - CWD Befehl von FTP
  • RFC 1639 - FTP Operation Over Big Address Records (FOOBAR)
  • RFC 5797 - FTP Befehl und Erweiterungsregistrierung

Links


Araceae / RFC
Impressum & Datenschutz