Hva er en FTP-server. FileZilla FTP-server for hjemme- eller lite kontornettverk

, gjelder også, hva FTP-tilgang er for, dens beskyttelsesfunksjoner og gjeldende vurdering av FTP-klienter .

FTP brukes til å overføre filer og mapper med filer over Internett. Dvs, brukeren kan laste opp data til serveren uten å bruke en nettleser. FTP på hostingen er designet for å laste opp nettsteder direkte til selve hostingen.

En oversikt over populære FTP- og SSH-klienter for fil(data)overføring.

La oss først finne ut hva du trenger å vite for å laste opp et nettsted til en vertsleverandørs server. Først av alt er dette en pålogging, et tilgangspassord, samt en FTP-serveradresse. Alle disse data sendes vanligvis i et brev fra verten etter bestilling av tjenesten du har valgt.

For å overføre data anbefales det å bruke FTP-klienter, som i stor grad letter brukerens arbeid. Når du kobler en PC til en server ved hjelp av FTP, overføres data via TCP-porten (nummerert fra 1024 til 65535). I aktiv modus settes portnummeret av brukeren, i passiv modus - av vertsleverandørens server. I de fleste tilfeller bruker hostere den passive modusen.

Hvordan sikre FTP-tilgang? FTP-hack oppstår oftest på grunn av at det er virus på datamaskinen til brukeren som laster ned filer via FTP. Slike virus stjeler pålogginger og passord, og får deretter tilgang til nettstedet ditt. Derfor, hvis du bruker FTP-nedlasting Pass på å ta vare på fraværet av alle typer skadelig programvare på PC-en din ellers kan konsekvensene bli alvorlige.

God beskyttelse erbruker ssh . Essensen av denne teknologien er som følger: SSH er faktisk en nøkkel som brukeren har på serveren. Den lar deg kryptere informasjon under overføringen, og dekryptere den på serveren. Derfor, under dataoverføring ved hjelp av disse nøklene, er det umulig å hacke og koble til før tilkoblingen og informasjonen din er helt trygg. hvordan noen andre verter gir SSH-tilgang for sine brukere.

Det er en annen metode for å sikre FTP-tilgang.Bruke .ftpaccess-filen det er mulig å blokkere FTP-tilgang for enhver katalog på serveren med lagrede filer. For å lage en slik fil, må du lage den vanligste ftpaccess.txt-filen på din personlige datamaskin, angi en oppføring i den for IP-adresser som kan nås via FTP-tilgang. Deretter må du gi det nytt navn til .ftpaccess og laste det opp til mappen som vil bli blokkert. Det er alt.

For praktisk arbeid med FTP, spesiellFTP-klientprogrammer. Blant de mest relevante og mye brukte erFilezilla, SmartFTP, Far Manager, Total Commander, AceFTP annen. Mer informasjon .

Hvordan koble til hosting via FTP ved hjelp av FileZilla.

Prosess opprette ftp-kontoer på hosting avhenger av det forhåndsinstallerte kontrollpanelet, men enten det er cPanel, ISP manager eller Parallels Plesk, er prosessen veldig lik og enkel selv for en nybegynner hosting manager. Du må finne seksjonen FTP-kontoer eller FTP-tilgang og manuelt opprette en FTP-bruker der med oppgitt navn og passord.

Hvordan opprette en ny FTP-konto i cpanel. .

Til sette opp en FTP-tilkobling , må du bruke følgende parametere: FTP-server (vert) - domenenavn på nettstedet, teknisk adresse (hvis domenet ikke er rettet til vertsnettstedet) eller serverens IP-adresse, port - 21, brukernavn - pålogging fra FTP, passord - passord fra FTP.

Vi håper våre tips vil hjelpe deg å jobbe med FTP. Hvis du har flere spørsmål, vennligst kontakt vår 24/7 tekniske støtte. Vi hjelper deg gjerne!

2732 gang(er) 3 ganger sett i dag

FTP-protokollen har vært brukt i lang tid og er ved første øyekast ekstremt enkel. Denne enkelheten er imidlertid åpenbar og mange begynner å oppleve problemer med å etablere en FTP-tilkobling, spesielt når serveren eller klienten er bak en brannmur eller NAT. Derfor vil vi i dag snakke om funksjonene til FTP-protokollen i ulike moduser.

FTP-protokollen er den eldste nettverksprotokollen (opprettet i 1971), men er fortsatt mye brukt i dag. En viktig funksjon ved protokollen er at den bruker flere tilkoblinger: en for kontrollkommandoer, resten for data. Dessuten kan flere dataforbindelser åpnes, i hver av disse kan filer overføres i begge retninger. Det er med denne funksjonen en rekke problemer er forbundet.

Avhengig av metoden for å etablere en dataforbindelse, er det aktive og passive moduser for FTP-drift. I aktiv modus etablerer serveren selv en dataforbindelse til klienten, i passiv modus, omvendt. La oss vurdere disse modusene mer detaljert.

