Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Greșeli
  • Protocol de transfer de fișiere FTP. protocol FTP. FTP FTP (File Transfer Protocol) este un protocol pentru transferul de fișiere prin rețele de computere. FTP

Protocol de transfer de fișiere FTP. protocol FTP. FTP FTP (File Transfer Protocol) este un protocol pentru transferul de fișiere prin rețele de computere. FTP

Protocolul 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 tipuri variate pentru a găzdui computere. Protocolul FTP utilizează o arhitectură client-server și diverse conexiuniîn cadrul rețelei pentru a transmite comenzi și informații de la client la server și invers. Utilizatorilor FTP li se permite să se autentifice folosind un nume de utilizator și o parolă sau, dacă acest formular este permis pe server, utilizatorii pot accesa anonim.
Pe lângă protocolul obișnuit, se mai folosește și FTPS, care este o extensie specială a FTP standard, care permite clienților să acceseze serverul și să utilizeze sesiuni de comunicare 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 pentru transferul de informații pe Internet, care este conceput pentru a muta și copia fișiere 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 din transmisie deschisă pe net.
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 utilizat pe scară largă pe Internet astăzi. Unul dintre caracteristici cheie Protocolul favorizează utilizarea mai multor conexiuni: una în scopul transferului comenzilor de control, iar altele pentru transferul direct de fișiere. Puteți deschide mai multe conexiuni paralele, fiecare dintre acestea putând efectua transfer de 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 de transfer 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 prin intermediul acest standard mai ales dacă serverul sau utilizatorul se află în spatele unui firewall sau a unui NAT.

Caracteristici ale modului activ

În timpul modului activ, clientul inițiază o conexiune de control la portul de server 21 prin lansarea comenzii „port”, care specifică adresa și portul transferului de informații. La primirea acestei comenzi, serverul începe o conexiune pe propriul său port 20 la portul utilizator specificat.
Principalul dezavantaj aceasta metoda este obligatoriu ca utilizatorul să aibă o adresă IP dedicată pe Internet. Î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ă 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, precum și să nu folosească o adresă IP dedicată. Prin urmare, astăzi, ca principal tip de acces și transfer de fișiere prin FTP pe Internet, este tocmai modul pasiv.

Setare la utilizarea unui 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 din interior, computerul server nu va putea comunica și începe să transmită informații. Și datorită faptului că portul pentru informații are o varietate dinamică, există unele dificultăți la configurarea firewall-ului. Cea mai bună opțiune v acest caz este de a indica gama de porturi utilizate și organizarea unei reguli speciale pentru firewall pentru acestea.
În cazul utilizării modului pasiv cu o complexitate similară, riscă să se întâlnească computer server. În acest caz, puteți utiliza o soluție similară - specificați o gamă de porturi utilizate în opțiuni și creați o regulă specială pentru acest interval.

Setarea la utilizarea NAT

Pentru functionare corecta FTP peste NAT și transferul de fișiere cu succes nu este suficient doar pentru a configura redirecționarea portului de lucru, deoarece computerul server care operează de sub NAT va transmite adresa portului intern, iar clientul pur și simplu nu se va putea conecta și transfera informații.
Unele implementări moderne NAT pot monitoriza canalul de control al unei conexiuni FTP și spoof pentru operatie normala transmisie date adresa internă externă. În plus, serverele FTP au capacitatea de a specifica port extern, care trebuie 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 sesiunea de control, precum și pentru a specifica și redirecționa intervalul adrese dinamice folosit pentru a transmite date prin Internet.

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 pe servere publice de găzduire.

Protocolul este construit pe o arhitectură client-server și utilizează diferite conexiuni de retea 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 simplu sau, dacă este permis pe server, se pot conecta anonim. Puteți utiliza protocolul SSH pentru transmisie sigură, care ascunde (criptează) autentificarea și parola și, de asemenea, 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 mulți dintre cei care folosesc astăzi. sisteme de operare. Aceste interfețe variază de la programe generale de web design, cum ar fi Microsoft Expression Web, până la clienți FTP specializați precum FileZilla.

FTP este unul dintre cele mai vechi protocoale de aplicație, precedând HTTP și chiar TCP/IP în 1971. La început, a lucrat pe deasupra protocolului NCP. Este încă utilizat pe scară largă astăzi pentru distribuția de software și accesul la gazde la distanță.

YouTube enciclopedic

    1 / 5

    CUM PUNEȚI UN SITE PE INTERNET? Ce este FTP?

    Modem GSM / GPRS NEOWAY M590, accesați Internetul, lucrați cu FTP și narodmon.ru

    Ce este FTP și cum să găzduiești un site web pe Internet

    Serverul de acasă partea 2. Instalarea Ubuntu server + server web+ FTP

    Aflați FTP și Publicarea site-urilor pe internet în hindi

    Subtitrări

Descrierea protocolului

Diferența față de HTTP

