Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Sfat
  • Exemple de servicii de fișiere de rețea includ FTP și NFS. Caracteristicile protocolului FTP

Exemple de servicii de fișiere de rețea includ FTP și NFS. Caracteristicile protocolului FTP

FTP este un tip de protocol de transfer de date care este utilizat pentru a copia și muta fișiere pe Internet și în rețelele TCP. FTP este adesea folosit pentru a descărca pagini și documente de diferite tipuri pe computere care găzduiesc. FTP utilizează o arhitectură client-server și diverse conexiuni în cadrul rețelei pentru a transfera comenzi și informații de la client la server și invers. Utilizatorii FTP au voie să parcurgă procedura de autentificare folosind un login și o parolă sau, dacă un astfel de formular este permis pe server, utilizatorii pot obține acces în mod anonim.
Pe lângă protocolul obișnuit, este folosit și FTPS, care este o extensie specială a FTP standard care permite clienților să acceseze serverul și să utilizeze sesiuni de transfer de date criptate. Această abordare este implementată prin trimiterea comenzii de autentificare „auth tls”, în timp ce serverului i se permite să accepte sau să respingă conexiuni care nu solicită conexiuni TLS.

SFTP

SFTP este un standard de transmisie pe Internet pentru mutarea și copierea fișierelor printr-o conexiune SSH (Secure Shell) sigură și securizată. Acest tip de conexiune poate oferi acces și transmisie securizată, care se realizează cu criptarea atât a numelui de conectare și a parolei, cât și a conținutului transmisiei în sine, protejând astfel parolele și informațiile confidențiale de transmisia deschisă în rețea.
Spre deosebire de FTP, protocolul SFTP, în ciuda funcțiilor similare, utilizează un alt protocol de transfer de date și, prin urmare, clienții standard nu pot comunica cu serverele SFTP.

Caracteristicile standardului FTP

Acest standard este unul dintre cele mai vechi protocoale de rețea care a fost creat acum 45 de ani și este utilizat pe scară largă pe Internet astăzi. Una dintre cele mai importante caracteristici ale protocolului este utilizarea mai multor conexiuni: una în scopul transmiterii comenzilor de control, iar cealaltă pentru transferul direct de fișiere. În acest caz, puteți deschide mai multe conexiuni paralele, fiecare dintre acestea putând transfera date în ambele direcții.
Există două moduri de operare FTP, care diferă în modul în care sunt stabilite conexiunile: pasiv și activ. În modul activ, serverul stabilește o conexiune pentru transferul de informații către utilizator, iar în modul pasiv, invers.
Acest standard a fost folosit de mult timp și, la prima vedere, este extrem de simplu. Dar această simplitate poate fi destul de înșelătoare, deoarece un număr mare de utilizatori pot întâmpina probleme în timp ce obțin acces conform acestui standard, mai ales dacă serverul sau utilizatorul utilizează un firewall sau NAT.

Caracteristicile modului activ

În timpul modului activ, clientul inițiază o conexiune de control la portul de server 21 prin transmiterea comenzii „port”, care indică adresa și portul transferului de informații. După ce a primit această comandă, serverul începe propria sa conexiune al 20-lea port cu portul de utilizator specificat.
Principalul dezavantaj al acestei metode este că utilizatorul trebuie să aibă o adresă IP dedicată pe Internet pentru muncă. În plus, pot apărea unele probleme dacă clientul se află în spatele unui firewall sau NAT.

Caracteristicile modului pasiv

Pentru a stabili o conexiune pasivă, utilizatorul trebuie să trimită o comandă specială „pasv” către server. Ca răspuns la această comandă, serverul trimite informații despre adresa și portul cu care clientul ar trebui să stabilească o conexiune. După primirea acestor date, utilizatorul se conectează la computerul server și transferă informații.
Când utilizați modul pasiv, absolut toate conexiunile sunt inițiate de client și, prin urmare, nu există cerințe pentru acesta. Utilizatorului i se permite să folosească NAT și firewall și, de asemenea, să nu folosească o adresă IP dedicată. Prin urmare, astăzi modul pasiv este utilizat ca principal tip de acces și transfer de fișiere prin FTP pe Internet.

Configurarea când se utilizează un firewall

Când utilizați un firewall și un mod activ, utilizatorii pot întâmpina probleme de acces. Dacă firewall-ul este configurat să respingă conexiunile de intrare care nu sunt inițiate intern, computerul server nu va putea stabili o comunicare și nu va putea începe să transmită informații. Și datorită faptului că portul pentru informații are o varietate dinamică, există unele dificultăți în timpul configurării firewall-ului. Cea mai bună opțiune în acest caz este să specificați intervalul de porturi care urmează să fie utilizate și să organizați o regulă specială pentru firewall care permite acestora.
În cazul utilizării modului pasiv, computerul server riscă să se ciocnească de această complexitate. În acest caz, puteți utiliza o soluție similară - specificați o anumită gamă de porturi utilizate în opțiuni și creați o regulă specială pentru acest interval.

Configurarea la utilizarea NAT

Pentru funcționarea corectă a FTP prin NAT și transferul de fișiere cu succes, nu este suficient doar să configurați redirecționarea porturilor de lucru, deoarece un computer server care operează de sub NAT va transmite adresa portului intern, iar clientul pur și simplu nu va putea conectați și transferați informații.
Unele implementări NAT moderne pot monitoriza canalul de control al conexiunii FTP și pot înlocui adresa internă cu cea externă pentru transmisia normală de date. În plus, serverele FTP au capacitatea de a specifica un port extern care ar trebui să apară în sesiunea de control.
Cel mai adesea, pentru transferul normal de fișiere prin FTP prin NAT, redirecționarea celui de-al 21-lea port este suficientă pentru a implementa o sesiune de control, precum și pentru a specifica și redirecționa gama de adrese dinamice utilizate pentru a transfera date pe Internet.

Arhivele FTP sunt una dintre principalele resurse de informații de pe Internet. De fapt, este un depozit distribuit de texte, programe, fotografii și alte informații stocate sub formă de fișiere pe diverse computere din întreaga lume.

Informațiile din arhivele FTP sunt împărțite în principal în trei categorii:

  • Informații protejate, modul de acces la care este determinat de proprietarii săi și este permis prin acord special cu consumatorul. Acest tip de resurse includ arhive comerciale (de exemplu, versiuni comerciale ale programelor din arhive ftp.microsoft.com), resurse necomerciale naționale și internaționale închise (de exemplu, lucrări la proiecte internaționale CES sau IAEA), informații private necomerciale cu moduri speciale de acces (de exemplu, fundații caritabile private).
  • Resurse de informații cu utilizare limitată, cum ar fi programe shareware. Această clasă poate include resurse cu timp limitat de utilizare sau timp limitat de acțiune.
  • Resurse de informații gratuite sau programe gratuite atunci când vine vorba de software. Aceste resurse includ tot ceea ce poate fi obținut gratuit prin rețea fără înregistrare specială. Poate fi documentație, programe sau altceva. Trebuie remarcat faptul că software-ul gratuit nu are un certificat de calitate, dar dezvoltatorii săi sunt deschiși să împărtășească experiențe.

Dintre resursele de mai sus, cele mai interesante sunt ultimele două categorii, care, de regulă, sunt concepute sub formă de arhive FTP.

Parametrii pentru înregistrarea informațiilor sunt procesați imediat dintr-o privire. Pentru fiecare eveniment care poate fi înregistrat, tu decideți dacă este înregistrat într-un fișier, un ecran, ambele sau oriunde. Fișierul jurnal va fi creat la intervalul specificat cu un nume nou care se potrivește cu masca specificată.

Jurnalul poate fi trimis prin e-mail la cerere. Un mesaj poate fi adresat mai multor adrese de e-mail. Fereastra de dialog în care ați configurat înregistrarea. Doar introduceți calea către fișierul text care conține aceste informații. Puteți alege text diferit pentru utilizatorii de intrare și altele pentru utilizatorii care ieși. Este interesant să setați o alertă sonoră pentru utilizatori. După conectare, deconectare, încărcare și alte evenimente, utilizatorii pot reda fișierul de sunet.

Tehnologia FTP a fost dezvoltată ca parte a proiectului ARPA și este concepută pentru a face schimb de cantități mari de informații între mașini cu arhitecturi diferite. Obiectivul principal al proiectului a fost asigurarea unui transfer fiabil, astfel încât, dintr-un punct de vedere modern, FTP-ul pare să fie supraîncărcat cu funcții redundante, rar utilizate. Nucleul tehnologiei este protocolul FTP.

Acestea vor fi comparate cu comenzile rapide care indică spre fișiere sau foldere situate în altă parte pe disc. Toate caracteristicile menționate mai sus, cum ar fi limitele de viteză, avertismentele sonore, setările de securitate, precum și vizualizările fișierelor ascunse pot fi personalizate pentru fiecare utilizator, indiferent de setările generale.

Pentru a vă menține să lucrați cu administrarea mai multor utilizatori, aceștia sunt disponibili în grupuri. Puteți schimba permisiunile pentru foldere, dar nu mai sunt setări disponibile. În fereastra „Conexiune”, puteți vizualiza lista utilizatorilor conectați, cât de repede comunică serverul, cât timp au fost conectați și multe alte numere utile. Puteți dezactiva câte un buton, dacă este necesar. Există o așa-numită listă neagră și o listă de fișiere descărcate.