Aktiv modus

I de fleste tilfeller, for normal drift av FTP-serveren bak NAT, vil det være nok å videresende port 21 for kontrolløkten, 20 for aktiv modus (hvis brukt), og også spesifisere og videresende rekkevidden av dynamiske porter for data overføre.

Et annet viktig poeng, hvis du videresender porter for flere FTP-servere, bør du på hver av dem spesifisere ditt utvalg av dynamiske porter og videresende til de samme portnumrene til det eksterne grensesnittet. Hvorfor? Fordi portnummeret sendes av serveren i kontrollkommandoen og ikke vet noe om videresending, hvis portnummeret som sendes av serveren ikke samsvarer med portnummeret på det eksterne grensesnittet, vil ikke klienten kunne opprette en forbindelse. Mens kontrollporten og aktivmodusporten kan videresendes til alle eksterne porter.

Vi håper at denne artikkelen vil hjelpe deg å bedre forstå mekanismen til FTP-protokollen og bevisst nærme deg konfigurasjons- og diagnoseprosessen.


2. FTP-hosting fungerer ikke

Kontoret er koblet til IP + satellitt på innkommende. Banken har to nettverk + kort for satellitten. Ett nettverk for IP, ett for internt LAN.

1. Det interne nettverket er nede.
2. FTP-hosting fungerer ikke

Rute stimer. Med andre ord:

a) Din interne lokalitet har adresser som 192.168.x.x (mest sannsynlig)
b) Satellitt-vpn har adresser som 192.168.x.x
c) IP har adresser som 192.168.x.x
d) det er 2 standard gatewayer til eksterne nettverk: IS og satellitt

Ruteren blir gal når den prøver å finne ut hvor du vil.

Kontoret er koblet til IP + satellitt på innkommende. Banken har to nettverk + kort for satellitten. Ett nettverk for IP, ett for internt LAN.

1. Det interne nettverket er nede.
2. FTP-hosting fungerer ikke
ipconfig/all og netstat -r
kanskje vi finner ut av noe =)

ipconfig/all og netstat -r
kanskje vi finner ut av noe =)

Konfigurere IP for Windows

Datamaskinnavn. . . . . . . . . : MISHA
Primært DNS-suffiks. . . . . . :
Nodetype. . . . . . . . . . . . . : peer-to-peer
IP-ruting er aktivert. . . . : Ja
WINS-proxy er aktivert. . . . . . . : Nei
Oppslagsrekkefølge for DNS-suffiks. : chelcom.ru

kontor - Ethernet-adapter:


Beskrivelse. . . . . . . . . . . . : Realtek RTL8139 Family PCI Fast Ethe
rnet NIC
Fysisk adresse. . . . . . . . . : 00-40-F4-C1-BB-D4
IP adresse. . . . . . . . . . . . : 192.168.0.1
Nettverksmaske. . . . . . . . . . : 255.255.255.0
Hovedinngang. . . . . . . . . . :

sat-ethernet-adapter:

DNS-suffikset for denne tilkoblingen. . :
Beskrivelse. . . . . . . . . . . . : TechniSat DVB-PC TV Star PCI
Fysisk adresse. . . . . . . . . : 00-D0-D7-13-2D-EF
Automatisk innstilling er aktivert. . . . . : Nei
IP adresse. . . . . . . . . . . . : 192.168.45.1
IP adresse. . . . . . . . . . . . : 81.169.230.150
Nettverksmaske. . . . . . . . . . : 255.255.255.252
Hovedinngang. . . . . . . . . . : 81.169.230.149
DHCP-server. . . . . . . . . . . : 81.169.230.149
Leie mottatt. . . . . . . . . : 16. april 2007 16:56:54
Leieavtalen går ut. . . . . . . . . : 19. april 2007 16:56:54

interkommunikasjon - Ethernet-adapter:

DNS-suffikset for denne tilkoblingen. . : chelcom.ru
Beskrivelse. . . . . . . . . . . . : NVIDIA nForce nettverkskontroller
Fysisk adresse. . . . . . . . . : 0********1-A9-0D-57
DHCP er aktivert. . . . . . . . . . . : Ja
Automatisk innstilling er aktivert. . . . . : Ja
IP adresse. . . . . . . . . . . . : 192.168.56.201
Nettverksmaske. . . . . . . . . . : 255.255.252.0
Hovedinngang. . . . . . . . . . : 192.168.56.1
DHCP-server. . . . . . . . . . . : 192.168.56.1
83.142.161.19
Leie mottatt. . . . . . . . . : 16. april 2007 17:54:34
Leieavtalen går ut. . . . . . . . . : 16. april 2007 19:04:26

IS Inet - PPP-adapter:

