Page cover image

FTP

File Transfer Protocol (Port 20, 21)

Vad är FTP?

Beskrivning

  • 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.

Aktiv och Passiv FTP

  • 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.

Passive Mode


Last updated