Back to Top

PHNETZ - Internetagentur

Marketing für Ihren Erfolg

FTP

 

FTP (File Transfer Protocol)

 

FTP ist ein standardisiertes Netzwerkprotokoll (RFC 959), das den Austausch von Dateien zwischen einem Client und einem Server über ein TCP/IP‑Netzwerk (häufig das Internet) ermöglicht. Es arbeitet im Client‑Server‑Modell und verwendet dafür typischerweise die TCP‑Ports 21 (Steuerverbindung) und 20 (Datenverbindung im aktiven Modus).

 

Arbeitsweise

  1. Verbindungsaufbau (Steuerkanal): Der Client initiiert über Port 21 eine TCP‑Verbindung zum Server und authentifiziert sich mit Benutzername / Passwort (oder anonym – „anonymous“).
  2. Befehlsphase: Der Client sendet textbasierte Befehle (z. B. LIST, RETR, STOR, DELE, MKD) und erhält statusbezogene Antworten (Code 200‑500).
  3. Datenkanal: Für jede Datei‑ oder Verzeichnis‑Operation wird ein separater Datenkanal eröffnet:
    • Aktiver Modus (PORT): Der Server stellt die Datenverbindung zum vom Client angegebenen Port her.
    • Passiver Modus (PASV): Der Server öffnet einen zufälligen Port und teilt dem Client mit, wohin er sich verbinden soll – üblich, wenn Firewalls den eingehenden Verkehr blockieren.
     
  4. Datei‑Transfer: Daten werden in Binär‑ (TYPE I) oder ASCII‑Modus (TYPE A) übertragen.
 

Erweiterungen

  • FTPS (FTP over TLS/SSL): TLS/SSL‑Verschlüsselung für Steuer‑ und/oder Datenkanal (explizit – AUTH TLS, implizit – Port 990).
  • SFTP (SSH‑File‑Transfer‑Protocol): Nicht‑kompatibel zu FTP, aber häufig als sicherer Ersatz verwendet (läuft über SSH, Port 22).
  • FTP‑Extensions (RFC 3659): Unterstützen Funktionen wie MLST/MLSD (Maschinelles Listing), SIZE, MDTM (Modifikationszeit), REST (Fortsetzen unterbrochener Übertragungen).
 

Sicherheitsaspekte

  • Klartext‑Authentifizierung: Standard‑FTP sendet Benutzername und Passwort unverschlüsselt – anfällig für Sniffing.
  • Firewall‑Problematik: Aktiver Modus erfordert eingehende Verbindungen zum Client, was bei NAT/Firewalls problematisch sein kann.
  • Passiver Modus: Wird bevorzugt, da der Client die Verbindung initiiert.
 

Typische Anwendungsfälle

  • Web‑Hosting‑Upload: Hochladen von Webseiten, Bildern, Datenbanken.
  • Backup‑Lösungen: Automatisierte Skripte, die regelmäßig Dateien auf einen FTP‑Server übertragen.
  • Verteilte Software‑Distribution: Bereitstellung von Installations‑ oder Update‑Paketen.
 

Client‑Tools
Grafische Programme (FileZilla, WinSCP, Cyberduck), Kommandozeilen‑Clients (ftp, lftp, ncftp), integrierte IDE‑Plugins und Skript‑Bibliotheken (Python ftplib, PowerShell‑Cmdlet Invoke-WebRequest mit FTP‑URI).