DNS-suffikset for denne tilkoblingen. . :
Beskrivelse. . . . . . . . . . . . : WAN (PPP/SLIP) grensesnitt
Fysisk adresse. . . . . . . . . : 0****0
DHCP er aktivert. . . . . . . . . . . : Nei
IP adresse. . . . . . . . . . . . : 80.255.91.191
Nettverksmaske. . . . . . . . . . : 255.255.255.255
Hovedinngang. . . . . . . . . . : 80.255.91.191
DNS-servere. . . . . . . . . . . : 83.142.161.17
83.142.161.19
NetBIOS over TCP/IP. . . . . . . : funksjonshemmet

ipconfig/all og netstat -r
kanskje vi finner ut av noe =)

C:\Documents and Settings\ъъх>netstat -r

Rutetabell

Grensesnittliste
0x1.................MS TCP Loopback-grensesnitt
0x2 ...00 40 f4 c1 bb d4 ...... Realtek RTL8139 Family PCI Fast Ethernet NIC - ╠
sheshyayuЁЄ yayreshЁyut∙shar yarhyut
0x3 ...00 d0 d7 13 2d ef ...... TechniSat DVB-PC TV Star PCI
∙shar yarhyut
0x4 ...0********1 a9 0d 57 ​​​​...... NVIDIA nForce nettverkskontroller
yreshЁyut∙shar yarhyut
0x40006 ...0********0 ...... WAN (PPP/SLIP) grensesnitt
============================== ============================== ===============
============================== ============================== ===============
Aktive ruter:
Nettverksadresse Nettmask Gateway Address Interface Metrikk
0.0.0.0 0.0.0.0 80.255.91.191 80.255.91.191 2
0.0.0.0 0.0.0.0 81.169.230.149 81.169.230.150 1
0.0.0.0 0.0.0.0 192.168.56.1 192.168.56.201 22
62.153.159.134 255.255.255.255 80.255.91.191 80.255.91.191 1
64.236.167.41 255.255.255.255 80.255.91.191 80.255.91.191 1
80.255.91.191 255.255.255.255 127.0.0.1 127.0.0.1 50
80.255.255.255 255.255.255.255 80.255.91.191 80.255.91.191 50
81.169.147.10 255.255.255.255 80.255.91.191 80.255.91.191 1
81.169.147.16 255.255.255.255 80.255.91.191 80.255.91.191 1
81.169.147.25 255.255.255.255 80.255.91.191 80.255.91.191 1
81.169.147.27 255.255.255.255 80.255.91.191 80.255.91.191 1
81.169.147.32 255.255.255.255 80.255.91.191 80.255.91.191 1
81.169.147.43 255.255.255.255 80.255.91.191 80.255.91.191 1
81.169.230.148 255.255.255.252 81.169.230.150 81.169.230.150 20
81.169.230.150 255.255.255.255 127.0.0.1 127.0.0.1 20
81.255.255.255 255.255.255.255 81.169.230.150 81.169.230.150 20
83.142.160.155 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.9 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.17 255.255.255.255 80.255.91.191 80.255.91.191 1
83.142.161.19 255.255.255.255 80.255.91.191 80.255.91.191 1
83.142.161.20 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.29 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.35 255.255.255.255 192.168.56.21 192.168.56.201 1
83.142.161.40 255.255.255.255 192.168.56.1 192.168.56.201 20
83.142.161.44 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.50 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.62 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.68 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.224 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.226 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.241 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.161.242 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.162.174 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.114 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.122 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.158 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.178 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.194 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.202 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.246 255.255.255.255 192.168.56.1 192.168.56.201 1
83.142.163.254 255.255.255.255 192.168.56.1 192.168.56.201 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1

192.168.0.1 255.255.255.255 127.0.0.1 127.0.0.1 30
192.168.0.255 255.255.255.255 192.168.0.1 192.168.0.1 30
192.168.45.0 255.255.255.252 192.168.45.1 81.169.230.150 20
192.168.45.1 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.45.255 255.255.255.255 81.169.230.150 81.169.230.150 20
192.168.56.0 255.255.252.0 192.168.56.201 192.168.56.201 20
192.168.56.201 255.255.255.255 127.0.0.1 127.0.0.1 20
192.168.56.255 255.255.255.255 192.168.56.201 192.168.56.201 20
194.25.134.24 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.25 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.26 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.27 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.32 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.33 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.88 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.89 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.90 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.91 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.96 255.255.255.255 80.255.91.191 80.255.91.191 1
194.25.134.97 255.255.255.255 80.255.91.191 80.255.91.191 1
224.0.0.0 240.0.0.0 81.169.230.150 81.169.230.150 20
224.0.0.0 240.0.0.0 192.168.0.1 192.168.0.1 30
224.0.0.0 240.0.0.0 192.168.56.201 192.168.56.201 20
224.0.0.0 240.0.0.0 80.255.91.191 80.255.91.191 1
255.255.255.255 255.255.255.255 80.255.91.191 80.255.91.191 1
255.255.255.255 255.255.255.255 81.169.230.150 81.169.230.150 1
255.255.255.255 255.255.255.255 192.168.0.1 192.168.0.1 1
255.255.255.255 255.255.255.255 192.168.56.201 192.168.56.201 1
Standard gateway: 81.169.230.149

