Filoverføringsprotokoll

File Transfer Protocol ( FTP ) , innen informatikk og telekommunikasjon , er en applikasjonslagsprotokoll for overføring av data mellom verter basert på TCP og med en klient-server-arkitektur .

Protokollen bruker separate TCP-tilkoblinger for å overføre data og kontrollere overføringer og krever klientautentisering via brukernavn og passord, selv om serveren kan konfigureres for anonyme tilkoblinger med dummy-legitimasjon. Siden FTP overfører både disse legitimasjonene og all annen kommunikasjon i klartekst, og siden den ikke har serverautentiseringsmekanismer hos klienten, er protokollen ofte sikret ved hjelp av et SSL/TLS -substrat og denne varianten kalles FTPS . Akronymet SFTP betegner i stedet en annen protokoll som, selv om den er veldig lik sistnevnte fra et funksjonelt synspunkt, er ganske forskjellig fra den teknologiske: SSH File Transfer Protocol .

Historie

FTP er en av de første protokollene som er definert på Internett og har gjennomgått en lang utvikling gjennom årene. Den første spesifikasjonen, utviklet ved MIT , dateres tilbake til 1971 ( RFC-114 ). Den gjeldende spesifikasjonen refererer til RFC-959 .

Hovedmålene til FTP beskrevet i dens offisielle RFC var:

Beskrivelse

Modell

Hvor er det:

Generell operasjon

FTP, i motsetning til andre protokoller som HTTP , bruker to separate tilkoblinger for å administrere kommandoer og data. En FTP-server lytter vanligvis på TCP -port 21 som klienten kobler seg til . Tilkoblingen av klienten bestemmer initialiseringen av kommandokanalen som klient og server utveksler kommandoer og svar gjennom. Selve utvekslingen av data (som en fil ) krever åpning av datakanalen, som kan være av to typer.

I en aktiv datakanal åpner klienten en vanligvis tilfeldig port, gjennom kommandokanalen gjør den kjent nummeret på denne porten til serveren og venter på at den skal kobles til. Når serveren har aktivert dataforbindelsen til FTP-klienten, binder sistnevnte kildeporten til port 20 på FTP-serveren. PORT- eller EPRT- kommandoene kan brukes til dette , avhengig av nettverksprotokollen som brukes (vanligvis IPv4 eller IPv6 ).

I en passiv datakanal åpner serveren en vanligvis tilfeldig port (høyere enn 1023), gjennom kommandokanalen gjør den kjent nummeret på denne porten til klienten og venter på at den skal kobles til. Til dette formålet kan PASV- eller EPSV- kommandoene brukes , avhengig av nettverksprotokollen som brukes (vanligvis IPv4 eller IPv6 ).

Både kommandokanalen og datakanalen er TCP -forbindelser ; FTP oppretter en ny datakanal for hver fil som overføres i brukersesjonen , mens kommandokanalen forblir åpen under hele brukersesjonen, med andre ord er kommandokanalen vedvarende mens datakanalen er ikke-vedvarende.

En FTP-server tilbyr flere funksjoner som lar klienten samhandle med filsystemet og filene som fyller det, inkludert:

FTP gir også et tydelig (ukryptert) autentiseringssystem for tilganger. Den tilkoblede klienten må kanskje oppgi legitimasjon avhengig av hvilke privilegier den vil bli tildelt for å kunne operere på filsystemet. Den såkalte "anonyme" autentiseringen krever at klienten ikke spesifiserer noe tilgangspassord og at den samme har privilegier som generelt er "skrivebeskyttet".

Kommandoer

Liste over kommandoer definert i RFC-959 .

