Kategorien
Webentwicklung

File Transfer Protocol

Das File Transfer Protocol (FTP) ist ein Standard-Internetprotokoll zur Übertragung von Dateien zwischen Computern im Internet über TCP/IP-Verbindungen. FTP ist ein Client-Server-Protokoll, bei dem ein Client nach einer Datei fragt und ein lokaler oder entfernter Server diese bereitstellt.

Der Rechner des Endbenutzers wird normalerweise als lokaler Host bezeichnet, der über das Internet mit dem Remote-Host verbunden ist – das ist der zweite Rechner, auf dem die FTP-Software läuft.

Anonymes FTP ist eine Art von FTP, die es Nutzern erlaubt, auf Dateien und andere Daten zuzugreifen, ohne eine ID oder ein Passwort zu benötigen. Einige Webseiten erlauben es Besuchern, eine Gast-ID oder ein Passwort zu verwenden – Anonymous FTP ermöglicht dies.

Obwohl ein Großteil des Dateitransfers heute über HTTP abgewickelt wird, wird FTP immer noch häufig genutzt, um Dateien “hinter den Kulissen” für andere Anwendungen zu übertragen – z.B. versteckt hinter den Benutzeroberflächen von Banken, einem Dienst, der bei der Erstellung einer Website hilft, wie Wix oder SquareSpace, oder anderen Diensten. Es wird auch verwendet, um über Webbrowser neue Anwendungen herunterzuladen.

Wie FTP funktioniert
FTP ist ein Client-Server-Protokoll, das sich auf zwei Kommunikationskanäle zwischen Client und Server stützt: einen Befehlskanal zur Steuerung der Konversation und einen Datenkanal zur Übertragung von Dateiinhalten. Clients initiieren Konversationen mit Servern, indem sie den Download einer Datei anfordern. Mit FTP kann ein Client Dateien auf einem Server hochladen, herunterladen, löschen, umbenennen, verschieben und kopieren. Ein Benutzer muss sich normalerweise am FTP-Server anmelden, obwohl einige Server einige oder alle Inhalte ohne Anmeldung zur Verfügung stellen, bekannt als anonymes FTP.

FTP-Sitzungen funktionieren im passiven oder aktiven Modus. Im aktiven Modus, nachdem ein Client eine Sitzung über eine Befehlskanalanforderung initiiert hat, initiiert der Server eine Datenverbindung zurück zum Client und beginnt mit der Übertragung von Daten. Im passiven Modus verwendet der Server stattdessen den Befehlskanal, um dem Client die Informationen zu senden, die er benötigt, um einen Datenkanal zu öffnen. Da im passiven Modus alle Verbindungen vom Client initiiert werden, funktioniert es gut über Firewalls und Network Address Translation (NAT) Gateways hinweg.

Aktives FTP und passives FTP im Vergleich
Aktives FTP und passives FTP im Vergleich
Benutzer können mit FTP über ein einfaches Kommandozeileninterface (z.B. von einer Konsole oder einem Terminalfenster in Microsoft Windows, Apple OS X oder Linux ) oder mit einer speziellen grafischen Benutzeroberfläche (GUI) arbeiten. Auch Webbrowser können als FTP-Client dienen.

Sicherheit
FTP wurde ursprünglich 1971 definiert, noch vor der Definition von TCP und IP, und wurde viele Male neu definiert — z.B. um TCP/IP (RFC 765 und RFC 959) und dann Internet Protocol Version 6 (IPv6), (RFC 2428) zu verwenden. Da es ohne viel Rücksicht auf die Sicherheit definiert wurde, wurde es viele Male erweitert, um die Sicherheit zu verbessern: z.B. Versionen, die über eine TLS-Verbindung verschlüsseln (FTPS) oder die mit dem Secure File Transfer Protocol (SFTP) arbeiten, auch bekannt als SSH File Transfer Protocol.
FTP verschlüsselt den Datenverkehr nicht, und Einzelpersonen können Pakete abfangen, um Benutzernamen, Passwörter und andere Daten auszulesen.

FTP kann immer noch anfällig für Brute-Force-Attacken, Packet-Capture, Spoofing, FTP-Bounce und andere Angriffe wie Usernamen-Enumeration oder DDoS sein.

FTP-Clients
FTP-Clients werden zum Hochladen, Herunterladen und Verwalten von Dateien auf einem Server verwendet. Zu den FTC-Clients gehören:

WinSCP ist ein Windows FTC-Client, der FTP, SSH und SFTP unterstützt.
WS FTP ist ein weiterer Windows FTC-Client, der auch SSH unterstützt.
Transmit ist ein FTP-Client für Mac, der FTP, SSH und SFTP unterstützt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

drei × 4 =