protocol FTP.

FTP (File Transfer Protocol, sau „Protocol de transfer de date”) este unul dintre cele mai vechi protocoale de pe Internet și este inclus în standardele sale. Primele specificații FTP datează din 1971. De atunci, FTP a suferit multe modificări și și-a extins foarte mult capacitățile. FTP poate fi folosit atât în ​​programele utilizatorului, cât și ca utilitar special pentru sistemul de operare.

Unul dintre rapoartele statistice oferite. Potrivit comentariilor creatorilor, serverul este capabil să gestioneze încărcături zilnice de ordinul teraocteților de la sute de utilizatori conectați fără nici cea mai mică problemă. De asemenea, trebuie să adăugați toate permisiunile de certificat care au fost utilizate pentru a crea certificatele atribuite serverelor la care vă veți conecta.

Criptarea poate avea un impact semnificativ asupra performanței, dar poate fi omisă dacă conexiunea este pentru date. Acest lucru vă permite să transferați mai puține fișiere importante fără a sacrifica performanța și vă protejează sistemul prin neexpunerea parolelor. În schimb, serverul se va comporta ca și cum clientul ar fi trimis aceste comenzi cu parametrii enumerați mai jos.

FTP este conceput pentru a rezolva problemele de partajare a accesului la fișiere pe gazde la distanță, utilizarea directă sau indirectă a resurselor computerelor la distanță, asigurând independența clientului față de sistemele de fișiere ale gazdelor la distanță, transfer eficient și fiabil de date.

Schimbul de date FTP are loc pe un canal TCP. Schimbul este construit pe tehnologia „client-server”. FTP nu poate fi utilizat pentru a transfera date confidențiale, deoarece nu oferă protecție pentru informațiile transmise și transferă text clar între server și client. Serverul FTP poate solicita clientului FTP să se autentifice (adică atunci când se conectează la serverul FTP, utilizatorul va trebui să-și introducă ID-ul și parola). Cu toate acestea, parola și ID-ul utilizatorului vor fi transmise de la client la server în text clar.

La comandarea sistemului nostru de backup, „acest client primește serverul său virtual privat, cu care computerul său creează o rețea virtuală, deci are acces la serviciile care rulează pe acest server”. Cu această soluție, putem rula orice aplicație care acceptă transferul de date - totul depinde de software.Clientului i se alocă un anumit spațiu care nu va fi niciodată acceptat de nimeni altcineva. De asemenea, putem crește cantitatea de spațiu în orice moment, fără întrerupere.

Sistemul reprezinta un nivel foarte ridicat de siguranta datorita principiului sau de functionare. Protecție împotriva accesului sau ștergerii fișierelor de către persoane neautorizate, protecție împotriva interceptărilor în timpul transmiterii și protecție împotriva deteriorării fizice a echipamentelor.

Modele de lucru FTP.

Cel mai simplu model al protocolului FTP este prezentat în Figura 1. În FTP, o conexiune este inițiată de interpretul de protocol al utilizatorului. Schimbul este controlat printr-un canal de control în standardul de protocol TELNET. Comenzile FTP sunt generate de interpretul de protocol al utilizatorului și trimise către server. Răspunsurile serverului sunt de asemenea trimise utilizatorului prin canalul de control. În general, utilizatorul are capacitatea de a stabili contactul cu interpretul de protocol al serverului și alte mijloace decât interpretul de protocol al utilizatorului.

În primul rând: clientul are propria mașină, sistemul de operare, pe care nu rulează și nici măcar utilizatorii nu au acces. Prin urmare, nu există nicio îndoială că o persoană neautorizată va vedea sau șterge fișierele de rezervă. În al doilea rând: computerul client, indiferent de protocolul de transfer de date, „intră în server de pe ușa din spate”, iar conexiunea „la ușa din față” este criptată, ceea ce face imposibilă interceptarea pachetelor de date în timpul transmisiei.

În chestiuni precum copiile de securitate, nu ar trebui să riști. Vă prezentăm aici o cale care a apărut din necesitate. Este folosit de majoritatea clienților, dar tratăm fiecare client individual, revizuind cu atenție sistemul de backup în ceea ce privește securitatea și software-ul pe care îl folosesc.

Comenzile FTP definesc parametrii canalului de transfer de date și procesul de transfer în sine. Ele determină, de asemenea, natura lucrului cu sistemele de fișiere de la distanță și locale.

Sesiunea de control inițializează canalul de date. La organizarea unui canal de transmisie a datelor, succesiunea acțiunilor este diferită de organizarea unui canal de control. În acest caz, serverul inițiază schimbul de date în conformitate cu parametrii conveniți în sesiunea de management.

File Transfer Protocol este un serviciu care permite utilizatorilor să transfere fișiere de pe un computer de pe Internet, numit gazdă la distanță, pe un computer local. Serverul cere apoi clientului un nume de utilizator și o parolă. Dacă serverul este public, acesta permite accesul folosind un nume de utilizator anonim și o adresă de e-mail ca parolă. Daca in cazul canalului de control totul este la fel ca si in cazul aplicatiilor care in prezent sunt proiectate in serie, coordonarea transmisiilor pe canalul de date este putin diferita de ceea ce am gasit pana acum.

Canalul de date este configurat pentru aceeași gazdă ca și canalul de control prin care este configurat canalul de date. Canalul de date poate fi utilizat atât pentru primirea, cât și pentru transmiterea datelor.

Algoritmul protocolului FTP este următorul:

  1. Serverul FTP folosește portul TCP 21 ca conexiune de control, care așteaptă întotdeauna o conexiune de la utilizatorul FTP.
  2. După ce se stabilește o conexiune de control între modulul User Protocol Interpreter și modulul Server Protocol Interpreter, utilizatorul (clientul) poate trimite comenzi către server. Comenzile FTP determină parametrii conexiunii de transfer de date: rolul participanților la conexiune (activ sau pasiv), portul de conectare (atât pentru modulul „Program de transfer de date utilizator”, cât și pentru modulul „Program de transfer de date server”) , tipul de transfer, tipul de date transferate, o structură de date și directive de control care indică acțiunile pe care utilizatorul dorește să le efectueze (de exemplu, salvarea, citirea, adăugarea sau ștergerea datelor sau a unui fișier și altele).
  3. După ce toți parametrii canalului de transmisie a datelor au fost conveniți, unul dintre participanții la conexiune, care este pasiv (de exemplu, „Programul de transfer de date utilizator”) intră în modul de așteptare pentru deschiderea unei conexiuni la portul specificat pentru transmiterea datelor. Modulul activ (de ex. „Program de transfer de date server”) deschide apoi conexiunea și începe transferul de date.
  4. După finalizarea transferului, conexiunea dintre Instrumentul de transfer al serverului și Instrumentul de transfer al utilizatorului este închisă, dar conexiunea de control dintre interpretul protocolului server și interpretul protocolului utilizatorului rămâne deschisă. Utilizatorul, fără a închide sesiunea FTP, poate redeschide canalul de transfer de date.

Este posibil ca datele să poată fi transferate pe o a treia mașină. În acest caz, utilizatorul organizează un canal de control cu ​​două servere și un canal de date direct între ele. Comenzile de control trec prin utilizator, iar datele trec direct între servere. Canalul de control trebuie să fie deschis când se transferă date între mașini. În caz contrar, dacă este închis, transmiterea datelor este întreruptă. Conexiunea la cele două servere este prezentată în Figura 2.

Acest semnal de la server vine prin emiterea unei cereri de conectare la portul pe care ascultă clientul. Aceeași categorie include comenzi care ne permit să schimbăm directorul curent. În mod normal, utilizatorii vor naviga prin structura de directoare pentru a găsi fișierul pe care îl doresc. Această comandă necesită un argument care reprezintă calea către acest director.

Comenzile pentru specificarea parametrilor de transfer permit utilizatorilor să specifice tipuri de fișiere, formate și structuri de fișiere și moduri de transfer. Toți parametrii procesului de transfer de date au valori implicite. Cu alte cuvinte, aceste comenzi vor fi folosite doar dacă clientul dorește să modifice valoarea unui anumit parametru. Comenzile pot fi expediate în orice comandă.

Algoritmul de lucru la conectarea a două servere FTP, niciunul dintre acestea nu se află pe gazda locală a utilizatorului:

  1. Modulul User Protocol Interpreter a instruit modulul server Server Protocol Interpreter 1 să lucreze în modul pasiv, după care modulul Server Protocol Interpreter 1 a trimis utilizatorului adresa și numărul portului (N) pe care acesta le va asculta.
  2. Modulul User Protocol Interpreter a alocat modulul Server 2 Protocol Interpreter 2 ca participant activ la conexiune și i-a instruit să transmită date către gazda Server 1 Protocol Interpreter pe portul (N).
  3. „User Protocol Interpreter” a dat „Server Protocol Interpreter 1” comanda „pentru a salva datele primite într-un astfel de fișier”, iar „Server Protocol Interpreter 2” - „pentru a transfera conținutul unui astfel de fișier” .
  4. Se formează un flux de date între modulele Server Protocol Interpreter 1 și Server 2 Protocol Interpreter, care este controlat de gazda client.