Proprietate FTP HTTP
Pe baza sesiunilor de lucru da Nu
Autentificarea utilizatorului încorporată da Nu
Destinat în principal pentru transmitere 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ă moduri de transfer text și binar da Nu
Acceptă tipuri de date de transfer (anteturi MIME) Nu da
Sprijină operațiuni pe Sistemul 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 canalul de control, prin care comenzile sunt primite către server și răspunsurile acestuia sunt returnate (de obicei prin portul TCP 21), iar datele sunt de fapt transmise prin restul, câte un canal pentru fiecare transmisie. Prin urmare, în cadrul unei sesiuni, mai multe fișiere pot fi transferate simultan prin protocolul FTP și în ambele direcții. Fiecare canal de date are propriul său Port TCP, al cărui număr este ales fie de server, fie de client, în funcție de modul de transfer.

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 codificare informație binară v forma text, de exemplu folosind algoritmul Base64.

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

Conexiune și transfer de date

Suport pentru browser web

Sintaxă

Sintaxa URL FTP este descrisă în RFC1738, sub forma: ftp://[<пользователь>[:<пароль>]@]<хост>[:<порт>]/<путь>(parametrii în paranteza patrata opțional). De exemplu:

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

Siguranță

FTP nu a fost conceput pentru a fi sigur (în special după standardele actuale) și are numeroase vulnerabilități de securitate. În mai 1999, autorii RFC2577 au redus vulnerabilitățile la 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 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 comună multor specificații de protocol Internet (inclusiv SMTP, Telnet, POP, IMAP) care au fost dezvoltate înainte ca mecanismele de criptare cum ar fi TLS și SSL să fie dezvoltate. Soluția obișnuită Această problemă este de a folosi versiuni „securizate”, securizate prin TLS ale protocoalelor vulnerabile (FTPS pentru FTP, TelnetS pentru Telnet etc.) sau un alt protocol mai sigur, cum ar fi SFTP /SCP , prevăzut cu majoritatea implementărilor protocolului Secure Shell.

FTP securizat

Există mai multe metode pentru a transfera fișiere în siguranță, la un moment dat sau altul, denumite „FTP securizat”.

FTPS

FTPS explicit este o extensie a standardului FTP care permite clienților să solicite ca o sesiune 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 specificația RFC 4217. FTPS implicit este un standard învechit pentru FTP care necesită utilizarea unei conexiuni SSL sau TLS. Acest standard trebuia să folosească porturi diferite decât FTP-ul 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 criptează atât comenzile, cât și datele, împiedicând transmiterea publică 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 contacta un server SFTP și invers.

FTP prin SSH (nu SFTP)

FTP prin SSH (nu SFTP) se referă la practica tunelării unei sesiuni FTP normale 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ă tunelizeze canalul de control (conexiunea originală „client-server” pe portul 21), doar acel canal va fi securizat; 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.

