FTP
File Transfer Protocol (Port 20, 21)
Last updated
File Transfer Protocol (Port 20, 21)
Last updated
FTP är ett kommunikationsprotokoll för att flytta filer från en server till en klient i ett nätverk.
Körs på applikationsnivå i TCP/IP-stacken.
Vanligtvis behöver man inloggningsuppgifter för att använda FTP på en server.
Kan tillåta att köra anonym inloggning, vilket innebär att vem som helst kan ladda upp/ner filer via FTP utan lösenord.
FTP är ett klartext-protokoll vilket innebär att den skickar all trafik okrypterat, detta gör det sårbart för avlyssning.
Bygger på "Klient - Server"-modellen med separata kontroll- och data-kanaler mellan klient och server.
När man vill föra över en fil så öppnar FTP-anslutningen två kanaler.
Först etablerar klienten och servern en kontroll/autentiserings-kanal via TCP-port 21 där klienten skickar kommandon till servern och servern svarar med status-koder.
Här är en länk till möjliga statuskoder:
Efter detta kan klienten och servern etablera data-kanalen via TCP-port 20. Denna kanalen används endast för dataöverföring och felhantering. Skulle en anslutning avbrytas under överföringen så kan den återupptas efter återanslutning.
Det finns två varianter av FTP, aktiv och passiv:
Aktiv FTP
Här etablerar klienten anslutningen enligt ovan via TCP-port 21 och informerar servern vilken port på klientsidan som servern kan använda för att skicka sina svar.
Skulle en brandvägg skydda klienten så kan inte servern svara därför att all extern kommunikation är blockerad. Det var av denna anledningen som man utvecklade "Passiv FTP".
Passiv FTP
Här annonserar servern vilken port som klienten kan använda för att etablera data-kanalen.
Eftersom klienten initierar anslutningen i detta läget så blockerar inte brandväggen kommunikationen.