Mai jos este o diagramă a organizării transferului de date între două servere FTP, corespunzătoare figurii 2. Următoarele denumiri sunt utilizate aici: User PI - user protocol interpreter; Server1 (2) interpret al protocolului server1 (server2).
PI utilizator (U) S Server1 (S1) PI utilizator (U) S Server2 (S2)
U Yu S1: Conectați-vă

Ce comenzi folosește protocolul FTP?

Cu această comandă, clientul informează serverul la care portul încearcă să se conecteze. Clientul trebuie să „împartă” aceste adrese în biți de 8 biți și să transmită fiecare valoare unul altuia, valorile separate una de cealaltă printr-o virgulă. Tipurile de fișiere și formatele de control sunt simbolizate prin simbol.

Ca răspuns la o comandă din această categorie, serverul răspunde cu un transfer de date. Dacă fișierul de transferat există pe sistemul pe care rulează serverul, acesta va fi suprascris. Când un utilizator navighează într-o structură de directoare pe un sistem la distanță, are nevoie de informații despre conținutul acelor directoare. Această comandă determină serverul să transmită o listă de fișiere și subdirectoare conținute în directorul curent. Dacă argumentul comenzii reprezintă o cale specifică, serverul va trimite o listă de fișiere existente în acel director.

U b S1: 227 Intrarea în modul pasiv.

A1, A2, A3, A4, a1, a2

U Yu S2 Connect

U Yu S2: PORT A1, A2, A3, A4, a1, a2

U b S2: 200 Bine
U Yu S1: STOR... U Yu S2: RETR...

S1 Yu S2: Conectați...

Transferul de date FTP se bazează pe mecanismul de stabilire a conexiunii între porturile corespunzătoare și alegerea parametrilor de transfer. Fiecare participant FTP trebuie să accepte portul de date implicit. În mod implicit, Utilitarul de comunicații cu utilizatorul folosește același port ca pentru trimiterea comenzilor (notați-l cu „U”), iar Utilitarul de comunicații cu server folosește portul L-1, unde L este portul de control. Cu toate acestea, participanții la conexiune folosesc porturile de transfer de date selectate pentru ei de „Interpretul protocolului utilizatorului”, din cauza proceselor de control care participă la conexiune, doar „Interpretul protocolului utilizatorului” poate modifica porturile de transfer de date ale ambelor „ Program de transfer de date utilizator” și „Programe de transfer de date server”.

Setări opționale ale programului

Este posibil ca, prin schimbarea directoarelor de pe sistemul de la distanță, utilizatorul să se uite la numele directorului curent. Practic, această comandă permite utilizatorului să renunțe la operațiunea de transfer înainte ca aceasta să fie finalizată. Cu alte cuvinte, să presupunem că comanda a fost trimisă de un client. După primirea unui răspuns de la server, clientul își poate continua munca. În această secțiune a articolului, ne vom uita la modul de interpretare a răspunsurilor serverului, răspunsuri numite răspunsuri.

Fiecare cifră a codului are o semnificație specială. De exemplu, în cazul în care prima cifră a codului replica este 2, înseamnă că serverul a putut executa comanda. La fel, dacă prima cifră este 5, înseamnă că serverul nu acceptă comanda trimisă de server și, prin urmare, nu a fost inițiată nicio acțiune. Acum, indiferent de semnificația primei cifre a codului, dacă a doua cifră este 2, aceste răspunsuri sunt legate de canalul de date sau canalul de control. Dacă a doua cifră este 0, atunci răspunsurile corespunzătoare sunt pentru erori de sintaxă.

Partea pasivă a conexiunii trebuie să „asculte” portul său de transmisie de date înainte de a da comanda „pornire transmisie”. Partea activă care dă comanda de pornire a transferului de date determină direcția de mișcare a datelor.

Odată stabilită conexiunea, începe transmisia între Programul de transfer al serverului și Programul de transfer al utilizatorului. În același timp, notificările de primire a datelor sunt transmise prin canalul „Server Protocol Interpreter” - „User Protocol Interpreter”. FTP necesită ca o conexiune de control să fie deschisă în timp ce legătura de date este transmisă. Sesiunea FTP este considerată închisă numai după ce conexiunea de control este închisă.

În tabelul 1, dăm mai des sensul răspunsurilor folosite. Mai mult, vom lucra și la crearea de resurse care să răspundă nevoilor aplicației noastre. Dacă în ultimul număr al revistei ne-am uitat doar la inițierea unui canal de control, vom vedea acum cum să creăm și să coordonăm un canal de date. Ca resurse de program, vom avea o casetă de dialog pentru preluarea datelor utilizatorului, un meniu cu trei căi și o pictogramă pentru aplicație. Din punctul de vedere al utilizatorului, aplicația este considerată mai mult un demo.

Dacă totul merge bine, pe ecran va apărea un mesaj de la server în care se spune că este gata să primească comenzi de la client. Deschide canalul de control. Revenind la prezentarea programului din punct de vedere al unui programator, vom discuta câteva dintre funcțiile de management al canalului. Utilizarea unei funcții sau a celeilalte se bazează pe dacă utilizatorul introduce un nume de sistem sau un punct zecimal. Creăm apoi adresa socketului, completând teșiturile structurii. În cele din urmă, conectați priza la un port cunoscut de pe sistemul de la distanță folosind funcția de conectare.

De obicei, serverul FTP este responsabil pentru deschiderea și închiderea unui canal de date. Serverul FTP trebuie să închidă singur canalul de transfer de date în următoarele cazuri:

  1. Serverul a terminat de transmis date într-un format care necesită închiderea conexiunii.
  2. Serverul a primit o comandă „încheierea conexiunii” de la utilizator.
  3. Utilizatorul a modificat parametrii portului de date.
  4. Conexiunea de control a fost închisă.
  5. Au apărut erori care împiedică reluarea transferului de date.

Comenzi de protocol .

Comenzile de control pentru controlul transferului de date schimbate între Server Protocol Interpreter și User Protocol Interpreter pot fi împărțite în trei grupuri mari:

  • Comenzi de control al accesului la sistem.
  • Comenzi de control al fluxului de date.
  • Comenzi de serviciu FTP.

Să luăm în considerare câteva dintre cele mai tipice echipe din fiecare grupă. Dintre comenzile pentru controlul accesului la sistem, trebuie remarcate următoarele:

UTILIZATOR. De obicei, această comandă deschide o sesiune FTP între client și server. Argumentul comenzii este numele (identificatorul) utilizatorului pentru a lucra cu sistemul de fișiere. Această comandă poate fi emisă nu numai la începutul, ci și la mijlocul sesiunii, dacă, de exemplu, utilizatorul dorește să schimbe identificatorul în numele căruia vor fi efectuate acțiunile. În acest caz, toate variabilele legate de vechiul identificator sunt eliberate. Dacă se schimbă date în timp ce identificatorul este schimbat, schimbul se încheie cu vechiul identificator de utilizator.

TRECE. Această comandă este emisă după introducerea ID-ului utilizatorului și, ca argument, conține parola utilizatorului. Ca o reamintire, datele de autentificare FTP sunt transmise prin rețea în text clar, prin urmare, pentru a asigura securitatea canalului, utilizatorul trebuie să ia măsuri suplimentare.

CWD. Comanda permite utilizatorilor să lucreze cu diferite directoare pe sistemul de fișiere la distanță. Argumentul comenzii este un șir care specifică calea directorului de pe sistemul de fișiere la distanță în care utilizatorul dorește să lucreze.

FRÂU. Comanda de reinițializare. Această comandă șterge toate variabilele utilizatorului curent, resetează parametrii conexiunii. Dacă, în momentul comenzii, are loc transferul de date, transferul continuă și se termină cu aceiași parametri.

PĂRĂSI. Comanda închide canalul de control. Dacă în momentul trimiterii comenzii are loc transmisia de date, canalul este închis după terminarea transmisiei de date.

Comenzile de control al fluxului stabilesc parametrii de transfer de date. Toți parametrii descriși de aceste comenzi au o valoare implicită, astfel încât comenzile de control al fluxului sunt utilizate numai atunci când trebuie să modificați valoarea parametrilor impliciti de transfer. Comenzile de control al fluxului pot fi emise în orice ordine, dar toate trebuie să precedă comenzile de serviciu FTP. Următoarele ar trebui să fie distinse de comenzile de control al fluxului de date:

PORT. Comanda atribuie adresa și portul gazdei care vor fi utilizate ca membru activ al conexiunii de legătură de date. Argumentele pentru comandă sunt o adresă IP de 32 de biți și un număr de port de conexiune de 16 biți. Aceste valori sunt împărțite în șase câmpuri de 8 biți și sunt reprezentate sub formă zecimală: h1, h2, h3, h4, p1, p2, unde hN este octeți de adresă (de la mare la mic) și pN este octeți de port (de la mare la mic).

PASV. Această comandă este trimisă către modul, care va juca un rol pasiv în transmiterea datelor („ascultarea” conexiunii). Răspunsul la această comandă trebuie să fie un șir care să conțină adresa și portul gazdei care se află în modul de așteptare pentru conectare în formatul de comandă PORT - „h1, h2, h3, h4, p1, p2”.