Hmm lokalisering fungerer ikke i det hele tatt? Ping pass mellom serveren og interne maskiner? Hvis de ikke passerer, hva gir da sporet av typene interne trillebårer fra serveren? Med ruting som jambs observerer jeg ikke, ruten
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1 30

192.168.0.0 255.255.0.0 192.168.56.1 192.168.56.201 1

Spesifiser om ftp, hva slags hosting? Hva er IP-en deres? Hvordan organiserer du til og med tilgang til Internett, gjennom en satellittproxy? Prøv å bryte på ftp i passiv modus.

Hmm lokalisering fungerer ikke i det hele tatt? Ping pass mellom serveren og interne maskiner? Hvis de ikke passerer, hva gir da sporet av typene interne trillebårer fra serveren? Med ruting som jambs observerer jeg ikke, ruten
192.168.0.0 255.255.255.0 192.168.0.1 192.168.0.1 30
det er, det burde i teorien være viktigere enn ruten
192.168.0.0 255.255.0.0 192.168.56.1 192.168.56.201 1
For masken er større og den må bryte seg inn i LANet ditt gjennom det interne nettverket.

Spesifiser om ftp, hva slags hosting? Hva er IP-en deres? Hvordan organiserer du til og med tilgang til Internett, gjennom en satellittproxy? Prøv å bryte på ftp i passiv modus. (192.168.97.253) > logget inn anonymt med innlogging/pass: anonym/ [e-postbeskyttet]
(0******1) 18.04.2********7:09:37 - anonym (192.168.97.253) > 230 Anonyme brukere pålogget.
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > OPTS utf8 på
(0******1) 18.04.2********7:09:37 - anonym (192.168.97.253) > 500 Ukjent kommando.
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > PWD
(0******1) 18.04.2******7:09:37 - anonym (192.168.97.253) > 257 "/" er gjeldende katalog.
(0******1) 18.04.2********7:09:37 - anonym (192.168.97.253) > CWD /
(0******1) 18.04.2******7:09:37 - anonym (192.168.97.253) > bedt om å endre katalog: "L:\Films\ -> L:\Films\ " --> Tilgang tillatt.
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > 250 CWD-kommando vellykket. "/" er gjeldende katalog.
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > TYPE A
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > 200 Type satt til A.
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > PASV
(0******1) 18.04.2********7:09:37 - anonym (192.168.97.253) > 227 Går inn i passiv modus (192,168,0,2,4,6)
(0******1) 18.04.2******7:09:37 - anonym (192.168.97.253) > 530 PASV-kommando aksepterer kun tilkobling fra klientens IP-adresse (192.168.97.253!=feil) .
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > LISTE
(0********1) 18.04.2********7:09:37 - anonym (192.168.97.253) > 550 Liste mislyktes. Ingen port spesifisert.

FTP) er en standardmekanisme for å kopiere en fil fra en vert til en annen. Overføring av filer fra en datamaskin til en annen er en av de mange vanlige oppgavene som forventes av et organisert nettverk og kommunikasjon mellom nettverk.

Selv om overføring av filer fra ett system til et annet virker som en enkel og grei oppgave, er det noen problemer som må løses først. For eksempel kan to systemer bruke forskjellige konvensjoner for filnavn. De to systemene kan ha ulike måter å representere tekster og data på. De to systemene kan ha forskjellige katalogstrukturer. FTP løser alle disse problemene på en veldig enkel og elegant måte.

FTP skiller seg fra andre klient-serverapplikasjoner ved at den etablerer to forbindelser mellom verter. Den ene forbindelsen brukes til dataoverføring, den andre til informasjonshåndtering (kommandoer og svar). Separasjon av kommandoer og overføringer kontrolldata gjør FTP mer effektiv. Tilkoblingsadministrasjon bruker svært enkle regler for kommunikasjon. Vi trenger bare en kommandolinje eller en svarlinje for overføring. På den annen side trenger en datakobling mer komplekse regler på grunn av variasjonen av datatyper.

FTP bruker to spesifiserte porter: port 21 for administrasjon og port 20 for dataoverføring.


Ris. 13.5.

Filtype

FTP kan overføre følgende typer filer over en datatilkobling:

  • ASCII-fil. Dette er standardformatet for å oversette tekstfiler. Hvert tegn er kodet med NVT ASCII-tegn. Senderen konverterer filen fra opprinnelig representasjon til NVT ASCII og mottakeren konverterer NVT ASCII-tegn til naturlig representasjon.
  • EBCDIC-fil. Hvis begge ender av forbindelsen bruker EBCDIC-koding, kan filen overføres ved hjelp av EBCDIC-koding.
  • Bildefil. Denne filen er standardformatet for overføring av binære filer. Filen sendes som en kontinuerlig strøm av biter uten noen tolkning eller koding. Det er mest brukt til å overføre binære filer som et kompilert program.

