protocol FTP. Cum arată un server FTP? Cum funcționează protocolul FTP

    Abreviere FTP vine din engleză F ile T transfer P rotocol (protocol de transfer de fișiere) este un protocol de nivel de aplicație pentru schimbul de fișiere protocol de transport TCP/IP între două computere, client FTP și server FTP. Acesta este unul dintre cele mai vechi și totuși utilizate în mod activ protocol.

Protocolul FTP este conceput pentru a rezolva următoarele probleme:

  • accesați fișiere și directoare pe gazde la distanță
  • asigurarea independenței clientului față de tipul de sistem de fișiere al computerului la distanță
  • transmisie fiabilă a datelor
  • utilizarea resurselor sistemului de la distanță.
  • Protocolul FTP acceptă două canale de conexiune simultan - unul pentru transfer echipeși rezultatele implementării lor, celălalt este pentru partajare date. Cu setări standard, serverul FTP folosește portul TCP 21 pentru a organiza un canal pentru trimiterea și primirea comenzilor și portul TCP 20 pentru a organiza un canal pentru primirea/transmiterea datelor.

    Serverul FTP așteaptă conexiunile de la clienții FTP pe portul TCP 21 și, după stabilirea unei conexiuni, acceptă și procesează comenzi FTP , care sunt șiruri de text obișnuite. Comenzile definesc parametrii de conectare, tipul de date transferate și acțiunile în legătură cu fișierele și directoarele. După ce a convenit asupra parametrilor de transmisie, unul dintre participanții la schimb intră în modul pasiv, așteptând conexiunile de intrare pentru canalul de schimb de date, iar al doilea stabilește o conexiune la acest port și începe transmisia. Odată ce transferul este finalizat, conexiunea de date este închisă, dar conexiunea de control rămâne deschisă, permițându-vă să continuați sesiunea FTP și să creați o nouă sesiune de transfer de date.

    Protocolul FTP poate fi folosit nu numai pentru a transfera date între un client și un server, ci și între două servere. ÎN în acest caz,, clientul FTP stabilește o conexiune de control cu ​​ambele servere FTP, comută unul dintre ele în modul pasiv, iar al doilea la activ, creând un canal de transfer de date între ele.

    Un client FTP este un program care se conectează la un server FTP și efectuează operațiunile necesare pentru a vizualiza conținutul directoarelor serverului și pentru a primi, transfera și șterge fișiere sau foldere. Un astfel de program poate fi un browser obișnuit, componente ale sistemului de operare sau produse software special dezvoltate, cum ar fi un manager de descărcare popular. Descărcați Master sau multifuncțional gratuit Client FTP FileZilla.

    Protocolul FTP a fost dezvoltat în vremurile când clientul și serverul interacționau direct, fără transformări intermediare ale pachetelor TCP, iar în modul standard își asumă capacitatea de a crea o conexiune TCP nu numai la inițiativa clientului, ci și la inițiativa serverului de la portul TCP 20 pe TCP - portul client, al cărui număr este transmis în timpul creării unei sesiuni de date.

    Realități astăzi sunt de așa natură încât o astfel de conexiune TCP de la server la client este în marea majoritate a cazurilor imposibilă sau foarte dificil de implementat datorită faptului că, în majoritatea cazurilor, tehnologia de traducere a adreselor de rețea este utilizată pentru conectarea la Internet NAT(Network Address Translation) atunci când clientul nu are o interfață de rețea disponibilă pentru a crea un direct conexiuni TCP de pe internet. Schema tipica conexiune standard Internetul arată astfel:

    Conexiunea la internet se face prin dispozitiv special - Router(router cu funcție NAT) care are cel puțin două porturi de rețea - unul conectat la rețeaua furnizorului, având o interfață de rețea cu o adresă IP direcționată (așa-numita „IP albă”), de exemplu 212.248.22.144 și un port cu o interfață de rețea pentru conectarea dispozitivelor de rețea locală cu o adresă IP privată, care nu poate fi rutată, de exemplu 192.168.1.1 („IP gri”). Când se creează conexiuni de la dispozitivele din rețeaua locală la cele externe nodurile de rețea, pachetele IP sunt trimise către router, care realizează traducerea adresei și a portului, astfel încât adresa expeditorului să devină adresa IP albă. Rezultatele traducerii sunt salvate și când se primește un pachet de răspuns, se efectuează o traducere inversă a adresei. Astfel, routerul asigură redirecționarea pachetelor TCP/IP de la orice dispozitiv din rețeaua locală către rețele externeși redirecționarea pachetelor de răspuns primite. Dar în cazurile în care un pachet care nu este legat de pachetele de răspuns TCP este primit la intrarea unei interfețe de rețea conectată la rețeaua furnizorului, sunt posibile următoarele opțiuni de reacție: software router:

    Pachetul este ignorat deoarece nu există un serviciu de rețea care să-l proceseze.

    Pachetul este primit și procesat de serviciul de rețea al routerului însuși, dacă un astfel de serviciu există și așteaptă o conexiune de intrare („ascultare”) pe portul al cărui număr este indicat în pachetul primit.

    Pachetul este redirecționat către un server din rețeaua locală în așteptare acest tip conexiuni de intrare conform regulilor de redirecționare porturi ( maparea portului) setările routerului specificate.

    Prin urmare, în prezent, principalul mod de operare pentru protocolul FTP a devenit așa-numitul „mod pasiv”, în care conexiunile TCP sunt realizate numai de la client la portul TCP al serverului. Modul activ este utilizat în cazurile în care este posibil să se conecteze TCP de la server la porturile client, de exemplu, atunci când se află în aceeași rețea locală. Alegere Modul FTP- conexiunile se fac folosind comenzi speciale:

    PASV- clientul trimite o comandă pentru a efectua schimbul de date în mod pasiv. Serverul va returna adresa și portul la care trebuie să vă conectați pentru a primi sau transmite date. Exemplu de fragment al unei sesiuni FTP cu modul pasiv setat:

    PASSV- comanda de comutare în modul pasiv transmisă de clientul FTP către serverul FTP

    227 Intrarea în modul pasiv (212,248,22,144,195,89)- Răspuns server FTP, unde 227 este codul de răspuns, un mesaj text despre trecerea la modul pasiv și între paranteze adresa IP și numărul portului care vor fi folosite pentru a crea un canal de transmisie a datelor. Adresa și numărul portului sunt afișate ca numere zecimale separate prin virgulă. Primele 4 numere sunt adresa IP (212.248.22.144), celelalte 2 numere specifică numărul portului, care este calculat prin formula - primul număr este înmulțit cu 256 și al doilea număr este adăugat la rezultat, în acest exemplu numărul portului este 195 * 256 +89 = 50017

    PORT Adresa IP client Numărul portului- clientul trimite o comandă pentru a stabili o sesiune în modul activ. Adresa IP și numărul portului sunt specificate în același format ca în exemplul anterior, de exemplu PORT 212.248.22.144,195,89 Pentru a organiza transferul de date, serverul însuși se conectează la clientul pe portul specificat.

    Instalarea și configurarea FileZilla FTP Server.

    Descarca pachet de instalare FileZilla Server pentru versiunea sistemului de operare, puteți accesa

    Instalare server în curs într-un mod standard, cu excepția elementului cu selectarea setărilor panoului de control al serverului:

    Acesta este principalul instrument de gestionare a serverului prin care toți setările necesare. În mod implicit, panoul de control operează pe o interfață loopback fără acces prin parolă. Dacă este necesar, de exemplu, dacă este necesară controlul de la distanță al serverului FTP, aceste setări pot fi modificate.

    Odată ce instalarea este finalizată, se va deschide o fereastră de invitație pentru a vă conecta la server:

    După ce ați introdus adresa IP, numărul portului și parola (dacă le-ați specificat în timpul procesului de instalare), se deschide panoul de control FileZilla Server:

    În partea de sus a ferestrei se află meniul principal și butoanele panoului de control. Mai jos sunt două zone - mesaje de informații despre server și informații statistice. În general, panoul de control FTP al FileZilla Servver este destul de simplu și ușor de utilizat. Elemente din meniul principal:

    Fişier- moduri de operare ale panoului de control al serverului FTP. Conține subarticole

    - Conectați-vă la server- conectați-vă la server
    - Deconectat- deconectați-vă de la server
    - Părăsi- oprirea panoului de control.

    Server- Administrare server FTP. Conține subparagrafe:

    - Activ- pornire/oprire server FTP. Dacă caseta de selectare este bifată, serverul FTP este pornit, dacă nu este bifat, este oprit.
    - Lacăt- interzice/permite conexiuni la server. Când caseta de selectare este bifată, noile conexiuni la server sunt interzise.

    Editați | ×- editarea setărilor. Sub-articole:

    - Setări- setări de bază ale serverului.
    - Utilizatori- Setări utilizator FTP server
    - Grupuri- setările grupului de utilizatori.

    De exemplu, să configuram serverul pentru următoarele condiții:

  • serverul se află în spatele NAT, are o adresă IP privată, dar trebuie să fie accesibil de pe Internet, acceptă modul pasiv și folosește porturi TCP non-standard. Utilizarea de porturi non-standard reduce probabilitatea atacurile hackerilorși, în plus, unii furnizori folosesc filtrarea traficului și blochează porturile standard 20 și 21.
  • utilizatorii au posibilitatea de a descărca de pe server, de a încărca pe server, de a șterge și de a redenumi fișiere și foldere.
  • în caz de utilizare adresa IP dinamică, trebuie să vă asigurați că serverul este accesibil prin numele DNS.
  • serverul va funcționa stație de lucruîn mediul de operare Windows 7 / Windows 8.
  • Cu alte cuvinte, trebuie să creați un accesibil Internet FTP-server pentru schimbul de fișiere între utilizatori, gratuit desigur. Este destul de clar că, pe lângă crearea configurației necesare a serverului FTP în sine, va trebui să modificați unele setări ale routerului, setările paravanului de protecție Windows și să rezolvați problema unei adrese IP dinamice, astfel încât serverul să fie accesibil după nume, indiferent a modificării adresei IP.

    Rezolvarea problemei adresei IP dinamice.

        Această problemă nu necesită o soluție în cazurile în care, la conectarea la Internet, este utilizată o adresă IP statică sau una dinamică, dar în conformitate cu setările furnizorului, este aproape întotdeauna aceeași. În caz contrar, puteți folosi o tehnologie numită DNS dinamic (DDNS). Această tehnologie vă permite să actualizați informațiile despre adresa IP de pe serverul DNS aproape în timp real și să accesați routerul (și serviciile din spatele acestuia) după numele înregistrat, fără a fi atenți la modificările IP-ului dinamic.

    Pentru a implementa această tehnologie gratuit, va trebui să vă înregistrați la un serviciu DNS dinamic și să instalați software-ul client pentru a actualiza înregistrarea DNS dacă adresa IP corespunzătoare se modifică. Suportul DNS dinamic este furnizat de obicei de producători echipamente de rețea(D-Link, Zyxel etc.), unele companii de hosting și specializate, precum binecunoscutul DynDNS. Cu toate acestea, după ce în a doua jumătate a anului 2014, toate serviciile care erau oferite gratuit utilizatorilor înregistrați pentru uz necomercial au devenit plătite, cea mai populară soluție, poate, a fost utilizarea DNS-ului dinamic bazat pe serviciu. No-IP.org, care oferă servicii de asistență gratuite pentru 2 noduri cu IP dinamic. Pentru utilizare gratuită Serviciul va necesita înregistrarea și vizitarea periodică (aproximativ o dată pe lună) a site-ului pentru a actualiza informațiile despre nodurile utilizate cu IP dinamic. Dacă omiteți actualizarea datelor nodului, serviciul este suspendat și, în consecință, va deveni imposibil să vă conectați la nod după nume. Când utilizați serviciul contra cost, nu este necesară nicio actualizare.

        Aproape toate routerele (modemurile) moderne au suport încorporat pentru un client DNS dinamic. Configurarea sa este de obicei foarte simplă - completați câmpurile cu numele de utilizator și parola, precum și numele gazdei primite la înregistrarea la serviciul DDNS. Exemplu pentru Zyxel P660RU2

        Utilizarea clientului DDNS încorporat în router/modem este de preferată decât utilitarul de actualizare a datelor DNS care rulează în mediul OS, deoarece vă permite să implementați caracteristici suplimentare, cum ar fi gestionarea routerului prin Internet când computerul este oprit și activare de la distanță alimentarea computerelor aflate în spatele tehnologiei NAT Wake On Lan.

    În acele cazuri în care nu este posibil să utilizați clientul DDNS încorporat, va trebui să vă descurcați cu aplicația software - un program client pentru suportul DNS dinamic. Un astfel de program se conectează periodic la un server care acceptă un înregistrat Numele domeniului, asociat cu routerul prin care se realizează conexiunea la Internet și apelează procedura de actualizare IP atunci când se modifică. Setarile serverului sunt realizate in asa fel incat compararea numelui DNS si a adresei IP a conexiunii la Internet sa fie finalizata intr-un timp foarte scurt, iar natura dinamica a adresei nu are practic niciun efect asupra performantei serviciilor asociate cu numele DNS.

    Procedura este următoarea:

  • Mergem pe site-ul web No-IP.org. Pentru a lucra cu un cont existent sau nou, utilizați butonul "Conectare"(partea dreapta sus a paginii).

  • Creați-vă, dacă nu a fost încă creat cont- click "Creează cont". Formularul de înregistrare se modifică periodic, dar este obligatoriu să introduceți numele de utilizator, parola și E-mailul dorit. Un e-mail cu un link pentru confirmarea înregistrării este trimis la adresa de e-mail specificată în timpul înregistrării. Când vă înregistrați, selectați acces gratuit - faceți clic pe butonul Inregistrare gratis după completarea tuturor câmpurilor obligatorii ale formularului.
  • După înregistrarea cu succes, conectați-vă la site și adăugați o intrare pentru nodul dvs. - faceți clic pe butonul „Adăugați gazde”

    De fapt, trebuie doar să introduceți numele gazdei selectat, în acest caz - myhost8.ddns.net. Nu este nevoie să schimbați alți parametri. Apoi trebuie să descărcați și să instalați un software special - Client de actualizare dinamică(DUC), linkul către care se află pe pagina principală a site-ului. După finalizarea instalării DUC, acesta se va lansa și se va deschide o fereastră de autorizare, unde trebuie să introduceți numele de utilizator sau e-mailul și parola primite la înregistrarea pe site-ul no-ip.org. Apoi apăsați butonul Editează Hostași bifați caseta de lângă numele de gazdă creat anterior (myhost8.ddns.net). Acum, numele de gazdă selectat va corespunde întotdeauna cu „adresa IP albă” a conexiunii dumneavoastră la internet. Dacă întâmpinați probleme la actualizarea adresei IP, verificați dacă activitatea de rețea a clientului dvs. DUC este blocată de un firewall.

    Configurarea unui server FTP

        Folosirea numerelor de porturi non-standard pentru un server FTP nu este deloc necesară dacă furnizorul nu folosește filtrarea traficului sau nu vă interesează scanarea porturilor pentru vulnerabilități și încercarea de a ghici parole. În acest articol, utilizarea unui server FTP cu porturi TCP non-standard este prezentată ca unul dintre opțiuni posibile.

    Setările FileZilla Server se fac prin meniul „Editare” - „Setări”.

    Fereastră setari generale destinat setărilor generale ale serverului FTP.

    În câmpul „Ascultă pe acest port” poți specifica numărul portului pentru conexiunile TCP de intrare. În mod implicit, acest câmp este setat la 21 și pentru a utiliza un număr non-standard, trebuie să specificați valoarea selectată, de exemplu - 12321 . Utilizarea unui port TCP non-standard are unele inconveniente, deoarece necesită specificarea valorii acestuia la crearea unei sesiuni:

    Dacă serverul este planificat să fie utilizat atât cu acces de pe Internet, cât și pe rețeaua locală, este logic să lăsați valoarea standard 21 și să utilizați un număr de port non-standard pentru conexiunile de pe Internet, setând redirecționarea pachetelor care sosesc pe portul 12321 al routerului către portul 21 al serverului FTP din rețeaua locală. Cu această configurare, nu este nevoie să specificați un număr de port pentru sesiunile FTP din rețeaua locală.

    Alți parametri sunt pentru reglarea performanței și timeout-urile sesiunii. Ele pot fi lăsate neschimbate. Secțiunile rămase ale setărilor generale pot fi, de asemenea, lăsate ca implicite:

    Mesaj de intampinare- text care este trimis clientului la conectare.

    Legare IP- pe ce interfață de rețea vor fi așteptate conexiuni client. În mod implicit - pe oricare, dar puteți specifica unul anume, de exemplu - 192.168.1.3.

    Filtru IP- stabilirea regulilor de filtrare pentru adresele IP ale clientului. În mod implicit, conexiunile sunt permise pentru orice IP.

    Capitol Setări pentru modul pasiv servește la configurarea modului FTP pasiv și va necesita modificarea aproape a tuturor parametrilor impliciti.

    Numerele portului care vor fi folosite pentru a transmite date în modul pasiv trebuie setate manual, deoarece routerul va trebui configurat pentru a-l redirecționa către interfața de rețea pe care o ascultă serverul. Prin urmare, trebuie să bifați caseta pentru a activa modul „Utilizați intervalul de porturi personalizate” și să setați intervalul - de exemplu, de la 50000 inainte de 50020 . Numărul de porturi pe care le ascultă serverul determină limita numărului de sesiuni de transfer de date simultan.

    Subsecțiunea Specific IPv4 definește adresa IP care va fi trimisă de server ca răspuns la comanda PASV. În acest caz, nu ar trebui să fie propriul IP 192.168.1.3 al serverului, ci „IP alb” al conexiunii noastre la internet. Prin urmare, trebuie să setați modul „Utilizați următorul IP” și, în loc de adresa IP, introduceți numele primit la înregistrarea la serviciul DNS dinamic - myhost8.ddns.net. Ca alternativă, puteți utiliza modul pentru determinarea adresei IP externe folosind proiectul FileZilla pornind. „Preluați adresa IP externă de la:”. Această opțiune poate fi selectată în cazurile în care nu este posibilă utilizarea instrumentului DNS dinamic. Dacă intenționați să utilizați un server FTP în rețeaua locală, trebuie să setați modul la „Nu utilizați IP extern pentru conexiuni locale” (nu utilizați o adresă IP externă pentru conexiunile în cadrul rețelei locale)

    Restul setărilor serverului pot fi lăsate neschimbate sau, dacă este necesar, efectuate mai târziu: Setări de securitate- Setări de securitate. În mod implicit, conexiunile care pot fi utilizate pentru implementarea atacurilor DDoS sunt interzise

    Diverse- setări pentru dimensiunile bufferului și alți parametri de jurnal și unele comenzi FTP.

    Setările interfeței de administrare- setările panoului de control al serverului. Puteți specifica interfața de rețea, numărul portului de ascultare, adresele IP de la care sunt permise conexiunile la panoul de control și o parolă.

    Logare- setările jurnalului de evenimente ale serverului. În mod implicit, scrierea în fișier nu este efectuată.

    Limită de viteză- setările limitei ratei de transfer de date. Implicit - fără restricții.

    Compresie prin transfer de fișiere- setări pentru compresia fișierelor în timpul transferului. Valoarea implicită nu este compresie.

    Setări SSL/TLS activarea modului de criptare pentru datele transmise. Valoarea implicită nu este criptarea.

    Autoban- activați blocarea automată a utilizatorilor care ghicesc parola pentru a se conecta. Mod implicit, Blocare automată oprit.

    Configurarea redirecționării portului și a paravanului de protecție

    Pentru ca serverul FTP să fie accesibil de pe Internet, este necesar să configurați routerul astfel încât conexiunile de intrare care vin pe anumite porturi TCP de pe interfața externă să fie redirecționate către porturile TCP ascultate de serverul FTP din rețeaua internă. Pentru diferite modele de router, setările pot diferi în terminologie, dar semnificația lor este aceeași - un pachet TCP primit pe interfața externă (WAN) cu număr specific portul care urmează să fie trimis în rețeaua locală la adresa IP și portul dorite. Exemplu de setări pentru routerul D-Link DIR-320NRU pentru redirecționarea portului utilizat pentru modul FTP pasiv:

    Pachetele primite pe o interfață cu „IP ​​alb” și având numere de porturi în intervalul 50000-50020 vor fi redirecționate către adresa IP specificată în câmpul „IP intern” (în cazul nostru - 192.168.1.3). În mod similar, se creează o redirecționare pentru portul 50021 dacă ați schimbat numărul standard de port sau către portul 21 al serverului FTP dacă l-ați lăsat neschimbat.

    După aplicarea acestor setări, serverul FTP va fi accesibil prin URL ftp://myhost8.ddns.net:50021 sau, pentru o conexiune într-o rețea locală:

    ftp://192.168.1.3- dacă nu ați schimbat numărul de port implicit (21) în setările serverului FTP.

    ftp://192.168.1.3:50021- dacă se utilizează un număr de port non-standard.

    Puteți utiliza un nume de computer în loc de o adresă IP dacă poate fi rezolvată la o adresă IP

    ftp://comp1

    ftp://comp1.mydomain.ru

    Diagnosticarea problemelor

    Dacă conexiunea la serverul FTP nu are loc, atunci pot apărea probleme cu firewall-ul care blochează conexiunile necesare pentru funcționarea serverului FTP creat. Dacă utilizați paravanul de protecție Windows încorporat, trebuie să adăugați o regulă care să permită activitatea de rețea pentru serviciul „FileZilla FTP server”. Dacă utilizați un firewall sau un antivirus terță parte cu filtrare de trafic, trebuie să creați o regulă corespunzătoare folosind instrumentele de setări disponibile pentru a permite conexiunile la rețea. Opțiunile sunt posibile atunci când sunt făcute setări pentru a permite oricare activitatea de rețea un anumit program sau pentru a rezolva adresele și porturile selectate care se aplică tuturor programelor.

    Cel mai bun loc pentru a începe diagnosticarea este pe serverul FTP însuși. Ca instrument de diagnosticare, puteți utiliza un standard client telnet(utilitate telnet.exe). Toate firewall-urile nu blochează conexiunile pe interfața loopback și pentru a verifica dacă setările serverului sunt corecte, vă puteți conecta la acesta introducând comanda:

    telnet localhost 21- dacă se utilizează un număr de port standard.

    telnet localhost 50021- dacă numărul portului standard a fost modificat.

    Când această comandă este executată, se realizează o conexiune la serverul FTP prin interfața de loopback și ar trebui să fie afișată o invitație de server (Mesaj de bun venit) în fereastra telnet. Dacă acest lucru nu se întâmplă, serverul poate fi oprit, există un conflict de porturi sau portul 21 (50021) nu ascultă. Pentru diagnosticare puteți folosi comanda netstat:

    netstat –nab

    Opțiuni Linie de comanda Rău:

    n- utilizați numere numerice de porturi și adrese IP

    A- afișați toate conexiunile și porturile de ascultare

    b- afișați numele programelor implicate în crearea conexiunilor.

    Exemplu de rezultate ale comenzii afișate:

    Conexiuni active

    Nume     Adresă locală     Adresă externă     Stare
    TCP         0.0.0.0:21                 0.0.0.0:0                         STENING
    TCP         0.0.0.0:135               0.0.0.0:0                        
    RpcSs

    Într-o coloană Adresă locală există un sens 0.0.0.0:21 , ceea ce indică faptul că programul numit FileZilla Server.exe ascultare (stare ASCULTARE) Portul TCP numărul 21 pentru toate interfețe de rețea. Dacă în setările serverului FTP au fost specificate o interfață specifică și un număr diferit de port, atunci această valoare va conține IP:port, De exemplu - 192.168.1.3:50021

    Pentru a afișa rezultatele în modul pagină, puteți utiliza comanda:

    netstat -nab | Mai mult

    Sau utilizați rezultatele căutării după numărul de port: netstat -nab | găsiți „:21”

    Dacă serverul nu este disponibil pe o interfață non-loopback, dar accesibil pe o interfață loopback, trebuie să înțelegeți setările paravanului de protecție.

    Configurarea utilizatorilor și a grupurilor.

    Configurarea utilizatorilor și a grupurilor se face prin meniul „Editare” - „Utilizatori” („Grupuri”). Nu este necesar să se creeze grupuri, dar uneori este convenabil pentru acele cazuri când există un numar mare de utilizatorii și drepturile lor în legătură cu serverul FTP sunt diferite. Setările atât pentru grupuri, cât și pentru utilizatori sunt aproape identice:

    Acest exemplu arată rezultatul adăugării unui utilizator de server FTP numit utilizator1 având drepturi depline pentru a scrie, citi, șterge și îmbina fișiere, precum și pentru a vizualiza conținutul, șterge și crea subdirectoare într-un director C:\ftp\public

    Pe pagina General proprietățile utilizatorului sunt adăugate, șterse și modificate.
    Pe pagina Foldere partajate sunt făcute setări care determină lista directoarelor sistemului de fișiere care vor fi utilizate de serverul FTP pentru a oferi acces la acestea prin protocolul FTP. Fiecărui utilizator sau grup de utilizatori i se poate oferi propriul director cu anumite drepturi în legătură cu conținutul său.
    Pe pagina Limite de viteza Puteți seta restricții privind viteza de schimb de date.
    Pe pagina Filtru IP Puteți seta reguli de filtrare pentru adresa IP a utilizatorului, indicând adresele de la care conexiunea la server este interzisă sau permisă.

    Lista comenzilor FTP de bază

    ABOR - Anulează transferul fișierului
    CDUP - Schimbați directorul într-unul superior.
    CWD - Schimbați directorul curent.
    DELE - Ștergeți un fișier (DELE nume fișier).
    AJUTOR - Afișează o listă de comenzi acceptate de server.
    LIST - Returnează o listă de fișiere dintr-un director. Lista este transmisă prin conexiunea de date (portul 20).
    MDTM - Returnează ora de modificare a fișierului.
    MKD - Creați un director.
    NLST - Returnează o listă de fișiere dintr-un director în mai multe format scurt decât LIST. Lista este transmisă prin conexiunea de date (portul 20).
    NOOP - Operare gol
    PASV - Intrați în modul pasiv. Serverul va returna adresa și portul la care trebuie să vă conectați pentru a colecta datele. Transferul va începe când sunt introduse comenzile RETR, LIST etc.
    PORT - Intrați în modul activ. De exemplu PORT 12,34,45,56,78,89. Spre deosebire de modul pasiv, serverul însuși se conectează la client pentru a transfera date.
    PWD - Returnează directorul curent al serverului.
    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 - Ștergeți directorul
    RNFR și RNTO - Redenumiți fișierul. RNFR - ce să redenumim, RNTO - ce să redenumim.
    SIZE - Returnează dimensiunea fișierului
    STOR - Încărcați un fișier pe server. 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 (A- text ASCII, I - binar)
    UTILIZATOR - Nume de utilizator pentru a vă conecta la server

    Exemplu de sesiune FTP

    Clientul FTP se conectează la server cu numele de utilizator utilizator1, parola goalăși descarcă un fișier numit CPU-v. Mesajele de la serverul FTP sunt evidențiate cu roșu, mesajele de la clientul FTP sunt evidențiate cu albastru. Schimbul de directive și parametri poate diferi ușor pentru versiuni diferite Software pentru client FTP și server FTP.

    După conectare, serverul transmite informații despre sine către client:
    220-FileZilla Server versiunea 0.9.45 beta
    220-scris de Tim Kosse ( [email protected])
    220 Vă rugăm să vizitați http://sourceforge.net/projects/filezilla/
    Clientul transmite numele de utilizator:
    UTILIZATOR utilizator1
    Serverul cere o parolă:
    331 Parola necesară pentru user1
    Clientul transmite o parolă goală:
    TRECE
    Serverul verifică contul de utilizator și raportează începutul sesiunii:
    230 Conectat
    Clientul solicită tipul de sistem de operare de pe server:
    SYST
    Serverul raportează că tipul Unix, emulat de serverul Filezilla:
    215 UNIX emulat de FileZilla
    Clientul solicită o listă de parametri acceptați de server:
    FEAT
    Serverul răspunde cu o listă de parametri acceptați:
    211-Caracteristici:
    MDTM
    REST STREAM
    MĂRIMEA
    Tip MLST*;dimensiune*;modificare*;
    MLSD
    UTF8
    CLNT
    MFMT
    211 Sfârșit

    Clientul solicită directorul curent al serverului:
    P.W.D.
    Serverul raportează că directorul curent este directorul rădăcină ("/"):
    257 „/” este directorul curent.
    Clientul raportează că va transfera date binare:
    TIP I

    Serverul confirmă tipul de date transferate:
    200 Tip setat la I
    Clientul raportează că va folosi modul FTP pasiv:
    PASV
    Serverul raportează trecerea la modul pasiv și transmite IP-ul și portul pentru modul FTP pasiv.
    227 Intrarea în modul pasiv (212,248,22,114,195,97)
    Clientul solicită să primească un fișier numit CPU-v din directorul serverului curent
    RETR cpu-v
    Serverul raportează începutul transferului de date:
    150 Deschiderea canalului de date pentru descărcarea fișierelor de pe serverul „/cpu-v”
    La finalizare, serverul raportează un transfer reușit:
    226 Transferat cu succes „/cpu-v”

    În concluzie, aș dori să adaug că proiectul Filezilla include nu numai dezvoltarea și sprijinirea de înaltă calitate server FTP gratuit, dar și un popular client FTP gratuit

    Articol cu ​​o scurtă descriere a liberului Client FTPși pentru Linux, Mac OS și Windows. Acest client FTP acceptă multe protocoale de transfer de date aplicației - FTP, FTP peste SSL/TLS (FTPS), fișier SSH Protocolul de transfer(SFTP), HTTP, SOCKS și FTP-Proxy. Cu alte cuvinte, Filezilla FTP Client este un software universal pentru primirea și transmiterea fișierelor peste toate protocoalele de aplicație moderne între noduri de pe diverse platforme.

    Protocolul FTP este un tip de protocol de transfer de date care este utilizat cu scopul de a copia și muta fișiere pe Internet și în rețelele TCP. FTP este adesea folosit pentru a descărca pagini și documente. tipuri variate pentru a găzdui computere. Protocolul FTP utilizează o arhitectură client-server și diverse conexiuniîn cadrul unei rețele pentru a transmite comenzi și informații de la client la server și invers. Utilizatorilor FTP li se permite să se autentifice folosind un login și o parolă sau, dacă acest formular este permis pe server, utilizatorii pot accesa 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 informații criptate. Această abordare este implementată prin trimiterea comenzii de autentificare „auth tls”, care permite serverului să accepte sau să respingă conexiuni care nu solicită conexiuni TLS.

    SFTP

    SFTP este un standard pentru transferul de informații pe Internet, care este destinat pentru mutarea și copierea fișierelor folosind o conexiune SSH (Secure Shell) extrem de fiabilă și sigură. Acest tip de conexiune poate oferi acces și transmisie securizată, care se realizează cu criptarea atât a login-ului și a parolei, cât și a conținutului transmisiei în sine, protejând astfel parolele și informații confidențiale de la transmisia deschisă în rețea.
    Spre deosebire de FTP, protocol SFTP, în ciuda funcțiilor similare, utilizează un protocol diferit 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 în urmă cu 45 de ani și este destul de utilizat pe Internet astăzi. Unul dintre cele mai importante caracteristici Protocolul susține utilizarea mai multor conexiuni: una în scopul transmiterii comenzilor de control și altele pentru transferul direct de fișiere. În acest caz, puteți deschide mai multe conexiuni paralele, fiecare dintre acestea putând transmite 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 a transmite informații către utilizator, iar în modul pasiv, invers.
    Acest standard a fost folosit destul de mult timp și la prima vedere este extrem de simplu. Dar o astfel de 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 prin intermediul acest 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 21 al serverului prin trimiterea comenzii „port”, care specifică adresa și portul pentru transferul informațiilor. După primirea acestei comenzi, serverul începe o conexiune de la propriul său port 20 la portul de utilizator specificat.
    Principalul dezavantaj al acestei metode este că utilizatorul trebuie să aibă o adresă IP dedicată pe Internet pentru a funcționa. În plus, pot apărea unele probleme dacă clientul se află în spatele unui firewall sau NAT.

    Caracteristici mod pasiv

    Pentru a stabili o conexiune pasivă, utilizatorul trebuie să trimită comanda 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 un firewall, și 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.

    Setări dacă utilizați 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 au fost inițiate intern, computerul server nu va putea să stabilească o conexiune și să înceapă să transmită informații. Și datorită faptului că portul pentru informații este de tip dinamic, apar unele dificultăți la configurarea firewall-ului. Cea mai bună opțiune în acest caz este să indicați gama de porturi utilizate și să organizați o regulă specială de firewall care permite acestora.
    Dacă utilizați modul pasiv, riscați să întâlniți o complexitate similară. computer server. În acest caz, puteți utiliza o soluție similară - specificați în opțiuni o anumită gamă de porturi utilizate și creați o regulă specială pentru acest interval.

    Configurare la utilizarea NAT

    Pentru funcționarea corectă a FTP prin NAT și pentru transferul de fișiere cu succes, nu este suficient să configurați pur și simplu redirecționarea porturilor de lucru, deoarece un computer server care operează sub NAT va transmite adresa portului intern, iar clientul pur și simplu nu se va putea conecta și transferul de informații.
    Unele implementări NAT moderne pot monitoriza canalul de control al unei conexiuni FTP și pot înlocui adresa internă cu una externă pentru transferul 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, portul de redirecționare 21 este suficient pentru a implementa o sesiune de control, precum și pentru a specifica și redirecționa o serie de adrese dinamice utilizate pentru transferul de date pe Internet.

    Unul dintre cele mai vechi protocoale de rețea este FTP. Pentru ce este destinat, care este rolul său în „comunicarea” în rețea a computerelor, cum funcționează acest protocol și dacă merită folosit - veți găsi răspunsurile la toate aceste întrebări în articolul de mai jos.

    Care este esența tehnologiei FTP?

    Protocolul FTP modern este folosit oarecum diferit decât înainte. A fost dezvoltat inițial pentru a funcționa cu volume mari de date. De aceea a fost inventat nu numai protocolul FTP, ci și arhiva FTP. Acum, acesta din urmă a devenit un depozit global pentru multe fișiere situate pe servere din întreaga lume. Arhiva este formată dintr-un număr mare de servere FTP și există speciale motoare de căutare, care vă permit să căutați date după gazdă, cum ar fi Napalm sau FileSearch.

    Nu fiecare parte a arhivei FTP poate încadra străin printr-un motor de căutare. Există servere cu diferite niveluri de acces. Mulți oameni cunosc FTP ca fiind protocolul necesar pentru a încărca un site web pe găzduire, adică care este necesar pentru utilizare confidențială. În exact aceleași scopuri, o arhivă FTP este folosită pentru organizațiile comerciale care stochează un fel de informatii secreteîn ele.

    Dar există și multe arhive publice FTP, care sunt similare cu serviciile de partajare a fișierelor. Pentru astfel de arhive au fost create motoare de căutare speciale - astfel încât utilizatorii să poată găsi fișiere imediat, și nu articole cu descrieri lungi ale programelor sau jocurilor, în locul aplicațiilor în sine.

    Care este scopul protocolului FTP

    Proiectat protocol FTP pentru a transfera date între client și server. Se numește „protocol de transfer de date”. Deoarece a fost folosit de foarte mult timp, FTP a devenit unul dintre standardele Internetului. Protocolul a fost folosit pentru prima dată în 1971. Pe parcursul existenței sale s-a schimbat foarte mult. Unele funcții au fost eliminate și s-a pus accentul pe faptul că FTP este foarte potrivit pentru schimbul de date între computere de la distanță. De-a lungul timpului, a devenit mai convenabil pentru utilizatorii obișnuiți. La urma urmei, vă puteți conecta la un server FTP fie folosind un program special, fie folosind servicii standard sisteme de operare. De exemplu, vă puteți conecta chiar și la un server FTP folosind Windows Explorer standard.

    În plus, FTP este conceput pentru a distribui drepturile de acces între utilizatorii serverului. Diversi utilizatori serverele au propriul set de drepturi. De exemplu, unii pot citi doar date, în timp ce alții pot muta, redenumi, edita și încărca fișiere pe gazdă. Deoarece crearea unui server FTP este la fel de ușoară ca și utilizarea acestuia, mulți utilizatori folosesc acest protocol pentru a crea acces de la distanță la computerele dvs.

    Unii oameni confundă FTP și TCP. Deși aceste concepte nu pot fi comparate. FTP este un protocol, iar TCP este canalul pe care operează. Și acest canal este stabilit între dispozitivul server și dispozitivul client. „Dispozitiv” și nu un computer, deoarece FTP poate fi folosit și pe smartphone-uri care utilizează programe speciale, nu numai pe PC.

    Vă rugăm să rețineți că FTP este un protocol bun de utilizat computer la distanță, dacă trebuie să încărcați niște date acolo sau invers - descărcați-le.

    Dar acest protocol nu este deloc potrivit pentru transmiterea de informații confidențiale. De aceea, dezvoltatorii serviciului Yandex Disk au refuzat să folosească FTP ca protocol principal și au ales WebDAV. FTP este un protocol deschis care nu criptează datele. Și chiar dacă configurați autentificarea cu parolă pentru clienții de pe server, datele pe care le introduc în timpul autorizării vor fi transferate către gazdă. în text clar. Adică, dacă sunt interceptați, atacatorii vor putea pătrunde pe server.

    Cum funcționează protocolul FTP

    În general, modelul de operare al protocolului FTP este foarte simplu, așa că nu ar trebui să aveți probleme în timp ce îl utilizați. Cel mai comun model este atunci când utilizatorul folosește un program de interpret. Folosind-o, puteți executa toate comenzile într-o interfață convenabilă, astfel încât nu trebuie să le cunoașteți și să le introduceți în terminal. Emiteți comenzi către interpret, iar acesta le trimite către server printr-o conexiune de control. Conexiunea de control funcționează în protocolul TELNET. Astfel, prin stabilirea contactului cu interpretul serverului, utilizatorul este autorizat pe gazdă și poate folosi mai multe comenzi.

    Comportamentul serverului și clientului, precum și procesul de transfer de date, depinde de setul de comenzi transmise prin conexiunea de control. În plus, folosind comenzile pe care le poți controla Sistemul de fișiere client și server.

    Pentru transmiterea datelor este utilizat un alt canal decât canalul de control. Dar acesta din urmă inițiază apelul pentru conexiunea de date. Principiul de funcționare al unei conexiuni de date este diferit de principiul de funcționare al unui canal de control, deoarece serverul inițiază schimbul de fișiere și date. Cu toate că această legătură poate fi folosit în ambele sensuri: atât pentru primirea, cât și pentru transmiterea datelor.

    Și iată despre ce este vorba algoritm general funcționează pentru orice protocol FTP de pe server:

    1. Serverul este întotdeauna într-o stare de așteptare din partea utilizatorului. Clientul se poate conecta la server în orice moment, deoarece canalul de control menține portul 21 deschis. Aici merg toate comenzile de control. Portul 21 este implicit, dar poate fi modificat. Apoi utilizatorul va trebui să introducă manual numărul portului, altfel nu va putea accesa canalul de control.
    2. După conectarea prin portul canalului de control, programul de pe partea client poate emite comenzi către interpretul serverului. Aceste comenzi determină atât modificările din sistemul de fișiere server, cât și metoda de transfer de date, conținutul acestuia, volumul, tipul modului de operare și multe altele.
    3. După ce toate comenzile pentru transferul de date sunt convenite, unul dintre participanții la conexiune intră în modul de așteptare pasiv (server sau client). Așteaptă până când i se dă un număr de port pentru a-l deschide și a primi sau trimite date despre el.
    4. După încheierea procesului de transfer de date, conexiunea este închisă, dar canalul de control rămâne deschis. Acest lucru permite utilizatorului să facă totul din nou: să dea o comandă serverului și să înceapă transferul de date din nou. Nu este nevoie să recreezi sesiunea. De aceea, FTP funcționează folosind două tipuri de conexiuni.

    Deoarece acesta este cel mai comun model de funcționare a protocolului FTP, există cazuri mai complexe. De exemplu, când nu utilizatorul lucrează cu serverul, ci serverul cu serverul. În acest caz, clientul controlează transferul de date direct între servere, fără intermediari. Și există o mulțime de exemple similare de configurații server-client. Acesta este unul dintre avantajele protocolului FTP - flexibilitatea operațiunii.

    Principalul lucru pe care trebuie să-l înțelegeți despre protocolul FTP este interacțiunea conexiunilor și a porturilor. Cele mai multe erori la lucrul cu acest protocol se datorează faptului că una dintre părțile la conexiune nu și-a configurat portul. Există o latură pasivă și activă a protocolului. Cel pasiv trebuie să asculte cu atenție și să aștepte până când cel activ transmite numărul portului, care trebuie deschis imediat. Dacă portul nu este deschis, transferul de date nu va începe.

    Nu credeți că trebuie să așteptați manual orice comenzi de la participant activ conexiuni - totul se face automat. Problemele apar atunci când, de exemplu, unul sau altul port de pe computer este deja ocupat sau blocat pentru conexiunile de intrare/ieșire. În astfel de momente va trebui să vă „suflecați mânecile” și să configurați manual computerul astfel încât să poată funcționa corect atunci când Ajutor FTP.

    Ce comenzi folosește protocolul FTP?

    Cel mai probabil, nu veți avea nevoie de ele în munca dvs., deoarece veți folosi agentul utilizator sub forma unui program cu o interfață ușor de utilizat. Un astfel de program este FileZIlla. Dar orice se poate întâmpla. Poate că aveți doar Far Maneger la îndemână, unde totul trebuie făcut prin terminal. În acest caz, ar trebui să cunoașteți echipele principale pentru FTP.

    Pentru a vă conecta la server, va trebui să utilizați comanda USER. Este necesar să se indice numele utilizatorului care dorește să deschidă o sesiune cu serverul. După ce introduceți ID-ul de utilizator în comanda USER, trebuie să introduceți o parolă de conectare. Pentru a face acest lucru folosește echipa speciala- TRECE.

    Una dintre cele mai populare caracteristici care vă permite să „călătorești” în jurul serverului este CWD. Comanda este necesară pentru a vă putea muta între directoarele serverului. Pentru a utiliza comanda, introduceți CWD și calea directorului în care doriți să mergeți.

    Dacă într-un caz trebuie să reinițializați, adică să omiteți toate datele și setările conexiunii curente, atunci utilizați comanda REIN. În timpul utilizării, transmisia de date nu se oprește și parametrii de transmisie rămân la fel ca înainte de comanda REIN. Sau o puteți face într-un mod și mai radical - închideți conexiunea de control folosind comanda QUIT. De asemenea, nu întrerupe transferul de date și numai după ce descărcarea este finalizată este complet întreruptă sesiunea.

    Pentru a înregistra un port în modul activ, adică pentru a-l atribui unui participant pasiv, trebuie să utilizați comanda PORT. Problema este că această comandă este foarte dificil de scris - va trebui să specificați 32 de biți din IP-ul serverului și 16 biți din numărul portului, ceea ce este complet incomod. Prin urmare, este mai bine să găsiți o modalitate de a utiliza un client simplificat pentru a lucra prin protocolul FTP, pentru a nu vă împovăra prea mult. Într-un astfel de client, schimbarea numărului portului este o simplă simplă. Doar mergeți la setări, găsiți elementul dorit și introduceți un alt număr în locul celui actual.

    Veți folosi comenzile RETR și STOR pentru a transfera date de la și către server. Prima comandă este necesară pentru a trimite fișierul selectat către dispozitivul client, iar a doua către server. Și pentru a redenumi un fișier, trebuie să utilizați două comenzi consecutive. Mai întâi scrieți RNFR cu vechiul nume de fișier, apoi RNTO cu noul nume de fișier. Veți avea nevoie și de comanda DELE, care este necesară pentru a șterge datele din sistemul de fișiere, mai precis fișierul care este selectat în prezent.

    Alte comenzi sunt folosite pentru a elimina directoare. Pentru a elimina directorul selectat, veți avea nevoie de comanda RMD. Și pentru a crea un folder nou, utilizați linia MKD. De asemenea, utilizatorii au adesea nevoie de funcția de vizualizare a fișierelor care se află într-un director. Pentru a face acest lucru, utilizați comanda LIST sau NLST.

    Care sunt analogii FTP?

    La protocolul de transfer date FTP există „moștenitorii” săi direcți, adică protocoale care se formează din FTP. Acestea sunt două protocoale: TFTP și SFTP. Primul protocol nu este cel mai popular, deoarece este foarte limitat în ceea ce privește comenzile. Este mult mai puțin potrivit pentru gestionarea sistemului de fișiere al serverului decât FTP. Nici măcar nu veți putea vizualiza o listă de fișiere de director folosind-o. TFTP este necesar doar pentru a transfera cele mai simple informații de 8 biți, nu mai mult. Și în acest protocol există doar 5 comenzi care sunt necesare pentru citire, scriere, solicitarea unui pachet de date și alte operații simple.

    Dar protocolul SFTP are mult mai mult succes decât TFTP și, în unele cazuri, decât FTP. Faptul este că acesta este un protocol FTP securizat. Este o combinație între o conexiune SSH criptată și protocolul de transfer de date FTP. În plus, SFTP elimină multe funcții inutile care au fost introduse în FTP cu mult timp în urmă, dar nu sunt folosite de nimeni. De aceea SFTP este mai sigur decât FTP și, în același timp, mai modest în intr-o maniera pozitiva acest cuvânt. Este recomandat să alegeți SFTP în cazurile în care lucrați cu unele date confidențiale. Apoi, chiar dacă hackerii interceptează datele trimise prin conexiunea de control, acestea vor fi în continuare criptate și nu vor aduce nicio valoare hackerilor.

    Și este mai bine să utilizați protocolul FTP în programele client normale și nu în terminal. La urma urmei, în acest fel veți accelera semnificativ munca la protocolul de transfer de date și veți obține acces la funcțiile sale mai sofisticate.

    FTP Transfer de fișier Protocol - protocol de transfer de fișiere) este un protocol standard conceput pentru transferul de fișiere prin rețele TCP (de exemplu, Internet). FTP este adesea folosit pentru a descărca pagini web și alte documente de pe un dispozitiv de dezvoltare privat pe servere publice 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 prin transmiterea unui nume de utilizator și a unei parole în text clar sau, dacă serverul permite acest lucru, se pot conecta anonim. Puteți utiliza protocolul SSH pentru transferuri securizate care ascund (criptează) datele de conectare și parola și, de asemenea, criptează conținutul.

    O caracteristică destul de izbitoare a protocolului FTP este că folosește conexiuni multiple (cel puțin duble). În acest caz, un canal este canalul de control, prin care sunt trimise comenzi către server și răspunsurile acestuia sunt returnate (de obicei prin portul TCP 21), iar prin restul are loc transmisia efectivă a datelor, câte un canal pentru fiecare transmisie. Prin urmare, în cadrul unei sesiuni prin protocolul FTP, puteți transfera mai multe fișiere simultan și în ambele direcții. Pentru fiecare canal de date este deschis propriul său port TCP, al cărui număr este selectat fie de server, fie de client, în funcție de modul de transmisie.

    Protocolul FTP are un mod de transfer binar, care reduce supraîncărcarea traficului și reduce timpul de schimb de date în timpul transferului fișiere mari. Protocolul HTTP necesită în mod necesar codificarea informațiilor binare în formă de text, de exemplu folosind algoritmul Base64.

    Când începe lucrul prin protocolul 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 le uita, așa că amintirea stării atunci când se utilizează HTTP este realizată prin metode externe protocolului.

    FTP funcționează nivelul de aplicare Model OSI și este folosit pentru a transfera fișiere folosind TCP/IP. Pentru a face acest lucru, un server FTP trebuie să ruleze și să aștepte cererile primite. Computerul client poate contacta serverul de pe portul 21. Această conexiune (flux de control) rămâne deschisă pe toată durata sesiunii. A doua conexiune (flux de date) poate fi deschisă fie de către server de la portul 20 la portul clientului corespunzător (modul activ), fie de către client de pe orice port către portul serverului corespunzător (modul pasiv), care este necesare pentru a transfera fișierul de date. Fluxul de control este utilizat pentru a opera sesiunea - de exemplu, schimbul de comenzi și parole între client și server folosind un protocol asemănător telnet. De exemplu, „RETR nume de fișier” va transfera fișierul specificat de la server la client. Datorită acestei structuri cu două porturi, FTP este considerat un protocol în afara benzii, spre deosebire de HTTP în bandă.

    Conexiune și transfer de date

    Protocolul este definit în RFC 959. Serverul răspunde la fluxul de control cu ​​coduri de stare ASCII cu trei caractere cu un mesaj text opțional. De exemplu, „200” (sau „200 OK”) înseamnă că ultima comandă a fost executată cu succes. Numerele reprezintă codul de răspuns, iar textul reprezintă clarificarea sau solicitarea. Transmisia curentă pe fluxul de date poate fi întreruptă printr-un mesaj de întrerupere trimis pe fluxul de control.

    FTP poate funcționa în modul activ sau pasiv, a cărui alegere determină modul în care este stabilită conexiunea. În modul activ, clientul creează o conexiune de control TCP cu serverul și trimite adresa sa IP și un număr arbitrar de port al clientului către server, apoi așteaptă până când serverul începe o conexiune TCP cu această adresă și numărul de port. În cazul în care clientul se află în spatele unui firewall și nu poate accepta o conexiune TCP de intrare, poate fi utilizat modul pasiv. În acest mod, clientul folosește fluxul de control pentru a trimite o comandă PASV către server și apoi primește adresa sa IP și numărul de port de la server, care este apoi folosit de client pentru a deschide un flux de date de la un port arbitrar al clientului către adresa și portul primit. Ambele moduri au fost actualizate în septembrie 1998 pentru a suporta IPv6. În acest moment, au fost făcute modificări suplimentare în modul pasiv, upgradându-l la modul pasiv îmbunătățit.

    La transmiterea datelor printr-o rețea, pot fi utilizate patru reprezentări de date:

      ASCII - folosit pentru text. Datele sunt, dacă este necesar, convertite din reprezentarea caracterelor pe gazda de trimitere la „ASCII pe opt biți” înainte de transmitere și (din nou, dacă este necesar) în reprezentarea caracterelor pe gazda receptoare. Prin urmare, acest mod nu este potrivit pentru fișierele care conțin mai mult decât text simplu.

      Modul imagine (numit în mod obișnuit binar) - dispozitivul de trimitere trimite fiecare fișier octet cu octet, iar destinatarul stochează fluxul de octeți la primire. A sustine acest mod a fost recomandat pentru toate implementările FTP.

      EBCDIC - folosit pentru a transfera text simplu între gazde în codificare EBCDIC. În caz contrar, acest mod este similar cu modul ASCII.

      Modul local - permite două computere cu setări identice trimiteți date în format nativ fără a le converti în ASCII.

    Pentru fișierele text, sunt furnizate diverse formate de gestionare și setări ale structurii înregistrărilor. Aceste caracteristici au fost concepute pentru a funcționa cu fișiere care conțin formatare Telnet sau ASA.

    Transferul de date poate fi efectuat în oricare dintre cele trei moduri:

      Modul Stream - datele sunt trimise ca flux continuu, eliberând FTP-ul de a efectua orice procesare. În schimb, toată procesarea este efectuată de TCP. Indicatorul de sfârșit al fișierului nu este necesar decât pentru separarea datelor în înregistrări.

      Modul bloc - FTP împarte datele în mai multe blocuri (bloc antet, număr de octeți, câmp de date) și apoi le transmite către TCP.

      Modul de compresie - datele sunt comprimate folosind un singur algoritm (de obicei prin codificarea lungimilor de serie).

    Autentificare

    Autentificarea FTP folosește schema obișnuită de nume de utilizator/parolă pentru a acorda acces. Numele de utilizator este trimis la server cu comanda USER, iar parola este trimisă cu comanda PASS. Dacă informațiile furnizate de client sunt acceptate de server, atunci serverul va trimite o invitație clientului și începe sesiunea. Utilizatorii pot, dacă serverul acceptă această caracteristică, să se autentifice fără a furniza acreditări, dar serverul poate acorda doar acces limitat pentru astfel de sesiuni.

    AnonimFTP

    Gazda care furnizează serviciul FTP poate oferi acces anonim la FTP. De obicei, utilizatorii se conectează cu „anonim” ca nume de utilizator. Deși utilizatorii sunt rugați de obicei să furnizeze adresa lor de e-mail în loc de o parolă, nu se efectuează de fapt nicio verificare. Multe gazde FTP care oferă actualizări de software acceptă accesul anonim.

    NAT- P.T.

    Mai ales pentru ca protocolul FTP să funcționeze firewall-uri o extensie la NAT numită NAT-PT (rfc2766) a fost realizată pentru a permite conexiunilor de intrare să fie traduse de la server la client prin NAT. În timpul unei astfel de conexiuni, NAT înlocuiește datele transmise de la client, indicând serverului adresa adevărată și portul cu care serverul se poate conecta și apoi difuzează conexiunea de la server de la această adresă către client la adresa acestuia. În ciuda tuturor măsurilor și inovațiilor luate pentru a susține protocolul FTP, în practică, funcția NAT-PT este de obicei dezactivată în toate routerele și routerele pentru a oferi securitate suplimentară împotriva amenințărilor viruși.

    NATși ocolind firewall-urile

    De obicei, FTP transferă date atunci când există o conexiune între server și client, după ce clientul a trimis comanda PORT. Acest lucru creează o problemă atât pentru NAT, cât și pentru firewall-uri, care nu permit conexiuni de la Internet la gazdele interne. Pentru NAT, o problemă suplimentară este că reprezentarea adreselor IP și a numerelor de port în comanda PORT se referă la adresa IP și la portul gazdei interne, în loc de adresa IP publică și portul NAT. Există două abordări ale acestei probleme. Primul este că clientul FTP și serverul FTP utilizează comanda PASV, care invocă o conexiune de date stabilită de la client la server. A doua abordare este modificarea valorilor comenzii PORT pentru NAT folosind gateway-ul la nivelul aplicației.

    Suport pentru browser web

    Majoritatea browserelor web obișnuite pot prelua fișiere aflate pe serverele FTP, deși este posibil să nu accepte extensii de protocol precum FTPS. Când este specificată o adresă FTP mai degrabă decât o adresă HTTP, conținutul disponibil pe serverul de la distanță este prezentat în mod similar cu alt conținut web. Un client FTP complet funcțional poate fi rulat în Firefox ca extensie FireFTP.

    Siguranță

    FTP nu a fost conceput pentru a fi un protocol sigur (mai ales 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 ascunse (atacuri cu sărituri)

      Atacurile falsificate

      Atacurile de metoda forta bruta(atacuri cu forță brută)

      Captură de pachete, adulmecare

      Protecția numelui de utilizator

      Furtul de port

    FTP nu își poate cripta traficul, toate transmisiile 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 tipică pentru multe specificații de protocol Internet (inclusiv SMTP, Telnet, POP, IMAP) 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, prevăzut cu cele mai multe Secure. Implementări de protocol Shell.

    SigurFTP

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

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

    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 criptează atât comenzile, cât și datele, împiedicând transmiterea deschisă a parolelor și a informațiilor sensibile prin rețea. Funcționalitatea SFTP este similară cu FTP, dar deoarece utilizează un protocol diferit, clienții FTP standard nu pot comunica cu un server SFTP și invers.

    FTPprinSSH(NuSFTP)

    FTP prin SSH (nu SFTP) se referă la practica tunelului 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ă stabilească un tunel pentru canalul de control (conexiunea originală client-server pe portul 21), doar acest canal va fi protejat; la transferul de date, software-ul FTP de la fiecare capăt va stabili noi conexiuni TCP (canale de date) care vor ocoli conexiunea SSH și, astfel, vor pierde integritatea.

    În caz contrar, software-ul client SSH trebuie să aibă anumite cunoștințe despre FTP pentru a monitoriza și rescrie mesajele fluxului de control FTP și pentru a deschide în mod autonom noi redirecționări pentru fluxul de date FTP.

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

    FXP (File eXchange Protocol) este o modalitate de a transfera fișiere între două servere FTP direct, fără a le descărca pe computer. În timpul unei sesiuni 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.

    Un avantaj incontestabil al suportă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ărilor de lățime de bandă ale propriei conexiuni la Internet. Nu este nevoie să descărcați un fișier pentru dvs. și apoi să îl încărcați pe un alt server FTP. Astfel, timpul de transfer al fișierelor va depinde doar de viteza de conectare între 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 atacatori pentru a ataca alte servere: comanda PORT specifică adresa IP și portul serviciului atacat de pe computerul victimei, iar comenzile RETR/STOR accesează acest port în numele serverului FTP și nu al atacatorului. mașină, care a făcut posibilă efectuarea de atacuri DDoS la scară largă folosind mai multe servere FTP simultan sau ocolirea sistemului de securitate al computerului victimei dacă se bazează numai pe verificarea IP-ului clientului și serverul FTP utilizat pentru atac este situat pe un rețea sau gateway de încredere. Drept urmare, aproape toate serverele verifică acum 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. Prin urmare, utilizarea FXP nu este posibilă atunci când lucrați cu servere FTP publice.

    Comenzi de bază

      ABOR - Anulează transferul fișierului

      CDUP - Schimbați directorul într-unul superior.

      CWD - Schimbați directorul.

      DELE - Ștergeți un fișier (DELE nume fișier).

      EPSV - Intrați în modul pasiv extins. 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 trimisă printr-o conexiune de date.

      MDTM - Returnează ora de modificare a fișierului.

      MKD - Creați un director.

      NLST - Returnează o listă de fișiere dintr-un director într-un format mai scurt decât LIST. Lista este trimisă printr-o conexiune de date.

      NOOP - Operare gol

      PASV - Intrați în modul pasiv. Serverul va returna adresa și portul la care trebuie să vă conectați pentru a colecta datele. Transferul va începe după introducere 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, serverul însuși se conectează la client pentru a transfera date.

      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 - Ștergeți directorul

      RNFR și RNTO - Redenumiți fișierul. RNFR - ce să redenumim, RNTO - ce să redenumim.

      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 a vă conecta la server

    Prin diverse rețele TCP, inclusiv prin Internet. Aceste protocoale sunt adesea folosite pentru a descărca tot felul de pagini de rețea sau documente de la un dispozitiv privat de dezvoltare la diverse servere deschise gazduire.

    Ce sunt ei?

    Porturile FTP se bazează în întregime pe o arhitectură client-server și, în același timp, asigură utilizarea unei game largi de conexiuni de rețea pentru a difuza comenzi sau informații între server și client. Utilizatorii care folosesc această opțiune protocoale, pot trece prin procedura de autentificare prin transmiterea parolei și autentificarea în text clar. Sau, dacă structura serverului permite acest lucru, se pot conecta anonim. Printre altele, este posibil să se folosească și protocolul SSH, care asigură transferul absolut sigur de date, ascunderea parolei și autentificarea, precum și criptarea suplimentară a întregului conținut.

    Puțină istorie

    Primul aplicații client, folosind porturi FTP, erau dispozitive interactive de linie de comandă care implementau sintaxa și comenzi standard. Interfețele grafice cu utilizatorul au fost dezvoltate de atunci pentru o varietate de sisteme de operare care sunt încă utilizate astăzi, în special utilitare generale de web design, cum ar fi Microsoft Expression.

    Porturile FTP sunt unul dintre cele mai vechi standarde din zilele noastre, fiind disponibile în 1971 înainte de TCP/IP și HTTP. La început a fost folosit exclusiv pe partea superioară a NCP, dar astăzi utilizarea sa se răspândește în mod activ pentru a transfera diverse software-uri, precum și pentru a obține acces la resurse de la distanță.

    Cum este diferit de HTTP?

    Portul FTP implicit are o caracteristică destul de izbitoare - folosește conexiuni multiple. În acest caz, un canal este folosit ca canal de control, iar prin intermediul acestuia sunt date comenzi către server, iar răspunsurile sunt, de asemenea, returnate de la acesta. Prin canalele rămase se transmit direct informațiile necesare, cu câte un canal folosit pentru fiecare transmisie.

    Din acest motiv, dacă utilizați portul FTP implicit, mai multe fișiere pot fi transferate simultan în direcții diferite în cadrul unei sesiuni. Deoarece fiecare canal își deschide pur și simplu propriul port TCP, al cărui număr este selectat manual de client însuși sau selectat automat de server, în funcție de modul de transmisie utilizat.

    Care sunt avantajele?

    Modul binar este baza pentru transferuri folosind protocolul FTP. Datorită acestui fapt, porturile de acest tip pot reduce semnificativ traficul, precum și pot reduce timpul necesar schimbului de informații în timpul procesului de transfer. fișiere mari. Protocolul în format HTTP necesită codificare în orice caz informație binarăîn formă de text, ceea ce poate fi realizat, de exemplu, utilizând un algoritm specializat Base64.

    Folosind port standard FTP, clientul se conectează inițial într-o sesiune și toate operațiunile ulterioare vor fi efectuate în ea. Cu alte cuvinte, serverul își amintește inițial starea curentă și o menține la un anumit nivel. În același timp, atunci când se utilizează protocolul HTTP, o astfel de memorie nu este prezentă, deoarece sarcina a acestui protocol este pur și simplu transfer de date, după care uită complet de operațiune. În acest sens, atunci când se utilizează protocoale HTTP, stocarea stării este realizată de alte tehnologii care nu au legătură cu acest protocol.

    Cum functioneaza?

    Lucrarea se desfășoară la nivelul de aplicație al modelului OSI și este utilizată pentru a transfera date atunci când se utilizează TCP/IP. Acest lucru necesită inițial rularea unui server FTP care va asculta cererile primite. Dacă este necesar, clientul va putea contacta în mod independent acest server folosind numărul portului 21. Este de remarcat faptul că o astfel de conexiune va rămâne deschisă pe toată durata acestei sesiuni. A doua conexiune este deschisă de către server din portul numărul 20 către portul folosit de client, care se numește modul activ, sau poate fi deschisă direct de către client însuși din orice port convenabil pentru el către portul serverului corespunzător. Se numeste modul pasivși este necesar pentru a transfera fișierul.

    Fluxul de control este utilizat pentru a lucra cu o anumită sesiune. De exemplu, astfel de fluxuri sunt utilizate în mod activ în procesul de schimb între server și client tot felul de parole sau prin comenzi dacă se folosește un protocol precum telnet. Astfel, de exemplu, comanda „RETR nume de fișier” va transfera un anumit fișier către client de pe server. Datorită formării unei astfel de structuri cu două porturi, FTP astăzi este în general considerat un protocol în afara benzii, spre deosebire de HTTP, care rămâne în bandă.

    Cum se configurează?

    Dacă nu știi cum să faci FTP, o poți face folosind resursa FileZilla astfel:

    1. Inițial, lansați FileZilla în sine.
    2. Acum deschideți „Site Manager” și apoi faceți clic pe butonul „New Site” din fereastra pop-up.
    3. În fila General, introduceți: Gazdă: domeniul pe care îl utilizați; Tip server: FTP sau FTPES (se recomandă utilizarea acestuia din urmă), Tip de autentificare: „Normal” sau „Solicitare parolă” (din nou, ultima opțiune este optimă deoarece parola dvs. nu va fi salvată, deși va trebui să introduceți constant este la intrare); Nume utilizator: introduceți datele dvs. de conectare FTP în acest rând.
    4. Acum accesați elementul „Setări de transfer”, apoi selectați „Pasiv” în secțiunea „Mod de transfer”.
    5. În cele din urmă, faceți clic pe butonul „Conectați”.

    Acum ați făcut FTP, conexiunea dvs. este configurată și salvată în „Site Manager” și o puteți utiliza la discreția dvs.

    Protocol anonim

    Gazda care furnizează serviciul FTP poate, dacă este necesar, să ofere utilizatorilor acces complet anonim. În acest caz, inițial utilizatorii se conectează în sistem ca anonimi. Cu toate acestea, merită remarcat faptul că sistemul poate fi, de asemenea, sensibil la majuscule și minuscule pe anumite servere. Deși în marea majoritate a cazurilor utilizatorilor li se cere să furnizeze adresa lor de e-mail în loc de parolă, în realitate sistemul nu efectuează nicio verificare și acest pas, de fapt, nu este obligatoriu.

    Majoritatea gazdelor FTP care oferă diverse actualizări de software preferă adesea să accepte accesul anonim.

    Protocolul NAT-PT

    Concret pentru a permite utilizarea FTP prin firewall-uri specializate, s-a decis folosirea rezoluției NAT specializate, numită și NAT-PT de către specialiști. Folosind-o, puteți transfera cu ușurință conexiunile de intrare către client de pe server, deoarece în acest proces NAT poate înlocui informatiile transmise de la client, indicând serverului portul și adresa corecte cu care se poate conecta, iar apoi va începe să difuzeze conexiunea de la server la adresa clientului.

    În ciuda numărului destul de mare de diferite măsuri și inovații care au fost luate pentru a oferi suport FTP, în practică este de preferat să dezactivați utilizarea funcției NAT-PT în diferite routere pentru a asigura protectie suplimentara de la diverși viruși.