Comenzile TYPE, STRU, MODE determină, respectiv, tipul datelor transmise (ASCII, Image și altele), structura sau formatul transmiterii datelor (File, Record, Page), modalitatea de transmitere (Stream, Block și altele). Utilizarea acestor comenzi este foarte importantă atunci când se construiește interoperabilitate în medii eterogene și sisteme de operare și fișiere foarte diferite ale gazdelor care interacționează.

Comenzile serviciului FTP determină acțiunile care trebuie efectuate asupra fișierelor specificate. De obicei, argumentul pentru comenzile din acest grup este calea către fișier. Sintaxa pentru calea specificată trebuie să îndeplinească cerințele de format pentru sistemul de fișiere de gestionare a comenzilor. Din comenzile serviciului FTP, se pot distinge următoarele:

RETR. Această comandă instruiește modulul Server Communications Utility să trimită o copie a fișierului specificat de parametrul de comandă către modulul de comunicații de la celălalt capăt al conexiunii.

STOR. Comanda instruiește modulul „Program de transfer de date server” să primească date prin canalul de transfer de date și să le salveze ca fișier, al cărui nume este specificat de parametrul acestei comenzi. Dacă un astfel de fișier există deja, acesta va fi suprascris cu unul nou, dacă nu, se va crea unul nou.

Echipele RNFR și RNTO trebuie să se succedă. Prima comandă conține vechiul nume de fișier ca argument, a doua nou. Aplicarea succesivă a acestor comenzi redenumește fișierul.

ABOR. Comanda instruiește serverul să întrerupă execuția comenzii de serviciu anterioare (de exemplu, transfer de fișiere) și să închidă canalul de transfer de date.

Comanda DELE șterge fișierul specificat.

Comenzile MKD și respectiv RMD creează și șterg directorul specificat în argument.

Comenzile LIST și NLST listează fișierele dintr-un director specificat.

Toate comenzile de protocol FTP sunt trimise de „Interpretul de protocol utilizator” în text simplu - o comandă pe linie. Fiecare linie de comandă - identificator și argumente - se termină cu caractere. Numele comenzii este separat de argument printr-un caracter de spațiu -.

Managerul de comandă returnează un cod din trei cifre pentru fiecare comandă. Codurile de procesare formează o anumită structură ierarhică și, de regulă, o anumită comandă poate returna doar un anumit set de coduri. Codul de procesare a comenzii este urmat de un caracter spațiu - urmat de textul explicativ. De exemplu, linia pentru finalizarea cu succes a operațiunii arată astfel: „200 Command ok”.

Mai jos este un exemplu de lucru cu protocolul FTP. Legendă: S - server, U - utilizator.

S: 220 Service gata pentru utilizator nou
U: UTILIZATOR Gluk
> S: 331 Nume de utilizator ok, am nevoie de parolă
U: PASI murmur
S: 230 Utilizator autentificat, continua
U: RETR test.txt
S: 150 Stare fișier ok; pe cale să deschidă conexiunea de date

S: 226 Închiderea conexiunii de date, transferul fișierului cu succes
U: TIP I
S: 200 Comandă bine
U: STOR /home/images/first.my
S: 550 Acces refuzat
U: RENUNȚĂ

Protocoale TFTP și SFTP.

Protocolul FTP are doi „frați mai mici”: SFTP - Simple FTP și TFTP - Trivial FTP.

TFTP este cel mai simplu protocol de transfer de fișiere. Funcționează peste protocolul de transport UDP și oferă doar cele mai elementare operațiuni de transfer de fișiere, și anume scrierea și citirea fișierelor. TFTP a fost conceput pentru a fi un protocol simplu și ușor de utilizat. Nu permite listarea directoarelor și nu are nicio autentificare, dar poate transmite informații pe 8 biți conform tuturor standardelor de internet.

Deoarece transferul de date se realizează prin UDP, protocolul TFTP implementează propriile metode de livrare fiabilă a datelor - pachete de confirmare, numerotarea blocurilor de date și pachete de confirmare etc. Totul este foarte asemănător cu o versiune simplificată a emulării protocolului TCP.

TFTP funcționează cu doar cinci comenzi:

  1. Cerere de citire (RRQ) - o cerere de citire.
  2. Cerere de scriere (WRQ) - o cerere de scriere.
  3. Date (DATE) - pachet de date.
  4. Acknowledgement (ACK) - confirmare.
  5. Eroare (EROARE) - eroare.

Procesul de transfer de date începe cu o solicitare de la clientul TFTP către server pentru a citi sau scrie un fișier. Conexiunea se stabilește după primirea unei confirmări de pregătire pentru una dintre solicitări, fie pentru scris, fie pentru citire.

La deschiderea unei conexiuni, fiecare dintre părți alege (aleatoriu) un identificator unic - TID, care este utilizat și UDP ca port de conectare. Fiecare pachet redirecționat este asociat cu două TID-uri corespunzătoare fiecărei părți a conexiunii. Cererea inițială este trimisă de inițiatorul conexiunii TF TP pe portul UDP 69 (portul de inițializare), care specifică portul de conectare. Schimbul suplimentar are loc deja prin porturile selectate de participanții la transferul de date.

Dacă serverul permite cererea, schimbul este deschis și fișierul specificat este transferat (în blocuri de 512 octeți). Fiecare pachet de date transmise conține un bloc (512 octeți) și un număr de bloc în fluxul transmis. Sosirea fiecărui bloc la gazda destinație trebuie confirmată cu un pachet ACK (acknowledgement), cu numărul blocului primit. Numai după primirea pachetului de confirmare va fi trimis următorul pachet de date.

Dacă lungimea pachetului este mai mică de 512 octeți, acesta servește drept semnal pentru închiderea canalului de comunicație. Dacă un pachet este pierdut în timpul transmisiei, după o anumită perioadă de timp serverul va retrimite acest pachet de date.

Există trei tipuri de situații care provoacă trimiterea de pachete proaste:

  1. O solicitare neconfirmată, de exemplu, fișierul nu a fost găsit, niciun drept de acces etc.
  2. Format de pachet nevalid, de exemplu, a apărut o eroare de comutare.
  3. Pierderea accesului la resursa necesară.

Cu un număr mare de mesaje de eroare, conexiunea poate fi închisă la inițiativa uneia dintre părți.

Schema tranzacției TFTP este următoarea:

  1. Gazda A trimite o cerere WRQ către gazda B. Portul sursă este TIDA, portul destinație este 69. Pachetul conține numele fișierului, tipul de transfer.
  2. Gazda B trimite ACK (număr de bloc - 0) către gazda A. Portul sursă este TIDB, portul destinație este TIDA.
  3. Gazda A trimite (prin o conexiune TIDA la TIDB) o comandă DATA și un bloc de date. Pachetul conține și numărul blocului.

Protocolul de transfer de fișiere SFTP este popular în cazurile în care utilizatorul are nevoie de un protocol puțin mai flexibil și mai fiabil decât TFTP și nu la fel de complex și greoi ca FTP.

SFTP acceptă mecanisme de autentificare a utilizatorilor, transfer de fișiere, parcurgere în directoare, schimbarea directorului curent, redenumirea și ștergerea fișierelor. Pentru majoritatea operațiunilor pe care un utilizator le efectuează cu un server FTP la distanță, acest serviciu este suficient. SFTP poate transfera un flux de date pe 8 biți și folosește, ca TFTP, un singur canal de conexiune - atât pentru comenzi, cât și pentru date. Spre deosebire de TFTP, SFTP rulează peste TCP, portul 115.

Comenzile SFTP sunt trimise una câte una după primirea răspunsului de procesare de la comanda precedentă. Toate comenzile constau din patru caractere ASCII și un caracter spațiu, care separă comanda de argumente. Răspunsul serverului constă din codul de răspuns și. Fiecare comandă și răspuns trebuie să se încheie cu un caracter ("\ 0" este același cu terminarea liniei în C). SFTP folosește doar 11 comenzi de bază și doar 4 coduri de răspuns pentru a controla transferul de date (simboluri: „+” – succes, „-” – erori, „!” – atenție, „” – altele).

Comenzile SFTP au aproape aceeași sintaxă și scop ca și comenzile FTP similare.

În următorul scenariu SFTP, serverul SFTP - „MIT-XX” așteaptă o conexiune. Utilizatorul „MKL” (parola „foo”) conectat la serverul SFTP, a solicitat o listă de fișiere în format standard din directorul „PS” cu comanda „LIST F PS:”, apoi a solicitat o listă de fișiere în format extins de la același director cu comanda „LIST V PS:”. Apoi utilizatorul a creat o solicitare pentru un fișier numit „Small.File” - comanda „RETR SMALL.FILE”. Ca răspuns, serverul și-a returnat dimensiunea - 69 și l-a pregătit pentru trimitere. După aceea, utilizatorul citește fișierul cu comanda SEND. Comanda DONE a închis conexiunea.

Legendă: S - server SFTP, U - utilizator SFTP.

S: + Serviciu SFTP MIT-XX
U: UTILIZATOR MKL
S: + MKL ok, trimite parola
U: PASS foo
S:! MKL sa conectat
U: LISTA F PS:
S: + PS:
Mic.Fişier
U: LISTA V PS:
S: + PS:
Mic.Fișier 1 69 (7) P775240 2-aug-94 20:08 MKL
U: RETR SMALL.FILE
S: 69
TU TRIMITI
S: Acesta este un fișier mic, fișierul este trimis fără un nul final.
U: gata
S: + MIT-XX închiderea conexiunii