Hvis filen er kodet i ASCII eller EBCDIC , må andre attributter legges til for å avgjøre om filen kan skrives ut:

  1. Forbudt for utskrift. Dette er standardformatet for overføring av tekstfiler. Filen inneholder ikke "vertikale" spesifikasjoner for utskrift. Dette betyr at filen ikke kan skrives ut uten forhåndsbehandling fordi den ikke inneholder tegn tolket for vertikal bevegelse. skrivehode. Dette formatet brukes for filer som vil bli samlet inn og behandlet senere.
  2. TELNET. I dette formatet inneholder filen NVT ASCII vertikale tegn som CR (vognretur), LN (linjemating), NL (nylinje) og VT (vertical tab). Disse filene kan skrives ut etter overføring

Data struktur

FTP kan overføre en fil over en datatilkobling ved å bruke en av følgende tolkninger av datastrukturen:

  • Filstruktur (standard). Denne filen har ingen struktur. Dette er en kontinuerlig strøm av data.
  • Rekordstruktur. Denne filen er delt i poster. Den kan bare brukes med en tekstfil.
  • Sidestruktur. Dette er en fil delt inn i sider, hver side har et nummer og side tittel. Sider kan akkumuleres eller nås ved hjelp av tilfeldig tilgang eller sekvensiell tilgang.

Overføringsmoduser

FTP kan overføre en fil over en datatilkobling ved å bruke en av følgende tre overføringsmoduser:

  • Strømmodus. Dette er standardmodusen. Data leveres fra FTP til TCP som en kontinuerlig strøm av data. TCP er ansvarlig for å dele opp dataene i segmenter av passende størrelse. Hvis dataene bare er en strøm av byte (filstruktur), er det ikke nødvendig med filavslutningstegn. Slutten av filen i dette tilfellet er frakoblingen av datatilkoblingen av avsenderen. Hvis dataene er delt inn i poster (struktur for post), vil hver post ha et en-byte slutttegn (EOR - end of record).
  • blokkmodus. Data kan leveres fra FTP og TCP i blokker. I dette tilfellet innledes blokken med en tre-byte-overskrift. Den første byten kalles blokkbeskrivelsen, de neste to bytene definerer størrelsen på blokken i byte.
  • Komprimert modus. Hvis filen er stor, kan dataene bli komprimert. Komprimeringsmetoden bruker normal lengdekoding. I denne metoden erstattes den suksessive gjenopptredenen av en blokk med data med én forekomst og antall repetisjoner. I teksten til filen er dette vanligvis et mellomrom (mellomrom). I en binær fil er null-tegn vanligvis komprimert.

FTP bruker en kontrollforbindelse for å etablere kommunikasjon mellom en klients kontrollprosess. Under denne kommunikasjonen sendes kommandoer fra klienten til serveren, og svar sendes fra serveren til klienten (Figur 13.6).


Ris. 13.6.

FTP (File Transfer Protocol) er en standardprotokoll for overføring av filer over TCP-nettverk (for eksempel Internett). FTP brukes ofte til å laste ned nettsider og andre dokumenter fra en privat utviklingsenhet til offentlige vertsservere.

Protokollen er bygget på en klient-server-arkitektur og bruker forskjellige nettverksforbindelser for å overføre kommandoer og data mellom klient og server. FTP-brukere kan autentisere seg ved å sende et brukernavn og passord i klartekst, eller, hvis tillatt på serveren, kan de koble seg anonymt. Du kan bruke SSH-protokollen for en sikker overføring som skjuler (krypterer) brukernavnet og passordet, og krypterer innholdet.

Et ganske slående trekk ved FTP-protokollen er at den bruker flere (minst doble) tilkoblinger. I dette tilfellet er en kanal kontrollkanalen, gjennom hvilken kommandoer mottas til serveren og dens svar returneres (vanligvis via TCP-port 21), og dataene blir faktisk overført gjennom resten, en kanal for hver overføring. Derfor, innenfor rammen av én økt, kan flere filer overføres samtidig via FTP-protokollen, og i begge retninger. For hver datakanal åpnes en egen TCP-port, hvor nummeret velges enten av serveren eller av klienten, avhengig av overføringsmodus.

FTP-protokollen har en binær overføringsmodus, som reduserer trafikkoverhead og reduserer datautvekslingstiden ved overføring av store filer. HTTP-protokollen krever nødvendigvis at binær informasjon kodes til tekstform, for eksempel ved å bruke Base64-algoritmen.