Altfel, pentru client software SSH trebuie să aibă anumite cunoștințe despre FTP pentru a monitoriza și rescrie mesajele în flux management FTPși offline deschiderea de noi redirecționări pentru un flux date FTP. Pachete software care acceptă acest mod:

  • Tectia ConnectSecure (Win/Linux/Unix)
  • Tectia Server for IBM z/OS de la SSH Communications Security
  • (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 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.

Poveste

Prima implementare a protocolului (1971) prevedea schimbul între client și server de mesaje constând dintr-un antet (72 de biți) și date. lungime variabilă. Antetul mesajului includea o solicitare către serverul FTP sau un răspuns de la acesta, tipul și lungimea datelor transmise. Parametrii de interogare (de exemplu, calea și numele fișierului), informațiile de la server (de exemplu, o listă de fișiere dintr-un 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 printr-o conexiune TELNET (canal de control), o conexiune separată (canal de date) este creată pentru transferul de date.

Edițiile ulterioare au adăugat posibilitatea de a lucra în modul pasiv, de a transfera fișiere între servere FTP, au introdus comenzi pentru obținerea informațiilor, schimbarea directorului curent, crearea și ștergerea directoarelor, salvarea fișierelor sub un nume unic. De ceva timp au existat comenzi de transfer de e-mail prin FTP, dar ulterior au fost excluse din protocol.

În 1980, protocolul FTP a început să folosească TCP. Ultima versiune a protocolului a fost lansată în 1985. În 1997, a apărut o completare la protocol care vă permite să criptați și să semnați informații în canalul de control și canalul de date. În 1999, a fost lansat un addendum privind internaționalizarea protocolului, care recomandă utilizarea codării UTF-8 pentru comenzile și răspunsurile serverului și definește echipa noua LANG, care stabilește limba răspunsurilor.

Comenzi de bază

  • ABOR - Anulează transferul fișierului
  • CDUP - Schimbați directorul în părinte.
  • CWD - Schimbați directorul.
  • DELE - Șterge fișierul (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 transmisă prin conexiunea de date.
  • MDTM - Returnează ora de modificare a unui fișier.
  • MKD - Creați director.
  • NLST - Returnează o listă de fișiere dintr-un director peste format scurt decât LIST. Lista este transmisă prin conexiunea 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 obține datele. Transferul va începe când sunt introduse 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 - Ștergeț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 a vă conecta la server.

coduri de răspuns FTP

Mai jos este scurta descriere coduri 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ă specifică tipul de eroare:

  • x0z - Sintactic.
  • x1z - Informații. Corespunde mesajului informativ.
  • x2z - Conexiuni. Mesajul se referă fie la o conexiune de control, fie la o conexiune de date.
  • x3z - Corespunde mesajelor despre autentificarea și drepturile utilizatorului.
  • x4z - Nedefinit.
  • x5z - Sistem de fișiere. Corespunde unui mesaj 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 transmisă 150 Aici apare 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ă conexiunea la server este așteptată pe gazda cu adresa IP 192.168.254.253 pe portul 207<< 8 + 56 = 53048 (где << - операция побитового сдвига, 207 записывается в младший разряд, а потом сдвигается в старший, чтобы в младший записать 56 или 207*256+56=53048).

Multe servere FTP au un director (numit incoming, upload etc.) care poate fi scris pentru încărcarea fișierelor pe server. Acest lucru permite utilizatorilor să populeze serverele cu date noi.

FXP

FXP(ing. File eXchange Protocol - protocol de schimb de fișiere) - 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.

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 limitei lățimii de bandă a propriei conexiuni la Internet. Nu este nevoie să descărcați un fișier pentru dvs. pentru a-l încărca ulterior 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 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ă organizarea atacurilor 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 utilizat pentru atac este situat pe un rețea sau gateway de încredere. Ca rezultat, 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. Astfel, utilizarea FXP nu este posibilă atunci când lucrați cu servere FTP publice.

Arhivele FTP sunt una dintre principalele resurse de informații ale Internetului. De fapt, acesta este un depozit distribuit de texte, programe, fotografii și alte informații stocate sub formă de fișiere pe diferite 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 în baza unui acord special cu consumatorul. Acest tip de resursă include 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 pe proiecte internaționale ale CES sau AIEA), informații private necomerciale cu moduri speciale de acces (de exemplu, fundații caritabile private).
  • Resurse informative de utilizare limitată, care includ, de exemplu, programe de tip shareware. Această clasă poate include resurse pe timp limitat sau pe timp limitat.
  • Resurse de informații distribuite gratuit 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 orice altceva. Trebuie remarcat faptul că software-ul gratuit nu are un certificat de calitate, dar dezvoltatorii săi sunt deschiși la schimbul de experiență.

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

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. Transmiterea fiabilă a fost esențială pentru proiect, motiv pentru care, dintr-o perspectivă modernă, FTP pare să fie supraîncărcat cu funcții redundante, rar utilizate. Nucleul tehnologiei este protocolul FTP.

protocol FTP.

FTP (File Transfer Protocol, sau „Protocol de transfer de date”) este unul dintre cele mai vechi protocoale de pe Internet și face parte din 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.

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 în 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ă securitate pentru informațiile transmise și transferă text simplu între server și client. Serverul FTP poate solicita clientului FTP să se autentifice (adică, utilizatorului FTP i se va cere să introducă ID-ul de utilizator și parola atunci când se conectează la server). Cu toate acestea, parola și ID-ul utilizatorului vor fi transmise de la client la server text simplu.

Modele de operare FTP.

Cel mai simplu model al protocolului FTP este prezentat în Figura 1. În FTP, conexiunea este inițiată de interpretul de protocol al utilizatorului. Schimbul este controlat prin canalul de control în standardul de protocol TELNET. Comenzile FTP sunt generate de interpretul de protocol al utilizatorului și transmise serverului. Răspunsurile serverului sunt de asemenea trimise utilizatorului prin canalul de control. În general, utilizatorul are capacitatea de a contacta interpretul de protocol al serverului și alte mijloace decât interpretul de protocol al utilizatorului.

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

Sesiunea de control inițializează legătura 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.

Legătura de date este configurată pe aceeași gazdă ca și canalul de control prin care este configurată legătura 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 conexiunea de control a modulului „User protocol interpreter” cu modulul server – „Server protocol interpreter”, utilizatorul (clientul) poate trimite comenzi către server. Comenzile FTP definesc parametrii conexiunii de date: rolul participanților la conexiune (activ sau pasiv), portul conexiunii (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, structura datelor și directivele 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 sunt conveniți, unul dintre participanții la conexiune, care este pasiv (de exemplu, „Programul de transfer de date utilizator”) devine î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ă încheierea transferului de date, conexiunea dintre „Programul de transfer de date server” și „Programul de transfer de date utilizator” este închisă, dar conexiunea de control a „Interpretatorului protocolului serverului” și „Interpretului protocolului utilizatorului” rămâne deschisă. Utilizatorul, fără a închide sesiunea FTP, poate deschide din nou 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, transferul de date se oprește. Conexiunea la două servere este prezentată în Figura 2.


Algoritmul pentru funcționarea la conectarea a două servere FTP, niciunul dintre acestea nu se află pe gazda locală a utilizatorului:

  1. Modulul „User Protocol Interpreter” a spus modulului de server „Server Protocol Interpreter 1” să funcționeze în modul pasiv, după care modulul „Server Protocol Interpreter 1” a trimis utilizatorului adresa și numărul portului (N) pe care va asculta.
  2. Modulul „User Protocol Interpreter” a alocat modulului Server 2 „Server Protocol Interpreter 2” ca participant activ conexiune și i-a spus să trimită date către gazda „Server Protocol Interpreter 1” de pe portul (N).
  3. „User Protocol Interpreter” a comandat „Server Protocol Interpreter 1” să „salveze datele primite într-un astfel de fișier”, iar „Server Protocol Interpreter 2” a comandat „transferă conținutul unui astfel de fișier”.
  4. Între modulele „Server protocol interpreter 1” și „Server protocol interpreter 2” se formează un flux de date, 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; Interpret de protocol Server1(2) pentru server1 (server2).
PI utilizator (U) S Server1 (S1) PI utilizator (U) S Server2 (S2)
U Yu S1: Conectați-vă

U Yu S1: PASV

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...

Baza transferului de date FTP este mecanismul pentru stabilirea unei conexiuni între porturile corespunzătoare și selectarea parametrilor de transfer. Fiecare membru al unei conexiuni FTP trebuie să accepte portul de transfer implicit. În mod implicit, „Program de date utilizator” folosește același port ca pentru trimiterea comenzilor (să-l notăm „U”), iar „Program de date server” folosește portul L-1, unde „L” - portul de control. Cu toate acestea, participanții la conexiune folosesc porturile de transfer de date selectate pentru ei de „Interpretul protocolului utilizatorului”, deoarece dintre procesele de control care participă la conexiune, numai „Interpretul protocolului utilizatorului” poate modifica porturile de transfer de date ale ambelor „ Program de transfer de date utilizator” și „Programe de transfer de server”.

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

După stabilirea conexiunii, începe transmisia între „Programul de transfer de date server” și „Programul de transfer de date utilizator”. În același timp, canalul „Server Protocol Interpreter” - „User Protocol Interpreter” transmite notificări de primire a datelor. Protocolul FTP necesită ca o conexiune de control să fie menținută deschisă în timp ce un transfer de date este în curs. O sesiune FTP este considerată închisă numai după ce conexiunea de control este închisă.

De obicei, serverul FTP este responsabil pentru deschiderea și închiderea conexiunii 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ă de „încheierea conexiunii” de la utilizator.
  3. Utilizatorul a modificat setările portului de date.
  4. Conexiunea de control a fost închisă.
  5. Au apărut erori care au împiedicat reluarea transferului de date.

Comenzi de protocol .

Comenzile de control al controlului comunicațiilor schimbate între „Interpretul de protocol de server” și „Interpretul de protocol de utilizator” pot fi împărțite în trei grupuri mari:

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

Să luăm în considerare unele dintre cele mai caracteristice comenzi din fiecare grup. Printre 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 lucrul cu sistemul de fișiere. Această comandă poate fi dată nu numai la început, ci și la mijlocul sesiunii, dacă, de exemplu, utilizatorul dorește să schimbe identificatorul în numele căruia vor fi efectuate acțiuni. În acest caz, toate variabilele legate de vechiul identificator sunt eliberate. Dacă există un schimb de date în timpul schimbării ID, schimbul se încheie cu vechiul ID de utilizator.

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

CWD. Comanda permite utilizatorilor să lucreze cu diferite directoare ale sistemului de fișiere la distanță. Argumentul pentru comandă este un șir care specifică calea directorului sistemului 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 de conexiune. Dacă datele sunt transferate în momentul lansării comenzii, transferul continuă și se termină cu aceiași parametri.

PĂRĂSI. Comanda închide canalul de control. Dacă datele sunt transmise în momentul emiterii comenzii, canalul este închis după încheierea 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 debitului sunt utilizate numai atunci când este necesară modificarea valorii parametrilor impliciti de transmisie. Comenzile de control al fluxului pot fi date în orice ordine, dar toate trebuie să precedă comenzile serviciului FTP. Dintre comenzile de control al fluxului de date, trebuie distinse următoarele:

PORT. Comanda atribuie adresa și portul gazdei care vor fi utilizate ca participant activ la conexiunea 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 prezentate sub formă zecimală: h1, h2, h3, h4, p1, p2, unde hN - octeți ai adresei (de la mare la mic) și pN - octeți de port (de la mare la mic).

PASV. Această comandă este trimisă la modul, care va juca un rol pasiv în transferul de date („ascultă” la conexiune). Răspunsul la această comandă trebuie să fie un șir care să conțină adresa și portul gazdei care așteaptă o conexiune în formatul comenzii PORT - „h1, h2, h3, h4, p1, p2”.

Comenzile TYPE, STRU, MODE determină, respectiv, tipul de date care se transferă (ASCII, Imagine și altele), structura sau formatul transferului de date (Fișier, Înregistrare, Pagina) și metoda de transfer (Stream, Block). , si altii). Utilizarea acestor comenzi este foarte importantă atunci când se construiește comunicarea în medii eterogene și sisteme de operare și fișiere foarte diferite ale gazdelor care interacționează.

Comenzile serviciului FTP definesc acțiunile care trebuie întreprinse cu fișierele specificate. De regulă, argumentul comenzilor acestui grup este calea către fișier. Sintaxa căii specificate trebuie să satisfacă cerințele de format ale sistemului de fișiere ale operatorului de comandă. Comenzile serviciului FTP includ următoarele:

RETR. Această comandă indică modulului de comunicații server să trimită o copie a fișierului specificat de acest parametru de comandă către modulul de comunicații de la celălalt capăt al conexiunii.

STOR. Comanda instruiește modulul „Server Data Transfer Program” să primească date printr-un canal 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 înlocuit cu unul nou, dacă nu, se va crea unul nou.

Comenzile RNFR și RNTO trebuie să urmeze una după alta. Prima comandă conține vechiul nume de fișier ca argument, a doua - nou. Utilizarea 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.

Cu comenzile LIST și NLST, puteți obține o listă de fișiere 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 simboluri . Numele comenzii este separat de argument printr-un caracter spațiu - .

Managerul de comandă returnează un cod de procesare 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 un text explicativ. De exemplu, șirul de succes pentru o operație arată astfel: „200 Command okay”.

Mai jos este un exemplu de lucru cu protocolul FTP. Denumiri: 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: PASS 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 Comanda OK
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 simplu și ușor de utilizat. Nu permite listarea directoarelor și nu are niciun mijloc de autentificare, dar poate transfera informații pe 8 biți în conformitate cu toate standardele Internetului.

Deoarece datele sunt transmise prin UDP, protocolul TFTP implementează propriile metode pentru livrarea fiabilă a datelor - pachete de confirmare, numerotarea blocurilor de date și a pachetelor de confirmare etc. Totul este foarte asemănător cu o versiune simplificată a emulării TCP.

TFTP funcționează cu doar cinci comenzi:

  1. Cerere de citire (RRQ) - o cerere de citire.
  2. Cerere de scriere (WRQ) - cerere de scriere.
  3. Date (DATE) - pachet de date.
  4. Confirmare (ACK) - confirmare.
  5. Eroare (EROARE) - o 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 parte alege (aleatoriu) un identificator unic - TID, care este folosit și de UDP ca port al conexiunii. 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 TF al conexiunii TP către portul UDP 69 (portul de inițializare), care specifică portul conexiunii. 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 transmis conține un bloc (512 octeți) și numărul blocului din 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 trimite din nou acest pachet de date.

Trei tipuri de situații dau naștere la trimiterea de pachete eronate:

  1. Solicitare neconfirmată, de exemplu, fișierul nu a fost găsit, nu există drepturi de acces etc.
  2. Format de pachet greșit, de exemplu, a apărut o eroare de comutare.
  3. Pierderea accesului la o resursă 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 un ACK (număr de bloc - 0) gazdei A. Portul sursă este TIDB, portul destinație este TIDA.
  3. Gazda A trimite (prin conexiunea TIDA-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 este la fel de complex și greoi ca FTP.

SFTP acceptă mecanisme pentru autentificarea utilizatorului, transferul de fișiere, navigarea în directoare, schimbarea directorului curent, redenumirea și ștergerea fișierelor. În majoritatea operațiunilor pe care utilizatorul le efectuează cu un server FTP la distanță, acest serviciu este suficient. SFTP poate transfera un flux de date pe 8 biți și, la fel ca TFTP, utilizează 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 pe rând, după primirea răspunsului de procesare al comenzii anterioare. Toate comenzile constau din patru caractere ASCII și un caracter spațiu care separă comanda de argumentele sale. Răspunsul serverului constă dintr-un cod de răspuns și un mesaj text. Fiecare comandă și răspuns trebuie să se încheie cu ("\0" este la fel ca 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).

Comanda SFTP are aproape aceeași sintaxă și scop ca și comenzile FTP echivalente.

Î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. Conexiunea a fost închisă la comanda DONE.

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

S: +MIT-XX Serviciu SFTP
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 VPS:
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 se poate vedea din scenariul prezentat, SFTP este un protocol simplu construit pe o schemă trivială „cerere-răspuns” cu un set minim de comenzi care vă permite să efectuați toate operațiunile necesare pentru a controla transferul și plasarea datelor pe disc. .

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

Utilitar FTP.

Pentru utilizatorul obișnuit, combinația FTP este cunoscută mai frecvent 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 de protocol FTP și definesc un set de comenzi de bază care trebuie să fie suportat de toate implementările serviciului FTP.

Utilitarul FTP oferă utilizatorului o interfață shell în care să lucreze Linie de comanda. În funcție de implementarea și versiunea programului FTP, acesta poate accepta anumite funcții pentru lucrul 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 destul de diferite de comenzile protocolului FTP.

În esență, utilitarul FTP este un interpret al comenzilor shell în comenzi (și secvențele acestora) ale protocolului FTP. Trimiterea comenzilor de conexiune FTP, analizarea 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 comenzile și evenimentele de transmisie a datelor în conformitate cu interpretarea acestor evenimente de către utilitarul FTP.

Scriptul pentru transferul unui fișier text de la un server FTP la o gazdă locală este dat ca exemplu.

c:\>ftp
ftp> deschide ftp.sun.com
220-Bine ați venit la Sun Microsystems Corporate FTP Server.
220-
220- ftp FTP server (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 ASCII date de mod conexiune 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>imit
221 La revedere.

Sintaxa comenzii:

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

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

Comenzile importante sunt comenzile get, put, mget, mput și bin send/receive. Comenzile get și put sunt pentru primirea și, respectiv, trimiterea unui singur fișier. Comenzile mget și mput efectuează aceleași acțiuni 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 unei linii 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ă fiecare transfer de bloc, un alt caracter poate fi pus în loc de #).

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ă să-l folosești - vei găsi răspunsuri la toate aceste întrebări în articolul de mai jos.

Care este esența tehnologiei FTP

Protocolul FTP modern este folosit puțin diferit decât înainte. Inițial, a fost dezvoltat pentru a funcționa cu cantități mari de date. Prin urmare, nu a fost inventat doar protocolul FTP, ci și arhiva FTP. Acum, acesta din urmă a devenit un depozit global pentru multe fișiere găzduite pe servere din întreaga lume. Arhiva este formată din un numar mare Servere FTP și există speciale motoare de căutare, care vă permit să căutați date după gazde, cum ar fi Napalm sau FileSearch.

Nu orice parte a arhivei FTP poate încadra utilizator extern printr-un motor de căutare. Există un server cu diferite niveluri de acces. Mulți oameni cunosc FTP ca un protocol care este necesar pentru a încărca un site pe o găzduire, adică care este necesar pentru utilizarea confidențială. Exact în aceleași scopuri, o arhivă FTP este folosită pentru organizațiile comerciale care stochează unele informatie clasificataîn ele.

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

Care este scopul protocolului FTP

Protocolul FTP este destinat transferului de 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 utilizat pentru prima dată în 1971. Pe parcursul existenței sale, s-a schimbat foarte mult. Unele caracteristici au fost eliminate și s-a pus accent pe faptul că FTP este potrivit pentru schimbul de date între computere la distanță. De-a lungul timpului, a fost făcut mai convenabil pentru utilizatori obișnuiți. La urma urmei, puteți accesa serverul FTP fie folosind un program special, fie folosind serviciile standard ale sistemelor de operare. De exemplu, vă puteți conecta chiar la un server FTP folosind standardul .

În plus, FTP este conceput pentru a distribui drepturile de acces între . utilizatori diferiți 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 doar pe PC.

Rețineți că FTP este un protocol bun pentru a lucra pe un computer la distanță dacă trebuie să încărcați niște date acolo sau invers - descărcați-l.

Dar acest protocol nu este deloc potrivit pentru transferul de informații confidențiale. De aceea, dezvoltatorii serviciului au refuzat să folosească FTP ca protocol principal și au ales în schimb WebDAV. FTP este protocol deschis, care nu criptează datele. Și chiar dacă setați autentificarea cu parolă pentru clienții de pe server, datele pe care aceștia le introduc în timpul autorizării vor fi transmise gazdei în text clar. Adică, merită să le interceptăm, iar atacatorii vor putea pătrunde pe server.

Cum funcționează protocolul FTP

În general, modelul de protocol FTP este foarte simplu, așa că nu ar trebui să aveți probleme în timp ce îl utilizați. Cel mai banal model este atunci când utilizatorul folosește un program de interpret. Cu acesta, puteți executa toate comenzile într-o interfață convenabilă, astfel încât să nu fie nevoie 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.

Setul de comenzi transmise prin conexiunea de control determină comportamentul serverului și clientului, precum și procesul de transfer de date. În plus, folosind comenzi, puteți gestiona sistemul de fișiere al clientului și al serverului.

Pentru transmisia datelor se foloseste un alt canal, diferit de cel de control. Dar acesta din urmă inițiază un apel de conexiune de date. Principiul de funcționare a conexiunii de date diferă de funcționarea canalului de control, deoarece serverul inițiază schimbul de fișiere și date. Deşi acest compus poate fi folosit în ambele sensuri: atât pentru recepţionarea cât şi pentru transmiterea datelor.

Dar ce este algoritm general funcționează pentru orice protocol FTP de pe server:

  1. Serverul este întotdeauna într-o stare de așteptare din partea utilizatorului. În orice moment, clientul se poate conecta la server, astfel încât canalul de control menține portul 21 deschis. Pe el merg toate comenzile de control. Portul 21 este setat implicit, dar poate fi schimbat. 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 din partea clientului poate emite comenzi către interpretul serverului. Aceste comenzi determină atât modificările din sistemul de fișiere al serverului, cât și metoda de transfer de date, conținutul acestora, volumul, tipul de mod de operare și multe altele.
  3. După ce toate comenzile pentru transferul de date sunt convenite, unul dintre participanții la conexiune devine în modul de așteptare pasiv (server sau client). Așteaptă să i se dea 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ă cu două tipuri de conexiuni.

Deoarece acesta este cel mai banal model al modului în care funcționează protocolul FTP, există cazuri mai complexe. De exemplu, atunci când nu utilizatorul lucrează cu serverul, ci serverul cu serverul. În acest caz, clientul gestionează transferul de date direct între servere, fără intermediari. Și există o mulțime de exemple similare de configurare server-client. Acesta este unul dintre avantajele protocolului FTP - flexibilitatea muncii.

Principalul lucru de înțeles în Funcționează FTP protocolul este interacțiunea dintre conexiuni și porturi. Cele mai multe erori în timpul lucrului la acest protocol se datorează faptului că una dintre părțile la conexiune nu și-a configurat portul. Există o latură pasivă și una activă a protocolului. Cel pasiv ar trebui 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 unele comenzi de la participantul activ la conexiune - totul se face automat. Problemele apar atunci când, de exemplu, unul sau altul port este deja ocupat pe computerul dvs. sau este 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ță convenabilă. Un astfel de program este FileZilla. Dar orice se întâmplă. Poate că vei avea doar Far Maneger la îndemână, unde totul trebuie făcut prin terminal. În acest caz, ar trebui să vă familiarizați echipe majore 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 utilizatorului în comanda USER, trebuie să introduceți o parolă de conectare. Pentru a face acest lucru, utilizați echipa speciala- TRECE.

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

Dacă într-un anumit 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 acestuia, transferul de date nu se oprește, iar parametrii de transfer rămân la fel ca înainte de comanda REIN. Sau o poți face mai mult într-un mod radicalînchideți conexiunea de control cu ​​comanda QUIT. De asemenea, nu întrerupe transferul de date și numai după ce descărcarea este finalizată, sesiunea este complet întreruptă.

Pentru a seta un port 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 destul de 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 de port este o chestiune neînsemnată. Doar mergeți la setări, găsiți elementul doritși introduceți un alt număr în el î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. Scrieți mai întâ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, sau mai degrabă fișierul care este selectat în prezent.

Alte comenzi sunt folosite pentru a elimina directoare. Pentru a șterge un director evidențiat, veți avea nevoie de comanda RMD. Și să creeze dosar nou, utilizați șirul MKD. De asemenea, utilizatorii au adesea nevoie de o funcție pentru a vizualiza fișierele care se află în director. Pentru a face acest lucru, utilizați comanda LIST sau NLST.

Care sunt analogii FTP

Protocolul de transfer de date FTP are „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 lista fișierele dintr-un director cu el. 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 a citi, scrie, solicita un pachet de date și alte operațiuni 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 un protocol de transfer de date FTP. În plus, SFTP are multe Caracteristici suplimentare excluse, care au fost introduse în FTP cu mult timp în urmă, dar nu sunt folosite de nimeni. Prin urmare, SFTP este mai sigur decât FTP și, în același timp, mai modest în sensul bun al cuvântului. Este recomandat să alegeți exact SFTP în acele cazuri când lucrați cu un fel de date confidențiale. Apoi, chiar dacă hackerii interceptează datele trimise prin conexiunea de control, acestea vor fi totuși 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 avea acces la funcțiile sale mai sofisticate.

Ce este protocolul 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.

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.

    Scopul principal al protocolului FTP este de a trimite (copia, transfera) fișiere de la un computer la distanță către calculator local, si invers.

    Protocolul FTP este unul dintre protocoalele de transfer de informații prin Internet.

    Protocolul FTP este o specificație general acceptată pentru comenzile pe care programele le folosesc pentru a-și face treaba.

    Protocolul FTP este limbă universală, pe care diferite programe pe diferite tipuri de computere pot comunica între ele.

    În prezent, aproape toate Funcții FTP disponibil prin HTTP, dar FTP este încă folosit ca protocol principal pentru accesarea arhivelor mari de fișiere din rețea.

Cu FTP, puteți lucra cu fișierele pe un computer de la distanță ca și cum ar fi pe computerul local.

Nivel de aplicare. Stratul de aplicație este de fapt doar un set de diverse protocoale prin care utilizatorii rețelei accesează resurse partajate, cum ar fi fișiere, imprimante sau pagini Web hipertext și își organizează colaborarea, de exemplu, folosind protocolul E-mail. Unitatea de date pe care operează stratul de aplicație este de obicei numită mesaj.

Există o varietate foarte mare de protocoale de nivel de aplicație. Iată doar câteva dintre cele mai comune implementări ale serviciilor de fișiere ca exemple: NCP în sistemul de operare Novell NetWare, SMB în Microsoft Windows NT, NFS, FTP și TFTP, care fac parte din stiva TCP/IP.

Modelul OSI, deși foarte important, este doar unul dintre multele modele de comunicare. Aceste modele și stivele lor de protocoale asociate pot diferi în ceea ce privește numărul de straturi, funcțiile lor, formatele de mesaje, serviciile furnizate la straturile superioare și alți parametri.

SIGURANȚĂ.

Datele transmise prin protocolul FTP nu fac obiectul niciunei criptări în secțiunea de la client la server. FTP obișnuit nu oferă securitate la transferul unei parole pentru autorizare pe server.

Puteți utiliza modul securizat al protocolului de transfer Fișiere FTP. Pentru a oferi un nivel suplimentar de securitate, se recomandă utilizarea FTP „securizat” - FTP securizat. Această caracteristică este implementată prin simularea transferului de trafic FTP prin tunel folosind un server SSH2. Pentru utilizatorul final, asta înseamnă că folosind clientul tău FTP preferat (de exemplu, un program de lucru cu un site prin FTP - CuteFTP), prin efectuarea unor setări suplimentare simple, te vei asigura că problema de securitate în timpul transferului fișierelor este rezolvată.

Suportul pentru modul „SFTP peste SSH2” este oferit de unele programe FTP moderne, care includ CuteFTP Pro și SecureFX , De exemplu.

Când utilizați FAR, gradul de securitate al lucrului cu FTP poate fi, de asemenea, crescut. Adevărat, nu exact așa cum este descris mai sus, dar și calitate foarte înaltă. LA DEPARTE trebuie să instalați un modul suplimentar FarScp , după care puteți transfera fișiere nu prin FTP, ca de obicei, ci folosind clientul scp (copie securizată), care funcționează atât prin SSH, cât și prin SSH2.

Cum funcționează FTP. Pentru a transfera un fișier utilizând protocolul FTP, aveți nevoie de două programe: un client FTP și un server FTP.

Orez. 1. Schema protocolului FTP

Client FTP.

Un client FTP este un program care poate fi utilizat pentru a se conecta la un server FTP. Sistemele de operare moderne au utilitare FTP de linie de comandă, dar unele au o interfață cu ferestre.

Un exemplu de client FTP este CuteFTP, Go!Zilla, ReGet etc. Ei sunt numiti, cunoscuti manageri de descărcare. Ei au interfață ușor de utilizatși permite utilizatorilor să încarce și să descarce fișiere în mod convenabil.

server FTP.

Server FTP - un computer care conține fișiere publice și este configurat să accepte protocolul FTP (serverul FTP trebuie să aibă software care acceptă protocolul FTP).

    Un program care acceptă protocolul FTP pe un server FTP monitorizează toate solicitările venite de la alte computere (de exemplu, de la al tău), le procesează și dă un răspuns.

    La instalarea unui server FTP, este specificat un director accesibil fiecărui utilizator sau grup de utilizatori.

    Pentru fiecare fișier și director al serverului FTP, puteți defini drepturi de acces utilizator prin setarea atributelor:

Numai citire etc.

Ce este o conexiune FTP.

Conexiunea FTP înseamnă că sunteți conectat la computer la distanță folosind protocolul FTP.


Orez. 2. Organizarea schimbului de informații între două mașini la distanță

Întrebări de control

1. Când a apărut prima datăFTPprotocoale?

- În 1971;*

- În 1099;

- În 1989.

2.Care este protocolulFTP ?

- este un protocol de traducere a fișierelor;

- acesta este un protocol de transfer de fișiere;*

- Acesta este protocolul de primire a fișierelor.

3. Ce esteClient FTP?

- este un program care conține fișiere publice;*

- acesta este un program cu care vă puteți conecta la un server FTP;

- este un utilizator (grup de utilizatori).

4. Ce esteserver FTP?

- este un computer care conține fișiere publice;*

- acesta este computerul local;

- Acesta este computerul furnizorului de găzduire.

5. Ce este lsite-ul web local?

- acesta este site-ul sursă;*

- acesta este site-ul web de destinație;

- acesta este un site web modificat.

6. Ce este gazduirea?

- este procesul de procesare a fișierului;

- este crearea unui nou site web;

- aceasta este plasarea site-ului pe computerul furnizorului de hosting pentru a oferi acces la site tuturor utilizatorilor de Internet.*

7.Ce estesite web la distanță?

- acesta este nodul final (serverul) pe care este publicat site-ul;*

- acesta este site-ul web sursă;

- este un computer pe internet.

(Descărcarea) ?

- copiează fișiere de pe un computer pe internet pe computerul tău;*

- copiază fișiere de pe computer pe un computer la distanță;

- copiază fișiere de pe computer pe Internet.

9. Ce este

- copiează fișiere de pe computer pe un computer de pe Internet;*

- copiează fișiere de pe un computer pe internet pe computerul tău;

- este copierea fișierelor de pe computer pe un computer la distanță.

10. Ce estemesaj?

- aceasta este o unitate de date pe care stratul de aplicație operează;*

- acesta este un fișier;

- este un document text.

Top articole similare