După cum puteți vedea din scenariul prezentat, SFTP este un protocol simplu construit conform unei scheme triviale „cerere-răspuns” cu un set minim de comenzi care vă permite să efectuați toate operațiunile necesare pentru controlul transferului și plasarea datelor pe disc. .

SFTP este destul de satisfăcător să lucrezi cu un utilizator și un server și este ușor de utilizat și de programat.

Utilitar FTP.

Utilizatorul obișnuit cunoaște combinația FTP mai mult ca numele unui utilitar de serviciu care vă permite să faceți schimb de fișiere între serverele FTP și computerele client. Unele dintre utilitare folosesc un serviciu de linie de comandă, altele au o interfață grafică, dar, de regulă, toate acceptă standardul protocolului FTP și definesc un set de bază de comenzi care ar trebui să fie suportat de toate implementările de servicii FTP.

Utilitarul FTP oferă utilizatorului un shell cu o interfață de linie de comandă. În funcție de implementarea și versiunea programului FTP, acesta poate suporta anumite funcții de lucru cu un sistem de fișiere la distanță. Comenzile utilitarului FTP sunt de obicei construite pe principiul lucrului cu sistemul de fișiere local și sunt foarte diferite de comenzile FTP.

În esență, un utilitar FTP este un interpret de comenzi shell în comenzi (și secvențe) FTP. Trimiterea comenzilor de conexiune FTP, analiza răspunsurilor serverului FTP, deschiderea unui canal de transfer de date, proces de transfer de date - toate acestea se întâmplă în interiorul modulului FTP. Utilizatorul este informat despre toate evenimentele de transfer de comenzi și date în conformitate cu interpretarea acestor evenimente de către utilitarul FTP.

De exemplu, iată un script pentru transferul unui fișier text de la un server FTP la o gazdă locală.

C: \> ftp
ftp> deschide ftp.sun.com
220-Bine ați venit la Sun Microsystems Corporate FTP Server.
220-
Server FTP de 220 ftp (ftpd miercuri 30 oct 23:31:06 PST 1996) gata.
Utilizator (ftp.sun.com: (niciunul)): ftp
331 Autentificare invitat ok, trimiteți adresa de e-mail completă ca parolă.
Parola:
230 Autentificare invitat ok, se aplică restricții de acces.
ftp> dir
200 Comandă PORT reușită.
150 Deschiderea conexiunii de date în modul ASCII pentru / bin / ls.
total 34
dr-xr-xr-x 8 root 0 512 Feb 14 1997.
d - x - x - x 3 utilizatori root 512 Oct 31 1996 etc
drwxrwx-wt 3 root 42 5120 21 noiembrie 10:37 primit
drwxrwxr-x 12 root 42 4096 19 noiembrie 23:26 pub
dr-xr-xr-x 4 utilizatori root 512 7 iunie 1996 usr
-rw-r - r-- 1 utilizatori root 49 septembrie 27 1996 welcome.msg
226 Transferul finalizat.
624 de octeți primiți în 19,66 secunde (0,03 kbytes / sec)
ftp> get welcome.msg primer.txt
200 Comandă PORT reușită.
150 Deschiderea conexiunii de date în modul ASCII pentru welcome.msg (49 octeți).
226 Transferul finalizat.
50 de octeți primiți în 2,73 secunde (0,02 Kbytes / sec)
ftp> ieși
221 La revedere.

Sintaxa comenzii:

ftp [-v] [-d] [-n]

  • v - suprimă răspunsurile serverului și statisticile de transfer de date;
  • n - controlează modul de identificare a utilizatorului. Dacă acest comutator este specificat, fișierul .netrc este verificat mai întâi;
  • i - dezactivează confirmarea transferului de fișiere la copierea în bloc a fișierelor;
  • d - pornește modul de depanare;
  • g - dezactivează transparența numelor de trecere.

Comenzile importante sunt comenzile de primire/transmitere a datelor get, put, mget, mput și bin. Comenzile get și put sunt concepute pentru a trimite și, respectiv, a primi un singur fișier. Comenzile mget și mput fac la fel ca și cele anterioare, dar pentru un grup de fișiere. Comanda bin vă permite să transferați date în modul binar, ceea ce este important pentru transferul de programe și arhive, în plus, acest mod este util pentru datele de caractere cu o lungime de linie arbitrară (ASCII limitează lungimea liniei la 254 de caractere). O altă comandă utilă este comanda hash. Linia: „ftp> hash #” atunci când lucrați cu linii lente sau transferați fișiere mari, vă permite să vedeți progresul transferului de date (semnul # este emis după ce fiecare bloc este transferat, în loc de # puteți pune un alt simbol).

Proiectat pentru transferul de fișiere prin rețele TCP (de exemplu, Internet). Utilizează portul 21. FTP este adesea folosit pentru a descărca pagini web și alte documente de pe un dispozitiv de dezvoltare privat pentru a deschide servere de găzduire.

Protocolul este construit pe o arhitectură client-server și utilizează diferite conexiuni de rețea pentru a transfera comenzi și date între client și server. Utilizatorii FTP se pot autentifica trecând numele de utilizator și parola în text clar sau, dacă este permis pe server, se pot conecta anonim. Puteți utiliza protocolul SSH pentru transmiterea securizată care ascunde (criptează) numele de utilizator și parola și criptează conținutul.

Primele aplicații client FTP au fost instrumente interactive de linie de comandă care implementau comenzi și sintaxă standard. Interfețele grafice cu utilizatorul au fost dezvoltate de atunci pentru multe sisteme de operare încă utilizate în prezent. Aceste interfețe includ programe generale de design web, cum ar fi Microsoft Expression Web și clienți FTP specializați (cum ar fi FileZilla).

FTP este unul dintre cele mai vechi protocoale de aplicație, datând cu mult înainte de HTTP și chiar înainte de TCP/IP, în 1971. La început, a funcționat pe lângă protocolul NCP. Este încă utilizat pe scară largă astăzi pentru distribuția de software și accesul la gazde la distanță.

Descrierea protocolului

Diferența față de HTTP

Proprietate FTP HTTP
Pe baza sesiunilor de lucru da Nu
Autentificarea utilizatorului încorporată da Nu
Proiectat în principal pentru transmisie Binare mari Fișiere text mici
Model de conectare Conexiune dublă Conexiune unică
Adaptat în principal pentru recepție/transmitere Recepție și transmisie Recepţie
Acceptă modurile de transfer text și binar da Nu
Acceptă specificarea tipurilor de date transmise (anteturi MIME) Nu da
Suportă operațiuni ale sistemului de fișiere (mkdir, rm, redenumire etc.) da Nu

O caracteristică destul de izbitoare a protocolului FTP este că folosește conexiuni multiple (cel puțin duble). În acest caz, un canal este cel de control, prin care se primesc comenzi către server și se returnează răspunsurile acestuia (de obicei prin portul TCP 21), iar prin restul are loc transferul propriu-zis de date, câte un canal pentru fiecare transmisie. Prin urmare, în cadrul unei sesiuni prin protocolul FTP, este posibil să transferați mai multe fișiere simultan și în ambele direcții. Pentru fiecare canal de date se deschide propriul port TCP, al cărui număr este ales fie de server, fie de client, în funcție de modul de transmisie.

FTP (precum HTTP) are un mod de transfer binar, care reduce supraîncărcarea traficului și reduce timpul de comunicare atunci când se transferă fișiere mari.

Începând să lucreze prin FTP, clientul intră într-o sesiune și toate operațiunile sunt efectuate în cadrul acestei sesiuni (cu alte cuvinte, serverul își amintește starea curentă). Protocolul HTTP nu își „amintește” nimic - sarcina sa este de a oferi date și de a uita, prin urmare, stocarea stării atunci când se utilizează HTTP este realizată prin metode externe protocolului.

Conexiunea și transmiterea datelor

Suport pentru browser web

Sintaxă

Sintaxa pentru URL-urile FTP este descrisă în RFC1738, sub forma: ftp: // [[:] @] [:] / (parametrii dintre paranteze drepte sunt opționali). De exemplu:

Mai multe detalii despre specificarea unui nume de utilizator și a unei parole sunt scrise în documentația browserului. În mod implicit, majoritatea browserelor web folosesc modul pasiv (PASV), care ocolește mai bine firewall-urile utilizatorilor finali.

Securitate

FTP nu a fost conceput ca un protocol securizat (în special după standardele actuale) și are numeroase vulnerabilități de securitate. În mai 1999, autorii RFC 2577 au rezumat vulnerabilitățile în următoarea listă de probleme:

  • Atacurile de sărituri
  • Atacurile falsificate
  • Atacurile de forță brută
  • Captură de pachete, adulmecare
  • Protecția numelui de utilizator
  • Furtul de port

FTP nu își poate cripta traficul, toate transferurile sunt text clar, astfel încât numele de utilizator, parolele, comenzile și datele pot fi citite de oricine poate intercepta pachetul prin rețea. Această problemă este comună în multe specificații ale protocolului Internet (inclusiv SMTP, Telnet, POP, IMAP) care au fost dezvoltate înainte de crearea mecanismelor de criptare, cum ar fi TLS și SSL. Soluția obișnuită la această problemă este să folosiți versiuni „securizate”, protejate prin TLS ale protocoalelor vulnerabile (FTPS pentru FTP, TelnetS pentru Telnet etc.) sau un alt protocol mai sigur precum SFTP/SCP furnizat cu majoritatea implementărilor protocolului Secure Shell. ... ...