Starter arbeidet gjennom FTP-protokollen, klienten går inn i økten, og alle operasjoner utføres i denne økten (med andre ord, serveren husker gjeldende tilstand). HTTP-protokollen "husker" ingenting - dens oppgave er å gi data og derfor glemme å huske tilstanden når du bruker HTTP utføres av metoder utenfor protokollen.

FTP opererer på applikasjonslaget til OSI-modellen og brukes til å overføre filer ved hjelp av TCP/IP. For å gjøre dette må en FTP-server kjøre og vente på innkommende forespørsler. Klientdatamaskinen kan kommunisere med serveren på port 21. Denne tilkoblingen (kontrollflyten) forblir åpen så lenge økten varer. Den andre tilkoblingen (datastrømmen) kan åpnes enten av serveren fra port 20 til porten til den korresponderende klienten (aktiv modus), eller av klienten fra en hvilken som helst port til porten til den tilsvarende serveren (passiv modus), som er nødvendig for å overføre datafilen. Kontrollflyten brukes til å jobbe med økten - for eksempel utveksling mellom klienten og serveren av kommandoer og passord ved hjelp av en telnet-lignende protokoll. For eksempel vil "RETR filnavn" overføre den angitte filen fra serveren til klienten. På grunn av denne to-ports strukturen regnes FTP som en out-of-band-protokoll, i motsetning til in-band HTTP.

Tilkobling og dataoverføring

Protokollen er definert i RFC 959. Serveren svarer på kontrollflyten med tre-tegns ASCII-statuskoder med en valgfri tekstmelding. For eksempel betyr "200" (eller "200 OK") at den siste kommandoen var vellykket. Tallene representerer svarkoden og teksten representerer avklaringen eller forespørselen. En pågående datastrømoverføring kan avbrytes av en avbruddsmelding sendt over kontrollstrømmen.

FTP kan operere i aktiv eller passiv modus, som bestemmer hvordan forbindelsen etableres. I aktiv modus oppretter klienten en kontroll-TCP-forbindelse med serveren og sender sin IP-adresse og et vilkårlig klientportnummer til serveren, hvoretter den venter til serveren starter en TCP-forbindelse med denne adressen og portnummeret. Hvis klienten er bak en brannmur og ikke kan akseptere en innkommende TCP-tilkobling, kan passiv modus brukes. I denne modusen bruker klienten en kontrollflyt for å sende en PASV-kommando til serveren, og mottar deretter sin IP-adresse og portnummer fra serveren, som deretter brukes av klienten til å åpne en dataflyt fra en vilkårlig klientport til mottatt adresse og port. Begge modusene ble oppdatert i september 1998 for å støtte IPv6. I løpet av denne tiden ble ytterligere endringer i passiv modus gjort, og oppdaterte den til forbedret passiv modus.

Når du overfører data over et nettverk, kan fire representasjoner av data brukes:

    ASCII - brukes til tekst. Dataene, om nødvendig, konverteres fra tegnrepresentasjonen på avsenderverten til "8-bits ASCII", og (igjen, om nødvendig) til tegnrepresentasjonen til den mottakende verten, før overføring. Som et resultat er denne modusen ikke egnet for filer som inneholder mer enn ren tekst.

    Bildemodus (ofte referert til som binær) - senderenheten sender hver fil byte for byte, og mottakeren lagrer bytestrømmen ved mottak. Støtte for denne modusen er anbefalt for alle FTP-implementeringer.

    EBCDIC - brukes til å overføre ren tekst mellom verter i EBCDIC-koding. Ellers ligner denne modusen på ASCII-modus.

    Lokal modus - lar to datamaskiner med identiske innstillinger sende data i eget format uten konvertering til ASCII.

For tekstfiler er det gitt ulike kontrollformater og innstillinger for poststruktur. Disse funksjonene ble utviklet for å fungere med filer som inneholder Telnet- eller ASA-formatering.

Dataoverføring kan utføres i en av tre moduser:

    Strømmodus - data sendes som en kontinuerlig strøm, og frigjør FTP fra å utføre noen form for behandling. I stedet gjøres all behandling av TCP. En filsluttindikator er ikke nødvendig, bortsett fra for å dele opp dataene i poster.

    Blokkeringsmodus - FTP deler data i flere blokker (overskriftsblokk, antall byte, datafelt) og overfører dem deretter til TCP.

    Komprimeringsmodus - data komprimeres av en enkelt algoritme (vanligvis kjøringslengdekoding).

Autentisering

FTP-autentisering bruker det vanlige brukernavn/passordskjemaet for å gi tilgang. Brukernavnet sendes til serveren med USER-kommandoen, og passordet sendes med PASS-kommandoen. Hvis informasjonen gitt av klienten aksepteres av serveren, sender serveren en invitasjon til klienten og økten starter. Brukere kan, hvis serveren støtter denne funksjonen, logge på uten å oppgi legitimasjon, men serveren kan bare gi begrenset tilgang for slike økter.

