FTP

Från Wikiskola
Hoppa till navigering Hoppa till sök

File Transfer Protocol eller FTP, ett av de mest populära filöverföringsprotokolltill Internet. FTP är ett kommandobaserat protokoll för överföring av texter och binära datafiler.

FTP är på flera sätt ett osäkert protokoll, främst för att lösenord och data skickas i klartext vilket ger en potentiell risk att någon sniffar information från dataströmmen. För att göra filöverföringen säkrare kan man kryptera den med hjälp av SSL eller SSH till exempel genom att köra SFTP. Moderna programvaror använder ett grafiskt eller textbaserat gränssnitt som skal för kommandon.

Användningsområden

Det finns olika offentliga platser där filer på en värddator är samlade för nerladdning. Ofta motsvarar filsystemet serverns filsystem, indelat i olika underkataloger. En av katalogens filer innehåller vanligtvis beskrivning av de andra filerna. (Namnet brukar vara index eller readme). Det finns inga sökfunktioner inbyggda i FTP-protokollet. Vissa menar att det begränsar protokollet och använder i stället ett annat, till exempel Anarchie-protokollet. När det gäller filarkiv har HTTP via webben blivit det mest använda. FTP används mycket av webbplatsägare för att ladda upp sidor till webbservrar.

Vid kontakt till offentliga filservrar används i allmänhet en konvention kallad ”anonym FTP”. Eftersom allmänheten inte kan antas ha användarnamn på servern ifråga används istället användarnamnet anonymous och som lösenord används den egna e-postadressen. FTP-servern känner igen detta specialfall och vidtar ofta säkerhetsåtgärder, t.ex. så att användaren endast har åtgång till en begränsad del av filträdet (Unix: chroot). E-postadressen kan användas för statistik och för att informera om problem med de nedladdade filerna.

Det främsta problemet med FTP är lösenord som skickas i klartext. Eftersom inget egentligt lösenord används vid anonym-FTP är denna form oproblematisk och kan användas som ett alternativ till HTTP. Eftersom e-postadressen inte verifieras kan en adress av typen <anonymous@example.com.invalid> användas.

Kommunikation

FTP kommunicerar vanligtvis över TCP-port 20 och 21. Port 21 används för kommandon och port 20 för data. Datakanalen kan öppnas direkt mellan två datorer så att filöverföringen kontrolleras från en tredje dator, datatrafiken behöver alltså inte gå via den kontrollerande datorn. Att TCP används medför att data skickas med felkontroll och automatisk omsändning till skillnad mot överföringar med UDP.

Det finns en variant av FTP som fungerar över UDP istället för TCP. Den kallas TFTP som är en akronym för engelskans Trivial File Transfer Protocol, ungefär enkelt filöverföringsprotokoll, avsett för enkel utrustning som inte klarar mer avancerade protokoll. Numera har den mesta utrustning ansluten till ett datanät kapacitet för dessa och IETF avråder kraftigt från att använda tftp i nya system.

Passiv eller aktiv ftp

En vanligt förekommande variant av FTP är "passiv" FTP. Passiv FTP lämpar sig för FTP-sessioner där klienten befinner sig innanför en brandvägg eller där NAT med PAT förekommer. Passiv FTP fungerar så att till skillnad från aktiv FTP där servern öppnar dataförbindelsen, öppnar klienten här både kommandoförbindelsen och dataförbindelsen. Normalt ansluter klienten till servern från en port högre än 1023 till port 21 på servern och upprättar därmed kommandoförbindelsen. Servern öppnar sedan dataförbindelsen från sin port 20 till porten precis ovanför klientens kommandoport. Med passiv FTP öppnar klienten först kommandoförbindelsen från en port ovanför 1023 till port 21 hos servern för att sedan öppna dataförbindelsen från porten ovanför till port 21 hos servern. Klienten har därmed säkerställt att brandväggar och NAT/PAT-översättningar vet att klienten initierat förbindelsen och kommer om inga andra filter är aktiverade att tillåta den. Moderna brandväggar har i allmänhet särskilda regler för FTP, så att också aktiv FTP fungerar.


Källa: Wikipedia