FTP securizat

Există mai multe metode de transfer securizat de fișiere, la un moment dat sau altul numite „Secure FTP”.

FTPS

FTPS explicit este o extensie a standardului FTP care permite clienților să solicite ca sesiunea FTP să fie criptată. Acest lucru se realizează prin trimiterea comenzii „AUTH TLS”. Serverul are capacitatea de a permite sau de a refuza conexiuni care nu solicită TLS. Această extensie de protocol este definită în RFC 4217. FTPS implicit este un standard FTP vechi care necesită utilizarea unei conexiuni SSL sau TLS. Acest standard trebuia să folosească porturi diferite de FTP normal.

SFTP

SFTP, sau „SSH File Transfer Protocol”, nu are legătură cu FTP, cu excepția faptului că transferă și fișiere și are un set similar de comenzi pentru utilizatori. SFTP, sau secure FTP, este un program care folosește SSH (Secure Shell) pentru a transfera fișiere. Spre deosebire de FTP standard, acesta criptează atât comenzile, cât și datele, împiedicând transmiterea parolelor și a informațiilor confidențiale prin rețea. Funcționalitatea SFTP este similară cu FTP, dar deoarece utilizează un protocol diferit, clienții FTP standard nu pot comunica cu serverul SFTP și invers.

FTP prin SSH (nu SFTP)

FTP prin SSH (nu SFTP) se referă la practica tunelării unei sesiuni FTP obișnuite printr-o conexiune SSH. Deoarece FTP utilizează mai multe conexiuni TCP, tunelul prin SSH este deosebit de dificil. Când mulți clienți SSH încearcă să tuneleze un canal de control (conexiunea originală „client-server” pe portul 21), doar acel canal va fi protejat; La transferul de date, software-ul FTP de la fiecare capăt va stabili noi conexiuni TCP (conexiuni de date) care ocolesc conexiunea SSH și astfel își pierd securitatea intrinsecă.

În caz contrar, software-ul client SSH are nevoie de anumite cunoștințe despre FTP pentru a urmări și rescrie mesajele fluxului de control FTP și pentru a deschide în mod autonom noi redirecționări pentru fluxul de date FTP. Pachete software care acceptă acest mod:

  • Tectia ConnectSecure (Win / Linux / Unix)
  • Tectia Server pentru IBM z / OS din SSH Communications Security Suite
  • (sub licență GPL)

FTP prin SSH este uneori denumit FTP securizat; dar nu îl confundați cu alte metode precum SSL / TLS (FTPS). Alte metode de transfer de fișiere folosind SSH și care nu au legătură cu FTP - SFTP și SCP; în fiecare dintre ele, atât acreditările, cât și datele fișierului sunt întotdeauna protejate de protocolul SSH.

Istorie

Prima implementare a protocolului (1971) prevedea schimbul de mesaje între client și server, constând dintr-un antet (72 de biți) și date de lungime variabilă. Antetul mesajului a inclus o solicitare sau un răspuns de la serverul FTP, tipul și lungimea datelor transferate. Parametrii cererii (de exemplu, calea și numele fișierului), informațiile de la server (de exemplu, lista fișierelor din director) și fișierele în sine au fost transmise ca date. Astfel, comenzile și datele au fost transmise pe același canal.

În 1972, protocolul a fost complet schimbat și a luat o formă apropiată de cea modernă. Comenzile cu parametrii de la răspunsurile client și server sunt transmise prin conexiune TELNET (canal de control), pentru transferul de date este creată o conexiune separată (canal de date).

În edițiile ulterioare, s-a adăugat posibilitatea de a lucra în modul pasiv, transfer de fișiere între servere FTP, au fost introduse comenzi pentru obținerea de informații, schimbarea directorului curent, crearea și ștergerea directoarelor, salvarea fișierelor sub un nume unic. Comenzile pentru transferul de e-mail prin FTP au existat o vreme, dar mai târziu au fost eliminate din protocol.

În 1980, protocolul FTP a început să folosească TCP. Ultima revizuire a protocolului a fost lansată în 1985. În 1997, a apărut o completare la protocol care permite criptarea și semnarea informațiilor în canalul de control și canalul de date. În 1999, a fost lansat un supliment de internaționalizare a protocolului care recomandă utilizarea codării UTF-8 pentru comenzile și răspunsurile serverului și definește o nouă comandă LANG care setează limbajul de răspuns.

Comenzi de bază

  • ABOR - Anulează transferul fișierului
  • CDUP - Schimbați directorul în amonte.
  • CWD - Schimbați directorul.
  • DELE - Șterge fișierul (DELE nume fișier).
  • EPSV - Intrați în modul pasiv avansat. Folosit în loc de PASV.
  • AJUTOR - Afișează o listă de comenzi acceptate de server.
  • LIST - Returnează o listă de fișiere dintr-un director. Lista este transferată printr-o conexiune de date.
  • MDTM - Returnează ora de modificare a unui fișier.
  • MKD - Creați director.
  • NLST - Returnează o listă de fișiere director într-un format mai concis decât LIST. Lista este transferată printr-o conexiune de date.
  • NOOP - Operare gol.
  • PASS - Parolă.
  • PASV - Intrați în modul pasiv. Serverul va returna adresa și portul la care trebuie să vă conectați pentru a prelua datele. Transmisia va începe când introduceți următoarele comenzi: RETR, LIST etc.
  • PORT - Intrați în modul activ. De exemplu PORT 12,34,45,56,78,89. Spre deosebire de modul pasiv, pentru transferul de date, serverul însuși se conectează la client.
  • PWD - Returnează directorul curent.
  • QUIT - Deconectați-vă.
  • REIN - Reinițializați conexiunea.
  • RETR - Descărcați fișierul. RETR trebuie să fie precedat de o comandă PASV sau PORT.
  • RMD - Eliminați directorul.
  • RNFR și RNTO - Redenumiți fișierul. RNFR - ce să redenumim, RNTO - ce.
  • SIZE - Returnează dimensiunea fișierului.
  • STOR - Încărcați fișierul. STOR trebuie să fie precedat de o comandă PASV sau PORT.
  • SYST - Returnează tipul de sistem (UNIX, WIN, ...).
  • TYPE - Setați tipul de transfer al fișierului (binar, text).
  • UTILIZATOR - Nume de utilizator pentru autentificarea pe server.

coduri de răspuns FTP

Mai jos este o scurtă descriere a codurilor de răspuns care pot fi returnate de serverul FTP. Aceste coduri au fost standardizate de IETF în RFC 959. După cum am menționat mai devreme, codul de răspuns este un număr din trei cifre. Prima cifră este responsabilă pentru unul dintre cele trei rezultate: succes, eșec sau un indiciu al unei erori sau un răspuns incomplet.

  • 2xx - Răspuns de succes
  • 4xx / 5xx - Comanda nu poate fi executată
  • 1xx / 3xx - Eroare sau răspuns incomplet

A doua cifră identifică tipul de eroare:

  • x0z - Sintactic.
  • x1z - Informații. Corespunde unui mesaj informativ.
  • x2z - Conexiuni. Mesajul este fie pentru conexiunea de control, fie pentru conexiunea de date.
  • x3z - Potrivește mesajele despre autentificarea și drepturile utilizatorului.
  • x4z - Nedeterminat.
  • x5z - Sistem de fișiere. Corespunde mesajului de stare a sistemului de fișiere.

A treia cifră specifică în cele din urmă eroarea.

Exemplu

220 Server FTP gata. UTILIZATOR ftp // Anonim 230 Conectare reușită. PASV 227 Intrarea în modul pasiv (192,168,254,253,233,92) // Clientul trebuie să deschidă o conexiune la LISTA IP transferată 150 Aici vine lista de director. // Serverul trimite lista de fișiere în directorul 226 Trimitere director OK. Directorul 250 de intrare CWD a fost modificat cu succes. PASV 227 Intrare în modul pasiv (192,168,254,253,207,56) STOR gyuyfotry.avi 150 Ok pentru a trimite date. // Clientul trimite conținutul fișierului 226 Primire fișier OK. QUIT 221 La revedere.

Argumentul 192,168,254,253,207,56 înseamnă că pe gazdă este așteptată o conexiune la server cu adresa IP 192.168.254.253 pe portul 207

Multe servere FTP au un director (numit incoming, upload etc.) deschis pentru scriere și folosit pentru a încărca fișiere pe server. Acest lucru permite utilizatorilor să populeze serverele cu date noi.

Fxp

Fxp(ing. Protocolul de schimb de fișiere- protocol de schimb de fișiere) este o metodă de transfer direct de fișiere între două servere FTP, fără a le descărca pe computer. Într-o sesiune FXP, clientul deschide două conexiuni FTP la două servere diferite, solicitând un fișier pe primul server, specificând adresa IP a celui de-al doilea server în comanda PORT.