Kommandoer
Fornavn Kommando Parametere Beskrivelse
Avbryte ABOR   Stopper dataoverføring.
Regnskap ACCT <account-information> Kontoinformasjon (sjelden brukt).
Tildelt ALLO <decimal-integer> Tildel nok plass til å motta en (sjelden brukt) fil.
Legg til (med opprette) APPE <pathname> Legger til data til en eksisterende fil.
Bytt til overordnet katalog CDUP   Gå til overordnet katalog.
Endre arbeidskatalog CWD <pathname> Endre gjeldende katalog.
Slett DELE <pathname> Slett filer.
Hjelp HELP <command> Returnerer listen over kommandoer som er akseptert av serveren. Med argument gir forklaringer om den angitte kommandoen.
Liste LIST <pathname> List innholdet i en katalog eller egenskapene til en enkelt fil.
Overføringsmodus MODE <mode-type> Still inn overføringsmodus ( ,, S=stream) . B=blockC=compressed
Lag katalog MKD <pathname> Opprett katalog.
Navneliste NLST <pathname> Returnerer filnavnene til den angitte katalogen.
Neida NOOP   Den gjør ingenting (mest brukt for å forhindre frakoblinger på grunn av langvarig inaktivitet).
Passord PASS <password> Angir brukerens passord.
Passiv PASV   Initialiser passiv datatilkobling.
Port dato PORT <host-port> Initialiser aktiv datatilkobling.
Skriv ut arbeidskatalog PWD   Returnerer gjeldende katalognavn.
Logg ut QUIT   Koble fra. Hvis en overføring fortsatt pågår, vent til den er ferdig før du avslutter økten.
Reinitialiser REIN   Logg av den påloggede brukeren.
Omstart REST <marker> Overføringen fortsetter fra den angitte forskyvningen.
Hente RETR <pathname> Hent filer (server til klient).
Fjern katalogen RMD <pathname> Fjern kataloger.
Gi nytt navn fra RNFR <pathname> Gi nytt navn (kilde).
Gi nytt navn til RNTO <pathname> Gi nytt navn (destinasjon).
Nettstedsparametere SITE <command> Send serverspesifikk kommando (ikke standardisert; varierer mellom implementeringer).
Strukturfeste SMNT <pathname> Monteringsstruktur (sjelden brukt).
Status STAT <pathname> Returner serverstatistikk. Med argument viser innholdet i en katalog ved hjelp av kommandokanalen.
butikk STOR <pathname> Send en fil (klient til server).
Butikk unik STOU <pathname> Sender en fil (klient til server) med et unikt navn.
Filstruktur STRU <structure-code> Angi datastrukturen ( F=file,, R=record) P=page. Så godt som ubrukt. Standard er F.
System SYST   Returner operativsystemtype.
Representasjonstype TYPE <type> Still inn overføringsmodus ( A=ASCII,,, ) . Standard er . EBCDIC og Local brukes sjelden (eksempel: bare på stormaskinsystemer). E=EBCDICI=BinaryL=LocalA
Brukernavn USER <username> Angi brukernavn.

Svarkoder

Sikkerhetsproblemer

Den opprinnelige FTP-spesifikasjonen gir ingen kryptering for data som utveksles mellom klient og server. Dette inkluderer brukernavn, passord, kommandoer, svarkoder og overførte filer som kan "sniffes" eller ses av angripere i visse situasjoner (eksempel: intranettmiljøer ).

Problemet er felles for flere andre protokoller som ble brukt før spredningen av SSL som HTTP , TELNET og SMTP . For å overvinne dette problemet er det definert en ny spesifikasjon som legger til et SSL/TLS -krypteringslag til den originale FTP-protokollen pluss et nytt sett med kommandoer og svarkoder. Protokollen kalles FTPS og er definert i RFC-4217 . For ikke å forveksle med SFTP som fortsatt er et gyldig alternativ for å løse problemet beskrevet.

Programmer som bruker FTP

FileZilla , Fire Downloader, gFTP , JDownloader er noen av de mange nedlastingsbehandlerne som lar deg overføre data via FTP-tilkobling.

Men i operativsystemer , generelt, kan du også logge på via kommandolinjen .

FTP-server

Noen populære FTP-servere er [1] :

Merknader

  1. ^ 4 populære FTP-servere anmeldt | TechWench , på techwench.com . Hentet 4. april 2019 .
  2. ^ SFTP-serverprogramvare for Windows , på TitanFTP.com . Arkivert fra originalen 19. august 2013. Hentet 5. november 2019 .

Relaterte elementer

Andre prosjekter

Eksterne lenker