AnonymFTP

En vert som tilbyr en FTP-tjeneste kan gi anonym FTP-tilgang. Brukere logger vanligvis på med "anonym" som brukernavn. Selv om brukere vanligvis blir bedt om å oppgi e-postadressen sin i stedet for et passord, blir det faktisk ikke gjort noen bekreftelse. Mange FTP-verter som tilbyr programvareoppdateringer støtter anonym tilgang.

NAT- PT

Spesielt for at FTP-protokollen skal fungere gjennom brannmurer, ble det laget en NAT-utvidelse kalt NAT-PT (rfc2766), som lar deg oversette innkommende tilkoblinger fra serveren til klienten gjennom NAT. I prosessen med en slik tilkobling erstatter NAT de overførte dataene fra klienten, og indikerer til serveren den sanne adressen og porten som serveren kan koble til, og oversetter deretter tilkoblingen fra serveren fra denne adressen til klienten til adressen. . Til tross for alle tiltak og innovasjoner som er tatt for å støtte FTP-protokollen, er NAT-PT-funksjonen i praksis vanligvis deaktivert i alle rutere og rutere for å gi ekstra sikkerhet mot virustrusler.

NATog omgå brannmurer

FTP overfører normalt data når serveren er koblet til klienten, etter at klienten har sendt PORT-kommandoen. Dette skaper et problem for både NAT og brannmurer som ikke tillater tilkoblinger fra Internett til interne verter. For NAT er et ekstra problem at representasjonen av IP-adressene og portnummeret i PORT-kommandoen refererer til IP-adressen og porten til den interne verten, i stedet for den offentlige IP-adressen og NAT-porten. Det er to tilnærminger til dette problemet. Den første er at FTP-klienten og FTP-serveren bruker PASV-kommandoen, som påkaller en dataforbindelse etablert fra klienten til serveren. Den andre tilnærmingen er å endre NAT-verdiene til PORT-kommandoen ved å bruke en gateway i applikasjonslaget.

Nettleserstøtte

De fleste vanlige nettlesere kan hente filer som ligger på FTP-servere, selv om de kanskje ikke støtter protokollutvidelser som FTPS. Når en FTP-adresse er spesifisert i stedet for en HTTP-adresse, presenteres det tilgjengelige innholdet på den eksterne serveren på samme måte som annet nettinnhold. En fullt funksjonell FTP-klient kan kjøres i Firefox som en FireFTP-utvidelse.

Sikkerhet

FTP ble ikke designet for å være sikker (spesielt etter dagens standarder) og har en rekke sikkerhetssårbarheter. I mai 1999 reduserte forfatterne av RFC 2577 sårbarhetene til følgende liste over problemer:

    Sprett angrep

    Spoof angrep

    Brude kraftangrep

    Pakkefangst, snusing

    Brukernavnbeskyttelse

    Havntyveri

FTP kan ikke kryptere trafikken, alle overføringer er klartekst, så brukernavn, passord, kommandoer og data kan leses av alle som kan avskjære pakken over nettverket. Dette problemet er felles for mange Internett-protokollspesifikasjoner (inkludert SMTP, Telnet, POP, IMAP) som ble utviklet før opprettelsen av krypteringsmekanismer som TLS og SSL. Den vanlige løsningen på dette problemet er å bruke "sikre", TLS-sikre versjoner av de sårbare protokollene (FTPS for FTP, TelnetS for Telnet, etc.) eller en annen sikrere protokoll, som SFTP/SCP, som følger med de fleste implementeringer av Sikker Shell-protokoll. .

SikkerFTP

Det er flere sikre filoverføringsmetoder, på et eller annet tidspunkt referert til som "Secure FTP": FTPS, SFPS, FTP over SSH.

Eksplisitt FTPS er en utvidelse av FTP-standarden som lar klienter kreve at en FTP-sesjon krypteres. Dette implementeres ved å sende kommandoen "AUTH TLS". Serveren har muligheten til å tillate eller avvise tilkoblinger som ikke ber om TLS. Denne protokollutvidelsen er definert i RFC 4217. Implisitt FTPS er en foreldet standard for FTP som krever bruk av en SSL- eller TLS-tilkobling. Denne standarden skulle bruke andre porter enn vanlig FTP.

SFTP, eller "SSH File Transfer Protocol", er ikke relatert til FTP, bortsett fra at den også overfører filer og har et lignende sett med kommandoer for brukere. SFTP, eller sikker FTP, er et program som bruker SSH (Secure Shell) for å overføre filer. I motsetning til standard FTP, krypterer den både kommandoer og data, og forhindrer at passord og sensitiv informasjon overføres åpent over nettverket. SFTP ligner i funksjonalitet på FTP, men fordi den bruker en annen protokoll, kan ikke standard FTP-klienter kontakte en SFTP-server, og omvendt.