Avantajul incontestabil al acceptării standardului FXP este că utilizatorii finali care doresc să copieze fișiere de pe un server FTP pe altul nu mai sunt supuși limitării lățimii de bandă a propriei conexiuni la Internet. Nu este nevoie să descărcați un fișier pentru a-l încărca ulterior pe un alt server FTP. Astfel, timpul de transfer al fișierelor va depinde doar de viteza conexiunii dintre cele două servere FTP la distanță, care în cele mai multe cazuri este evident mai mare decât cea „utilizator”.

FXP a început să fie folosit de infractorii cibernetici pentru a ataca alte servere: comanda PORT specifică adresa IP și portul serviciului atacat pe computerul victimei, iar comenzile RETR / STOR apelează acest port în numele serverului FTP, nu al mașinii atacatoare. , care a făcut posibilă aranjarea unor atacuri DDoS la scară largă folosind mai multe servere FTP simultan sau ocolirea sistemului de securitate al computerului victimei dacă se bazează doar pe verificarea IP-ului clientului și serverul FTP folosit pentru atac este localizat pe un sistem de încredere. rețea sau pe un gateway. Drept urmare, acum aproape toate serverele verifică dacă adresa IP specificată în comanda PORT se potrivește cu adresa IP a clientului FTP și, implicit, interzic utilizarea adreselor IP ale terților acolo. Astfel, utilizarea FXP nu este posibilă atunci când lucrați cu servere FTP publice.

FTP- un protocol conceput pentru a transfera fișiere între computerul unui utilizator și un server. În ciuda faptului că acest protocol cu ​​greu poate fi numit nou, destul de des utilizatorii începători au întrebări cu privire la utilizarea lui.

Ce este FTP?

După cum probabil știți, există diverse protocoale pentru transferul de date prin Internet și alte rețele. De fiecare dată când introduceți adresa unui site web în bara de adrese a browserului dvs., „http: //” este atașat automat în fața acestuia. Aceasta este denumirea pentru HyperText Transfer Protocol (HTTP). Acest protocol este folosit pentru a transfera pagini HTML și elemente aferente (grafice, filme flash, scripturi etc., etc.) de la server la utilizator. De asemenea, transferă adesea fișiere pe care utilizatorul le descarcă pe computerul său.

Dar acum nu vorbim despre el, ci despre un alt protocol - acesta, după cum puteți vedea din titlu, se numește FTP. Această abreviere înseamnă File Transfer Protocol - protocol de transfer de fișiere. Apare o întrebare complet logică: dacă am spus doar că folosind HTTP un utilizator poate descărca un fișier de pe un server pe computerul său, de ce a avut nevoie de alt protocol pentru transferul fișierelor?

Faptul este că HTTP a fost inițial destinat doar transferului de hipertext, iar încărcarea fișierelor din partea utilizatorului pe server necesită gesturi suplimentare din partea creatorului paginii web. FTP, pe de altă parte, vă permite inițial să transferați fișiere în ambele direcții, acceptă transferul direct între două servere și, de asemenea, oferă utilizatorului posibilitatea de a lucra cu fișierele aflate pe server, aproape în același mod ca și cu cele care sunt pe propriul computer.

În ciuda faptului că numele acestui program este similar cu cuvântul Mozilla, dezvoltatorii popularului browser și client de e-mail nu au nimic de-a face cu acesta. Cu toate acestea, setul de posibilități oferite utilizatorilor nu este mai rău decât dacă acest produs software ar fi fost dezvoltat de specialiști de la Mozilla.

În primul rând, FileZilla acceptă o conexiune sigură prin protocoale SSL și SFTP criptate securizate, care sunt foarte importante în zilele noastre. În același timp, există suport pentru descărcarea și încărcarea fișierelor mai mari de 4 GB, precum și un manager de site încorporat. Programul poate funcționa sub diferite sisteme de operare și are o versiune portabilă specială pe care o poți purta cu tine pe o unitate flash și rula fără instalare. Interfața multilingvă a programului completează imaginea, iar printre limbi există și rusă.

Total

Ei bine, după cum puteți vedea, nu există dificultăți deosebite în lucrul cu protocolul FTP. Majoritatea utilizatorilor se descurcă ușor cu Windows Explorer sau cu browserul lor preferat, dar cei care doresc ceva mai mult nu pot cheltui bani pe programe scumpe specializate și le pot sparge, ci folosesc soluții gratuite care nu sunt deloc inferioare ca calitate față de cele comerciale... Succes în „comunicarea” dumneavoastră cu serverele FTP!

FTP face parte din standardele Internet și este folosit pentru a transfera cantități mari de informații. Primele specificații în care a apărut acest protocol au apărut în 1971. De atunci, capacitățile FTP s-au extins semnificativ și este greu de imaginat cum ar putea utilizatorii să se descurce fără el dacă ar trebui să descarce sau să încarce mai mulți gigaocteți de fișiere în stocarea online. Cât timp ar dura transferul unui site de pe o mașină locală pe un server sau invers? Desigur, puteți folosi un arhivator, dar ce se întâmplă dacă serverul nu acceptă această funcție? E înfricoșător chiar și să-ți imaginezi. Deci, FTP este un instrument destul de util.

Protocolul se referă la un format consistent pentru schimbul de informații între două dispozitive. Și el însuși ca „protocol de transfer de fișiere”, care poate fi tradus ca „protocol pentru transferul de fișiere”. Pentru FTP folosește un canal TCP. Schimbul este construit pe principiul „client-server”. Nu puteți transfera folosind acest protocol, deoarece nu are protecție a datelor și textul simplu este transferat pe server. Desigur, de obicei trebuie să vă autentificați pentru a vă conecta la serverul FTP, dar nu ar trebui să vă bazați prea mult pe acest lucru, deoarece ID-ul de utilizator și parola sunt transmise în text clar.

Protocolul FTP este folosit pentru a face schimb de informații cu site-urile FTP, care sunt depozite uriașe de informații utile și interesante. Fișierele de pe un site FTP sunt aranjate într-o structură de directoare arborescentă, la fel ca un computer local. Pentru a vizualiza conținutul depozitului, puteți folosi orice browser, dar este mai bine, desigur, să folosiți un program special creat pentru asta. Utilizatorii care preferă să lucreze cu linia de comandă a sistemului de operare pot folosi comanda „ftp”.

Unele site-uri FTP au restricții privind accesul la resursele lor. Uneori, pentru a le introduce, trebuie să cunoașteți login-ul și parola utilizatorului înregistrat. Majoritatea site-urilor FTP vă permit să încărcați fișiere fără a introduce o parolă. Dar este imposibil să vă scrieți datele în astfel de resurse.

Cum se utilizează protocolulFTPdacă sistemul dvs. de operare nu este Windows

Dacă preferați Linux, puteți vedea documentația pentru operațiunile disponibile tastând $ man ftp. Și pentru a vă conecta la serverul FTP, trebuie să introduceți $ ftp site-ul dvs. la.domeniu. Cele mai frecvent utilizate comenzi sunt:

  • binar - schimbați modul de transfer al fișierelor binare (non-text), de exemplu, imagini;
  • ascii - trecerea la transmiterea de informații text;
  • cd foldername - schimbați directorul curent de pe computerul de la distanță în folderul inclus numit foldername;
  • dir - vizualizați toate fișierele din directorul curent al computerului la distanță;
  • ajutor - ajutor folosind comenzi;
  • mget - descărcați mai multe fișiere în același timp;
  • put filename - este folosit pentru a încărca numele fișierului local într-o resursă de la distanță;
  • mput - încărcarea mai multor fișiere pe o resursă de la distanță;
  • ieșire - ieșiți din FTP și ieșiți în sistemul de operare.

De asemenea, puteți utiliza programe precum gFTP, FOFF și FileZilla.

Cum se utilizează protocolulFTPdacă preferați Windows

În acest caz, totul este mult mai simplu și orice client FTP care este ușor de găsit pe net va funcționa pentru tine. Dintre cele gratuite, cele mai populare aplicații sunt FileZilla, FTPInfo, WinSCP. Managerii de fișiere populari, cum ar fi Total Commander și FAR manager, pot accepta și conexiuni FTP. Deci, dacă nu utilizați acest protocol atât de des, atunci este foarte posibil să se descurce.

Ei bine, dacă trebuia doar să descărcați ceva o singură dată, atunci puteți introduce următoarea comandă în browser în loc de adresa URL:

ftp: // utilizator: [email protected]: port în care

site.at.domain - numele serverului,

port - numărul portului pentru conexiune (de obicei 21 și poate fi omis).

Dacă trebuie să vă conectați la FTP anonim, atunci se utilizează notația scurtă pentru comandă:

ftp: //host.at.domain: port

Se întâmplă să apară unele probleme la conectarea prin FTP. În acest caz, este logic să verificați setările Firewall și antivirus.

FTP este un protocol pentru transferul de date de pe computerul unui utilizator pe un server, de pe un site web pe un hard disk sau între servere. A apărut cu mult înainte de HTTP. Utilizatorii se pot autentifica și efectua acțiunile dorite în mod anonim, dacă această funcție este furnizată. Astăzi există programe specializate pentru transferul de date prin FTP și programe pentru dezvoltare web cu funcție de schimb de date încorporată.

De ce este nevoie de FTP

Poate fi folosit pentru a copia fișiere de la computer la server și de la server la computer. Unul dintre avantajele utilizării FTP este descărcarea mai multor documente în același timp. Unele programe oferă posibilitatea de a edita fișiere direct pe găzduire. Fereastra client standard este împărțită în două părți:

  • primul afișează tot ce este încărcat pe server;
  • în al doilea, totul pe computer.

