File Transfer Protocol

Från Wikipedia
Hoppa till: navigering, sök
Protokollstack för IP-nätverk
IP-skikt
Protokoll
5. Applikation  BitTorrent | DHCP | DNS | FTP | HTTP | IMAP | IRC | NNTP | POP3 | RTP | SIP | SMTP | SNMP | SSH | Telnet | TLS | SSL | TFTP
4. Transport DCCP | SCTP | TCP | UDP | IL | RUDP
3. Nätverk ARP | BGP | ICMP | IGMP | IP (IPv4 | IPv6) | RIP
2. Länk ATM | Ethernet | FDDI | ISDN | MPLS | Token Ring | PPP | SLIP | Wi-Fi
1. Fysiskt IEEE 802 | ISDN | RS-232 | IrDA | Bluetooth | xDSL

File Transfer Protocol eller FTP, ett av de tidigaste populära filöverföringsprotokollen för Internet. FTP är ett kommandobaserat protokoll för överföring av text och binära datafiler. Den första specifikationen skrev redan 1971.

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[redigera | redigera wikitext]

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, till exempel 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. Anonym FTP användes före HTTP fanns, och har huvudsakligen ersatts av HTTP.

Kommunikation[redigera | redigera wikitext]

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[redigera | redigera wikitext]

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.

Grundläggande kommandon[redigera | redigera wikitext]

Kommando Beskrivning
? Visar hjälp och information om ftp-kommandon.
ascii Sätter överföringen till textläge vilket gör att textfiler och skript förblir kör- och läsbara. Detta genom att styrtecken som till exempel nyradstecken konverteras till att passa mottagande operativsystem.
binary Sätter överföringen till binärläge vilket gör att filen överförs oförändrad. Används för övriga filtyper, som därmed inte förstörs av konverteringen.
bye Lämnar ftp-servern och ftp-miljön. Samma som quit.
cd ABC Byter mapp till sökvägen ABC på ftp-servern.
close ABC Lämnar ftp-servern ABC men lämnar ftp-miljön öppen.
delete ABC Tar bort filen ABC (Samma som rm i UNIX).
get ABC Kopierar filen ABC från ftp-servern till mappen där man står på lokal dator.
get ABC DEF Kopierar filen ABC från ftp-servern till sökvägen DEF på lokal dator.
help Listar tillgängliga ftp-kommandon.
lcd ABC Ändrar aktuell mapp på lokal dator till sökvägen ABC.
ls Listar innehållet i mappen där man står på ftp-servern.
mkdir Skapar en ny mapp i mappen där man står på ftp-servern.
mget Hämtar flera filer från ftp-server till mappen där man står på lokal dator. Frågar för varje fil.
mget * Hämtar alla filer som passar * från ftp-server till mappen där man står på lokal dator.
mput Skickar flera filer från mappen där man står på lokal dator till ftp-server. Frågar för varje fil.
mput * Skickar alla filer som passar * från mappen där man står på lokal dator till ftp-server.
open loke Öppnar en anslutning mot ftp-servern loke.
put ABC Skickar filen ABC från mappen där man står på lokal dator till ftp-server.
pwd Visar sökvägen till mappen där man står på ftp-servern.
quit Lämnar ftp-servern och ftp-miljön. (Samma som bye).
rmdir ABC Tar bort mappen med sökvägen ABC på ftp-serven.

OBS! Det förekommer även en mängd varianter av kommandon som inte är standardiserade och som bara fungerar i vissa fall.

Se även[redigera | redigera wikitext]

Externa länkar[redigera | redigera wikitext]