FTPgjennomSSH(ikkeSFTP)

FTP over SSH (ikke SFTP) refererer til praksisen med å tunnelere en normal FTP-økt over en SSH-tilkobling. Fordi FTP bruker flere TCP-tilkoblinger, er tunnelering over SSH spesielt vanskelig. Når mange SSH-klienter prøver å tunnelere kontrollkanalen (den originale "klient-server"-tilkoblingen på port 21), vil bare den kanalen være sikret; ved overføring av data vil FTP-programvaren i hver ende etablere nye TCP-forbindelser (datakanaler) som vil omgå SSH-forbindelsen og dermed miste integritetsbeskyttelsen.

Ellers må SSH-klientprogramvare ha litt kunnskap om FTP for å overvåke og omskrive FTP-kontrollflytmeldinger og autonomt åpne nye omdirigeringer for FTP-dataflyt.

FTP over SSH blir noen ganger referert til som sikker FTP; men ikke forveksle det med andre metoder som SSL/TLS (FTPS). Andre filoverføringsmetoder som bruker SSH og ikke er relatert til FTP er SFTP og SCP; i hver av dem er både legitimasjon og fildata alltid beskyttet av SSH-protokollen.

FXP (File eXchange Protocol) er en måte å overføre filer mellom to FTP-servere direkte uten å laste dem ned til datamaskinen. Under en FXP-sesjon åpner klienten to FTP-tilkoblinger til to forskjellige servere, ber om en fil på den første serveren, og spesifiserer IP-adressen til den andre serveren i PORT-kommandoen.

Den utvilsomme fordelen med å støtte FXP-standarden er at sluttbrukere som ønsker å kopiere filer fra en FTP-server til en annen ikke lenger er underlagt båndbreddegrensen for sin egen Internett-tilkobling. Det er ikke nødvendig å laste ned en fil for deg selv for å laste den opp til en annen FTP-server senere. Dermed vil filoverføringstiden kun avhenge av tilkoblingshastigheten mellom to eksterne FTP-servere, som i de fleste tilfeller åpenbart er høyere enn "brukerens".

FXP begynte å bli brukt av angripere til å angripe andre servere: PORT-kommandoen spesifiserer IP-adressen og porten til den angrepne tjenesten på offerets datamaskin, og RETR/STOR-kommandoene får tilgang til denne porten på vegne av FTP-serveren, og ikke den angripende maskin, som gjorde det mulig å arrangere store DDoS-angrep ved å bruke mange FTP-servere samtidig, eller omgå sikkerhetssystemet til offerets datamaskin hvis det kun er avhengig av å sjekke klientens IP og FTP-serveren som brukes til angrepet er plassert på en pålitelig nettverk eller gateway. Som et resultat sjekker nesten alle servere nå at IP-adressen angitt i PORT-kommandoen samsvarer med IP-adressen til FTP-klienten, og forbyr som standard bruk av tredjeparts IP-adresser der. Dermed er bruk av FXP ikke mulig når du arbeider med offentlige FTP-servere.

Grunnleggende kommandoer

    ABOR - Avbryt filoverføring

    CDUP - Endre katalog til overordnet.

    CWD - Endre katalog.

    DELE - Slett fil (DELE filnavn).

    EPSV - Gå inn i utvidet passiv modus. Brukes i stedet for PASV.

    HJELP – Viser en liste over kommandoer som er akseptert av serveren.

    LIST - Returnerer en liste over filer i en katalog. Listen overføres over dataforbindelsen.

    MDTM - Returnerer endringstiden for en fil.

    MKD - Opprett katalog.

    NLST - Returnerer en liste over filer i en katalog i et kortere format enn LIST. Listen overføres over dataforbindelsen.

    NOOP - Tom operasjon

    PASV - Gå inn i passiv modus. Serveren vil returnere adressen og porten du må koble til for å få dataene. Sendingen starter når følgende kommandoer legges inn: RETR, LIST, etc.

    PORT - Gå inn i aktiv modus. For eksempel PORT 12,34,45,56,78,89. I motsetning til den passive modusen for dataoverføring, kobler serveren seg til klienten.

    PWD - Returnerer gjeldende katalog.

    AVSLUTT - Koble fra

    REIN - Reinitialiser tilkoblingen

    RETR - Last ned fil. RETR må innledes med en PASV- eller PORT-kommando.

    RMD - Slett katalog

    RNFR og RNTO - Gi nytt navn til fil. RNFR - hva du skal gi nytt navn, RNTO - hva.

    SIZE - Returnerer filstørrelsen

    STOR - Last opp fil. STOR må innledes med en PASV- eller PORT-kommando.

    SYST - Returnerer systemtype (UNIX, WIN, ...)

    TYPE - Angi filoverføringstype (binær, tekst)

    BRUKER - Brukernavn for å logge på serveren