Pe lângă acestea, sunt folosite ferestre auxiliare. Utilizatorul selectează documentul pe care dorește să îl pună pe hosting și îl transferă. Înainte de asta, trebuie să fie sigur că se autentifică. Datele sunt specificate în formatul: @ nume resursă Nume domeniu.

Unele gazde web oferă acces la site prin programe precum manageri de fișiere. Unele browsere au deja această funcționalitate încorporată. Există, de asemenea, componente speciale care pot funcționa cu FTP.


Vulnerabilități

FTP este un protocol foarte vechi. Este anterior HTTP și nu a fost conceput pentru a fi sigur. Prin urmare, are o mulțime de probleme cu protecția. Iată cele mai de bază:

  • atacuri de falsificare;
  • interceptarea datelor utilizatorului;
  • adulmecare;
  • sechestrarea porturilor.

Fișierele nu sunt criptate atunci când sunt transferate prin FTP. În consecință, toate comenzile, numele de utilizator și parolele pot fi interceptate de intruși. Pentru aceasta, se folosesc versiuni securizate, de exemplu, pentru FTP, acesta este FTPS.

Transmiterea securizată a datelor

Există următoarele metode de trimitere a datelor, protejate de atacurile hackerilor: FTPS, SFTP și FTP prin SSH. Cu FTPS, vă puteți asigura sesiunea. Serverul FTP primește o comandă AUTH TLS și apoi respinge conexiunile care nu sunt criptate.


SFTP are o listă similară de comenzi cu FTP. Utilizează protocolul SSH, care criptează tot traficul. Comenzile și datele sunt codificate în acest fel. În consecință, toate parolele și alte informații care nu sunt destinate terților nu sunt transmise în text clar.

O altă metodă de transmitere prin protocolul SSH este tunelarea sesiunii printr-o conexiune SSH.

Conexiune și schimb de date

Există două tipuri posibile de muncă:

  • activ;
  • pasiv.

Ele diferă prin modul în care este stabilită legătura. Metoda activă presupune că în program este creată o conexiune tcp la server și că este trimis portul IP necesar. Este nevoie de pasiv atunci când astfel de conexiuni sunt blocate de un firewall. Apoi serverul returnează adresa și portul, apoi utilizatorul folosește datele primite pentru a se conecta.

În setările FTP, puteți selecta următoarele moduri de transfer:

  • în linie;
  • bloc;
  • comprimat.

Când este selectat primul mod, datele sunt trimise ca flux continuu. Procesarea se face prin TCP. În modul normal, datele sunt segmentate și, de regulă, trimise sub această formă: bloc antet, număr de octeți, câmp de date. În metoda comprimată, toate datele sunt comprimate de un singur algoritm și sunt transmise mult mai rapid datorită faptului că obiectul cântărește mai puțin.

Autorizare

Pentru identificarea utilizatorului și atribuirea ulterioară a drepturilor de gestionare a fișierelor, se utilizează schema nume de utilizator/parolă. Numele este trimis cu comanda USER, iar parola este PASS.


Serverul acceptă aceste date dacă se potrivesc cu cele specificate în baza de date. Apoi clientul primește o invitație, după care începe sesiunea. Uneori, serverul acceptă posibilitatea de a se conecta fără acreditări. De regulă, accesul limitat este oferit pentru astfel de legături, se utilizează un nume standard, de exemplu, anonim. Dar cel mai adesea, pentru autorizare, trebuie să introduceți o adresă de e-mail validă, iar în viitor este folosită pentru a vă conecta.

Diferență față de protocolul http

Una dintre caracteristicile izbitoare ale FTP sunt conexiunile multiple, în care serverul acceptă comenzi și trimite un răspuns pe un canal și transmite date pe celălalt. Datorită acestui lucru, puteți încărca sau descărca mai multe fișiere în același timp.


Reducerea costurilor de trafic și, în consecință, reducerea timpului pentru schimbul de date se realizează datorită modului de transmisie binar. Lucrarea începe după ce clientul intră în sesiune și toate operațiunile ulterioare sunt efectuate în cadrul acesteia. Aceasta este una dintre caracteristicile distinctive, deoarece protocolul HTTP nu își amintește informații despre utilizatorii înregistrați - această funcție este realizată prin metode externe.

Comunicarea computer-client este implicit pe portul 21 și este utilizată pentru management. Cea de-a doua conexiune de date se deschide pe portul al douăzecilea sau orice este configurat corect.

Cum se lucrează cu fișierele

Există clienți FTP pentru lucrul cu protocolul, dar lucrul cu aceștia se bazează pe același principiu. Tot ce trebuie să transferați este să trageți documentul de pe computerul utilizatorului în folderul serverului sau să faceți aceleași acțiuni folosind linia de comandă.

  1. După ce fereastra principală apare în câmpurile corespunzătoare, trebuie să introduceți numele de gazdă, numele de utilizator, parola, portul.
  2. După autorizarea cu succes, apare o listă cu tot ce a fost încărcat pe server.
  3. Ar trebui să selectați obiectul pe care doriți să îl încărcați pe server de pe computer sau de pe server pe computer.
  4. După ce ați marcat fișierul corespunzător, apelați meniul contextual folosind RMB, selectați acțiunea dorită: descărcați, adăugați la sarcină, editați, ștergeți, redenumiți, copiați adresa, configurați drepturi de acces. Aceste funcții pot varia în funcție de software-ul pe care îl utilizați.

Există o modalitate de a face schimb direct între două servere fără descărcare pe computer. Sunt solicitate două conexiuni la servere diferite. Pe unul dintre ele, este selectat un fișier pentru transfer și este indicată adresa IP a celui de-al doilea server. Pentru aceasta, se folosește FXP - protocol de schimb direct.

Principalul avantaj al utilizării acestei metode este viteza mare de descărcare. Nu depinde de lățimea de bandă a conexiunii la Internet a utilizatorului care dorește să transfere fișierul. Timpul necesar depinde de viteza conexiunii dintre serverele FTP la distanță. De regulă, este în mod deliberat mai mare decât cel personalizat.

De menționat că acest protocol a început să fie folosit de infractorii cibernetici pentru a lansa atacuri asupra altor servere. Pentru a preveni astfel de acțiuni, adresa IP este acum verificată, iar dacă se găsește o nepotrivire, aceasta este blocată.

Conexiune FTP prin browser

Pentru a se conecta, ca și în cazul utilizării programelor specializate, utilizatorul trebuie să aibă un login, o parolă, o adresă IP. Conexiunea în sine are loc atunci când se utilizează linia de comandă. Pentru a face acest lucru, trebuie să introduceți o adresă cu următorul format: ftp: // login to login: server password @ ip address. De exemplu, ftp: // numele meu: [email protected] Dacă conexiunea a avut succes, va apărea o listă cu toate documentele. De obicei, fișierele site-ului sunt stocate în folderul public_html sau www, în funcție de tipul de găzduire.

Pentru a copia un document, trebuie doar să-l trageți. Această metodă nu permite transferul documentelor de la un server la altul. Este ușor să schimbați permisiunile de citire/scriere în browser. Pentru a face acest lucru, faceți clic dreapta pe un fișier care se află deja pe server. Va apărea o fereastră cu setări. Rezoluția necesară trebuie menționată în ea.

FileZilla

Este unul dintre cei mai populari clienți FTP Windows. Este destul de ușor să lucrezi cu acest program. Fereastra principală este împărțită în cinci părți. Trei dintre ele reprezintă structura de fișiere a computerului și patru - serverul. Login, parola, portul sunt specificate în câmpurile obligatorii.


Dacă intenționați să utilizați o conexiune frecvent, informațiile de conectare sunt specificate în Managerul site-ului. În setări, puteți selecta identificarea, distribuiți datele de conectare în foldere, adăugați un comentariu. Pentru a transfera fișierul, selectați și trageți-l în fereastra de lucru, unde este afișată structura fișierului computerului.

Comandant total

Pentru a încărca și descărca un fișier utilizând „Total Commander”, trebuie să efectuați următoarea secvență de acțiuni:

  1. Accesați fila „Rețea”.
  2. Selectați elementul de meniu „Conectați-vă la server”.
  3. În fereastra care apare, faceți clic pe butonul „Adăugați”.
  4. Specificați numele conexiunii, serverul, contul, parola.
  5. Setați indicatorul „Mod de schimb pasiv”, apăsați OK.
  6. După aceea, ar trebui să marcați conexiunea selectată, faceți clic pe butonul „Conectați”.

Linie de comanda

Dacă utilizatorul nu dorește să folosească interfața grafică, deși este destul de convenabilă și permite executarea mai rapidă a unor funcții, poate folosi linia de comandă:

  1. Conexiunea se realizează prin comanda Deschidere. Utilizarea ar trebui să arate astfel: deschideți portul ftp.server.com.
  2. Parametrul port poate fi omis dacă intenționați să utilizați standardul 21.
  3. În loc de server.com, este indicată adresa serverului pe care se află site-ul.

Pentru a redenumi, se folosește redenumirea, pentru a schimba directorul curent, se folosește cd ca standard, pentru a ieși trebuie să introduceți close, iar pentru a șterge - ștergeți sau deconectați.

Top articole similare