Ftp
FTP das File Transfer Protocol ist ein standard Internet Protocoll und einer der einfachsten Wege Dateien zwischen Computern auszutauschen. Wie das Hypertext Transfer Protocol (HTTP) oder auch das Simple Mail Transfer Protocol (SMTP), verwendet FTP das TCP/IP Protokoll. Meist wird FTP verwendet um z.B. Webseiten auf einen Server zu laden, oder groessere Dateien von Servern herauszuladen. FTP verwendet zur Steuerung Port 21, der Datenfluss ist, abhaengig durch die verwendete Transferart, Port 20 (aktiv) oder ein Port groesser 1024 (passiv).
aktiv vs. passiv
* Aktiv FTP
Im aktiven FTP Modus verbindet sich der Client von einem zufaelligem unpriviligierten Port (N > 1024) auf den FTP Server Steuerungs-Port 21. Sobald dies erfolgreich gewensen ist, hoert der Client auf den Port N+1 und sendet dem FTP Server das Kommando PORT N+1. Der FTP Server wird nun eine Verbindung von seinem lokalen FTP Data Port 20 auf den vom Clients angegeben Port (N+1) oeffnen. Die Session ist somit komplett.
* Passiv FTP
Im passiven FTP Modus eroeffnet der Client beide Verbindungen auf den FTP Server. Die erste Verbindung geht, wie auch im aktiven Modus, von einem zufaelligem unpriviligierten Port (N > 1024) auf den FTP Server Steuerungs-Port 21. Anstelle nun das PORT N+1 Kommandu zu uebersenden, sendet im passiven Fall der Client das PASV Kommando. Dies fuehr dazu, dass der Server einen zufaelligen unpriviligierten Port (N > 1024) oeffnet und dies dem Client uebersendet PORT P. Der Client oeffnet nun eine Data-Verbindung von lokal N+1 auf den Port P des FTP Server. Die Session ist somit komplett.
* Activ FTP :
command : client >1024 -> server 21 data : client >1024 <- server 20
* Passiv FTP :
command : client >1024 -> server 21 data : client >1024 -> server >1024