Artikel Datenbank
Computer - Internet - Multimedia
FAQ
Suchen
Mitgliederliste
Benutzergruppen
Registrieren
Profil
Einloggen, um private Nachrichten zu lesen
Login
Artikel Datenbank Foren-Übersicht
->
Netzwerke
Antwort schreiben
Benutzername
Titel
Nachrichtentext
Smilies
Weitere Smilies ansehen
Schriftfarbe:
Standard
Dunkelrot
Rot
Orange
Braun
Gelb
Grün
Oliv
Cyan
Blau
Dunkelblau
Indigo
Violett
Weiß
Schwarz
Schriftgröße:
Schriftgröße
Winzig
Klein
Normal
Groß
Riesig
Tags schließen
[quote="GrayGhost"][size=18]Aktives und passives FTP[/size] Das FTP Protokoll stammt noch aus der Zeit, als es das Internet in der heutigen Form noch nicht gab. Zu dieser Zeit ging es um das Übertragen von Daten von einem Computer auf einen anderen. Dabei kam man noch ohne Virenscanner und Firewall aus. Daher mag es auch kommen, dass das ursprüngliche FTP Protokoll eine Besonderheit aufweist, mit der einige Firewalls nicht klarkommen. Ich werde in diesem Artikel beschreiben wie das FTP Protokoll arbeitet und was dazu führt, das manchmal ein FTP Betrieb durch Firewalls unterbunden wird. Um die typischen FTP Probleme zu beseitigen, wurde ein modifiziertes FTP Protokoll entwickelt, was ich dann im Abschnitt "Passive FTP" beschreiben werde. [b][u]"Active FTP"[/u][/b] Active FTP ist das originäre FTP Protokoll und bekam den Namen "Active" erst, nach dem das "Passive FTP" entwickelt wurde. FTP ist ein auf TCP basierender Service und zeichnet sich durch eine Besonderheit aus: FTP verwendet [b]zwei[/b] Ports! Der eine Port ist der "command" Port und der andere der "data" Port. Dabei wird Port 21 für die Steuerung (command) und der Port 20 für die Daten (data) verwendet. Möchte sich ein Client mit einem FTP Server verbinden, so öffnet der Client einen beliebigen unpriviligierten Port (alle Ports > 1024) zum "command" Port 21 des Servers und sendet diesem die Portnummer auf dem er die Daten empfangen will. Dies ist in der Regel die Portnummer N+1. Beispiel: Client öffnet Port 1230 und sendet dem Server auf dessen Port 21 die Information "Ich erwarte Daten auf Port 1231". Der Server bestätigt den Emfang (acknowledge) und der Client öffnet den Port 1231 und lauscht (listening). Nun öffnet der Server seinen Daten Port 20 und sendet Daten zum Port 1231 des Clients. Der Client bestätigt den Empfang jedes TCP Packetes, ganz so, wie es sich gehört. Für eine Firewall sieht die Sache aber sehr suspekt aus. Firewalls blockieren jede Anfrage von außen. Firewalls akzeptieren nur TCP Pakete von außen, wenn diese vom empfangenden Port angefordert wurden. Aber bei FTP sieht das anders aus. Erstens hat sich plötzlich ein Port geöffnet (1231) der keine Anfrage gestellt hat und auch noch im "listening mode" ist, und dann sendet ein Port 20 Daten, die von diesem Port nicht angefordert wurden (die Anforderung stammte ja von Port 1230). In diesem Moment macht die Firewall die Klappe zu. Das ist das Problem, wenn ihr hinter einem Proxy oder einer Firewall sitzt. Gute Firewalls erkennen einen FTP Transfer und behindern diesen nicht. Bei Proxys treten da schon häufiger Probleme auf. Um diese Probleme zu umgehen wurde eine alternative Form des FTP Transfers entwickelt, das "Passive FTP". [u][b]"Passive FTP"[/b][/u] Dieser Mode wird auch PASV Mode genannt, weil der FTP Befehl PASV dem Server mitteilt, das der passive Mode gewünscht ist. Im Gegensatz zum aktiven Mode leitet der Client [b]beide [/b] Verbindungen zum Server ein. Damit wird das Firewall Problem gelöst, da damit die Firewall über beide clientseitige Verbindungen Kenntnis erhält. Der Ablauf einer solchen, passiven Verbindung, wird im Folgenden beschrieben. Wenn der Client eine Verbindung zu einem FTP Server wünscht, so öffnet er [b]zwei[/b] unpriviligierte Ports > 1024, z.B. Port 1030 und 1031. Nun kontaktiert der erste Port den Server auf dessen "command" Port 21. Aber anstelle dem Server mit dem "Port" Kommando mitzuteilen auf welchem Port die Daten vom Daten Port 20 erwartet werden, sendet der Client den Befehl PASV. Der Server weiß nun [b]nicht[/b] auf welchem Port der Client die Daten empfangen will, hat aber die Information, dass der Client eine passive Verbindung wünscht. Hier erklärt sich nun auch der Begriff "passive". Passive bedeutet aus der Sicht des Servers, dass er nicht aktiv anfangen kann auf den, vom Client geöffneten Port die Daten zu senden. Der Server sendet nun keine Daten über seinen Port 20, sondern öffnet seinerseits einen Port > 1024 und sendet die Portnummer mittels des FTP Befehls PORT an den Client. Nun kann der Client aktiv das Geschehen lenken. Er kennt den unpriviligierten Port, den der Server anstelle des Ports 20 für den Datenverkehr geöffnet hat und fordert nun von seinem Port 1031 (in unserm Beispiel) die Daten an. Die Firewall kann dies nicht in Verlegenheit bringen, da ein Datenverkehr erfolgt, der vom Client selbst über den Port 1031 gesteuert wird. MfG Erhard Olszok aka GrayGhost[/quote]
Optionen
HTML ist
an
BBCode
ist
an
Smilies sind
an
HTML in diesem Beitrag deaktivieren
BBCode in diesem Beitrag deaktivieren
Smilies in diesem Beitrag deaktivieren
Alle Zeiten sind GMT
Gehe zu:
Forum auswählen
Allgemeine Informationen zu dieser Webseite
----------------
Impressum
Allgemeine Informationen
Neue Themen und Änderungen
Computerthemen
----------------
Netzwerke
Windows Betriebssysteme
Daten schützen, verschlüsseln, verstecken und vernichten
Datensicherung und Systemsicherheit
Windows Spielereien
PC-Tools
PC Virtualisierung
Internet
----------------
Webpage Design
Email
Browser
Multimedia
----------------
Audio
Video
Bildbearbeitung
Media Recording
Video und Audio Streaming
Analoge und digitale Fotografie
Applikationen
----------------
MS Office
Corel Draw
Adobe Photoshop Elements
PDF Applicationen
Software & Scripts
----------------
Java Script und Flash für die Homepage
Software Empfehlungen
----------------
Freeware
Plugins
Vollversionen
Was wirklich nervt
----------------
Dumme Werbung
Böse Erfahrungen im Internet
----------------
Discounter
Thema-Überblick
Autor
Nachricht
GrayGhost
Verfasst am: 13.06.2007, 21:38
Titel: Aktives und passives FTP
Aktives und passives FTP
Das FTP Protokoll stammt noch aus der Zeit, als es das Internet in der heutigen Form noch nicht gab. Zu dieser Zeit ging es um das Übertragen von Daten von einem Computer auf einen anderen. Dabei kam man noch ohne Virenscanner und Firewall aus. Daher mag es auch kommen, dass das ursprüngliche FTP Protokoll eine Besonderheit aufweist, mit der einige Firewalls nicht klarkommen.
Ich werde in diesem Artikel beschreiben wie das FTP Protokoll arbeitet und was dazu führt, das manchmal ein FTP Betrieb durch Firewalls unterbunden wird. Um die typischen FTP Probleme zu beseitigen, wurde ein modifiziertes FTP Protokoll entwickelt, was ich dann im Abschnitt "Passive FTP" beschreiben werde.
"Active FTP"
Active FTP ist das originäre FTP Protokoll und bekam den Namen "Active" erst, nach dem das "Passive FTP" entwickelt wurde. FTP ist ein auf TCP basierender Service und zeichnet sich durch eine Besonderheit aus: FTP verwendet
zwei
Ports! Der eine Port ist der "command" Port und der andere der "data" Port. Dabei wird Port 21 für die Steuerung (command) und der Port 20 für die Daten (data) verwendet.
Möchte sich ein Client mit einem FTP Server verbinden, so öffnet der Client einen beliebigen unpriviligierten Port (alle Ports > 1024) zum "command" Port 21 des Servers und sendet diesem die Portnummer auf dem er die Daten empfangen will. Dies ist in der Regel die Portnummer N+1.
Beispiel: Client öffnet Port 1230 und sendet dem Server auf dessen Port 21 die Information "Ich erwarte Daten auf Port 1231". Der Server bestätigt den Emfang (acknowledge) und der Client öffnet den Port 1231 und lauscht (listening).
Nun öffnet der Server seinen Daten Port 20 und sendet Daten zum Port 1231 des Clients. Der Client bestätigt den Empfang jedes TCP Packetes, ganz so, wie es sich gehört.
Für eine Firewall sieht die Sache aber sehr suspekt aus. Firewalls blockieren jede Anfrage von außen. Firewalls akzeptieren nur TCP Pakete von außen, wenn diese vom empfangenden Port angefordert wurden. Aber bei FTP sieht das anders aus. Erstens hat sich plötzlich ein Port geöffnet (1231) der keine Anfrage gestellt hat und auch noch im "listening mode" ist, und dann sendet ein Port 20 Daten, die von diesem Port nicht angefordert wurden (die Anforderung stammte ja von Port 1230). In diesem Moment macht die Firewall die Klappe zu.
Das ist das Problem, wenn ihr hinter einem Proxy oder einer Firewall sitzt. Gute Firewalls erkennen einen FTP Transfer und behindern diesen nicht. Bei Proxys treten da schon häufiger Probleme auf. Um diese Probleme zu umgehen wurde eine alternative Form des FTP Transfers entwickelt, das "Passive FTP".
"Passive FTP"
Dieser Mode wird auch PASV Mode genannt, weil der FTP Befehl PASV dem Server mitteilt, das der passive Mode gewünscht ist. Im Gegensatz zum aktiven Mode leitet der Client
beide
Verbindungen zum Server ein. Damit wird das Firewall Problem gelöst, da damit die Firewall über beide clientseitige Verbindungen Kenntnis erhält. Der Ablauf einer solchen, passiven Verbindung, wird im Folgenden beschrieben.
Wenn der Client eine Verbindung zu einem FTP Server wünscht, so öffnet er
zwei
unpriviligierte Ports > 1024, z.B. Port 1030 und 1031. Nun kontaktiert der erste Port den Server auf dessen "command" Port 21. Aber anstelle dem Server mit dem "Port" Kommando mitzuteilen auf welchem Port die Daten vom Daten Port 20 erwartet werden, sendet der Client den Befehl PASV. Der Server weiß nun
nicht
auf welchem Port der Client die Daten empfangen will, hat aber die Information, dass der Client eine passive Verbindung wünscht.
Hier erklärt sich nun auch der Begriff "passive". Passive bedeutet aus der Sicht des Servers, dass er nicht aktiv anfangen kann auf den, vom Client geöffneten Port die Daten zu senden.
Der Server sendet nun keine Daten über seinen Port 20, sondern öffnet seinerseits einen Port > 1024 und sendet die Portnummer mittels des FTP Befehls PORT an den Client. Nun kann der Client aktiv das Geschehen lenken. Er kennt den unpriviligierten Port, den der Server anstelle des Ports 20 für den Datenverkehr geöffnet hat und fordert nun von seinem Port 1031 (in unserm Beispiel) die Daten an. Die Firewall kann dies nicht in Verlegenheit bringen, da ein Datenverkehr erfolgt, der vom Client selbst über den Port 1031 gesteuert wird.
MfG
Erhard Olszok aka GrayGhost
Powered by
phpBB
© 2001, 2005 phpBB Group
Deutsche Übersetzung von
phpBB.de