Cum se configurează smartphone-uri și PC-uri. Portal informativ

Moduri FTP active și pasive. Server FTP FileZilla pentru rețeaua de acasă sau de birouri mici

FTP (File Transfer Protocol) este unul dintre cele mai arhaice protocoale de transfer de date. A fost creat înainte de HTTP acum peste 40 de ani. Cu toate acestea, tehnologia „FTP client-server” și „server-server”, care este ușor de utilizat și nu necesită nicio întreținere specială, încă servesc ca un mijloc fiabil de organizare a fluxului de lucru intern, crearea de arhive cu mai mulți utilizatori pe rețelele LAN corporative și distribuție gratuită de software, multimedia, documente și materiale pe World Wide Web.

Serverul FTP poate fi implementat pe orice dispozitiv de rețea cu o matrice de discuri pentru stocarea unor cantități mari de informații sau pe un computer obișnuit. La conectarea la server, se fac schimb de comenzi de control, timp în care se stabilește autorizarea (dacă este prevăzută), atribuirea portului, definirea regulilor de schimb și apoi se stabilește o conexiune de date. Să lăsăm deoparte bazele teoretice ale interacțiunii dintre un server și un computer local prin FTP. Acest proces se desfășoară în unul dintre cele două moduri, activ și pasiv. Care sunt diferențele lor? Când modul este activ, clientul trimite cereri către server pentru conectare, iar conexiunea este realizată de către server. În modul pasiv, atât comenzile de control, cât și conexiunea de date sunt inițiate doar de client.

Modul pasiv este necesar atunci când computerul clientului este situat într-o rețea locală securizată. Majoritatea browserelor acceptă protocolul FTP și vă permit să vă conectați, să vizualizați și să copiați date de pe servere la distanță. De exemplu, în Internet Explorer puteți introduce „Adresa IP server” în bara de adrese ftp: // sau puteți găsi link-uri ale celor mai populare stocări de fișiere folosind FileSearch. Pe fila / „Opțiuni Internet / Avansat” / puteți activa utilizarea modului FTP pasiv.

Nu sunt necesare setări speciale în browserul „Mozilla Firefox”. „Total Comander” și „Far” au un client FTP încorporat. Aici, atunci când creați o nouă conexiune, trebuie să specificați suplimentar un nume de utilizator și o parolă. Pentru a deschide servere, autentificarea implicită este „anonim”, iar parola este adresa căsuței dvs. poștale.

Toate „rockerele” cunoscute de la FlashGet (modul pasiv implicit) la ReGet Deluxe (modul activ implicit) au un sistem de detectare automată a scenariilor de conectare și descărcare și sunt, de asemenea, echipate cu diverse acceleratoare suplimentare pentru a accelera procesul de descărcare. De obicei, puteți activa sau dezactiva modul pasiv atunci când creați o nouă conexiune în filele FTP.

Pentru clienții care lucrează în modul de partajare a fișierelor în mod constant sau destul de des, este necesar să se instaleze un manager FTP. Este un program din seria FileZilla, CuteFTP, SmartFTP, FTP Voyager etc. , care poate fi găsit și în domeniul public pe Internet. Aceste programe vă permit să vă reglați fin conexiunea la un server FTP la distanță. Sunt indispensabile în cazurile de lucru cu servere care funcționează doar în „mod activ”, deoarece chiar dacă clientul nu are o adresă IP statică, programul o poate emula pe toată durata sesiunii.

Cel mai popular în rândul utilizatorilor vorbitori de limbă rusă este programul gratuit cu sursă deschisă FileZilla. Acest program este ușor de instalat, are o interfață clară în limba rusă. Există mai multe opțiuni pentru configurarea conexiunilor. Setări generale - Meniu / Editare / Setări /. sunt executate într-o formă arborescentă și afectează setările tuturor modulelor disponibile. În aceeași secțiune a meniului, puteți trece la asistentul pentru crearea unei conexiuni, unde parametrii de conectare vor fi oferiți pas cu pas la alegerea unui mod activ sau pasiv. Unele servere FTP oferă să descărcați fișiere mici script de conexiune pe care le puteți importa în program și să creați o conexiune persistentă gata făcută.

Și, în sfârșit, printre comenzile de consolă a sistemului de operare Windows, este acceptată comanda ftp.exe, care oferă posibilitatea de a se conecta „manual” la un server FTP prin introducerea comenzilor de consolă (protocolul acceptă 25 de comenzi). Utilizarea și sintaxa introducerii acestor comenzi ar trebui să fie bine cunoscute și stăpânite, dar acest lucru va necesita anumite abilități și experiență de programare.

3 raspunsuri

Active și pasive sunt două moduri prin care FTP poate funcționa. FTP folosește două conducte între client și server, conducta de comandă și conducta de date, care sunt de fapt conexiuni TCP separate. Canalul de comandă este pentru comenzi și răspunsuri, canalul de date este pentru transferul efectiv de fișiere. Aceasta este o modalitate excelentă de a trimite comenzi către server fără a aștepta finalizarea transferului curent.

În modul activ, clientul setează un canal de comandă (de la portul client X la portul server 21 (b)), dar serverul setează un canal de date (de la portul server 20 (b) la portul client Y, unde Y a fost furnizat de către client).

În modul pasiv, clientul configurează ambele canale. În acest caz, serverul îi spune clientului care port ar trebui utilizat pentru canalul de date.

Modul pasiv este de obicei folosit în situațiile în care serverul FTP nu poate stabili un canal de date. Unul dintre principalele motive pentru aceasta este firewall-urile de rețea. Deși este posibil să aveți o regulă de firewall care vă permite să deschideți canale FTP către ftp.microsoft.com, este posibil ca serverele Microsoft să nu poată deschide un canal de date prin firewall.

Modul pasiv rezolvă acest lucru prin deschiderea ambelor tipuri de canale din partea clientului. Pentru a fi mai clar:

Modul activ:

  • Clientul trimite PORT 2001 (a) către server și serverul confirmă pe canalul de comandă.
  • Serverul deschide un canal de date de la portul server 20 (b) la portul client 2001 (a).
  • Clientul confirmă canalul de date.

Modul pasiv:

  • Clientul deschide un canal de comandă de la portul client 2000 (a) la portul server 21 (b).
  • Clientul trimite PASV la server pe canalul de comandă.
  • Serverul trimite înapoi (pe canalul de comandă) PORT 1234 (a) după ce începe să asculte pe acel port.
  • Clientul deschide un canal de date de la clientul 2001 (a) la portul de server 1234 (a).
  • Serverul recunoaște canalul de date.

În acest moment, comenzile și canalele de date sunt deschise.

(a) Rețineți că alegerea porturilor din partea clientului depinde de client, deoarece alegerea portului de canal de date al serverului în modul pasiv este dependentă de server.

(b) În plus, trebuie remarcat faptul că utilizarea porturilor 20 și 21 este doar condiționată (deși puternică). Nu există nicio cerință absolută ca aceste porturi să fie utilizate, deși clientul și serverul trebuie să fie de acord cu privire la porturile utilizate. Am văzut implementări care încearcă să se ascundă de clienții care folosesc diferite porturi (înutilă, în opinia mea).

Am întâlnit recent această întrebare la locul meu de muncă, așa că cred că ar trebui să spun altceva aici. Voi folosi o imagine pentru a explica cum funcționează FTP ca sursă complementară pentru răspunsul anterior.

Modul activ:

Modul pasiv:

În configurarea modului activ, serverul va încerca să se conecteze la un port client aleatoriu. Cel mai probabil, acest port nu ar fi unul dintre acele porturi predefinite. Ca urmare, o încercare de conectare la acesta va fi blocată de firewall și conexiunea nu va fi stabilită.

Configurația pasivă nu va avea această problemă deoarece clientul va iniția conexiunea. Desigur, partea de server poate avea și un firewall. Cu toate acestea, deoarece serverul este de așteptat să primească mai multe solicitări de conectare decât clientul, atunci ar fi logic ca administratorul serverului să se adapteze la situație și să deschidă selecțiile de porturi pentru a se adapta configurațiilor modului pasiv.

Deci, ar fi mai bine să vă configurați serverul pentru a accepta modul pasiv FTP. Cu toate acestea, modul pasiv va lăsa sistemul dumneavoastră vulnerabil la atacuri, deoarece clienții trebuie să se conecteze la servere aleatorii. Așadar, pentru a accepta acest mod, serverul dvs. nu numai că trebuie să aibă mai multe porturi disponibile, ci și firewall-ul trebuie să permită conexiuni la toate aceste porturi!

Pentru a atenua riscurile, o soluție bună ar fi să specificați un interval de porturi pe serverul dvs. și apoi să permiteți doar acel interval de porturi pe firewall.

Consultați documentul oficial pentru mai multe informații.

O versiune redusă a articolului meu Moduri de conexiune FTP (activ vs. pasiv):

Modul de conexiune FTP (activ sau pasiv) determină modul în care se stabilește o conexiune de date. În ambele cazuri, clientul creează o conexiune de control TCP la portul 21 al serverului FTP. Aceasta este o conexiune de ieșire standard ca orice alt protocol de transfer de fișiere (SFTP, SCP, WebDAV) sau orice altă aplicație client TCP (cum ar fi un browser web). Prin urmare, de obicei nu există nicio problemă la deschiderea conexiunii de control.

Dacă FTP este mai complex decât alte protocoale de transfer de fișiere, este transfer de fișiere. În timp ce alte protocoale folosesc aceeași conexiune pentru controlul sesiunii și transferul de fișiere (date), FTP utilizează o conexiune separată pentru transferurile de fișiere și directoare.

În modul activ, clientul începe să asculte pe un port aleatoriu pentru conexiunile de date primite de la server (clientul trimite o comandă FTP PORT pentru a spune serverului pe ce port ascultă). Acum este obișnuit ca un client să se afle în spatele unui firewall (cum ar fi firewall-ul Windows încorporat) sau a unui router NAT (cum ar fi un modem ADSL) incapabil să accepte conexiuni TCP de intrare.

Din acest motiv, a fost introdus un mod pasiv și este utilizat în prezent în principal. Utilizarea modului pasiv este de preferat deoarece cea mai mare parte a configurației complexe se face o singură dată pe partea de server, de către un administrator cu experiență, mai degrabă decât individual pe partea clientului, de către utilizatori (posibil) fără experiență.

În modul pasiv, clientul folosește conexiunea de control pentru a trimite o comandă PASV către server și apoi obține adresa IP și numărul portului serverului de la server, pe care clientul le folosește apoi pentru a deschide o conexiune de date cu adresa IP și serverul serverului. numarul portului.

Configurare rețea pentru modul pasiv

În modul pasiv, cea mai mare parte a încărcării configurației este pe partea serverului. Administratorul serverului trebuie să configureze serverul așa cum este descris mai jos.

Firewall și NAT pe partea de server FTP trebuie configurate nu numai pentru a permite/direcționa conexiunile de intrare către portul FTP 21, ci și pentru o serie de porturi pentru conexiunile de date de intrare. De obicei, software-ul serverului FTP are o opțiune de configurare pentru a configura intervalul de porturi care va fi utilizat de server. Și același interval trebuie să fie deschis / direcționat pe firewall / NAT.

Când serverul FTP se află în spatele NAT, trebuie să-și cunoască adresa IP externă, astfel încât să o poată furniza clientului ca răspuns la comanda PASV.

Configurare rețea pentru modul activ

În modul activ, cea mai mare parte a încărcării configurației este pe partea clientului.

Firewall (cum ar fi Windows Firewall) și NAT (cum ar fi ADSL Modem Routing Rules) de pe partea client trebuie să fie configurate pentru a permite/direcționa intervalul de porturi pentru conexiunile de date de intrare. Pentru a deschide porturi în Windows, accesați Panou de control> Sistem și securitate> Paravan de protecție Windows> Opțiuni avansate> Reguli de intrare> Regulă nouă. Pentru rutarea portului către NAT (dacă există), consultați documentația acestuia.

Când NAT este în rețeaua dvs., clientul FTP trebuie să cunoască adresa sa IP externă, pe care WinSCP ar trebui să o furnizeze serverului FTP folosind comanda PORT. Pentru ca serverul să se poată conecta corect la client pentru a deschide o conexiune de date. Unii clienți FTP pot detecta automat adresa IP externă, unii dintre ei trebuie configurați manual.

Smart Firewall / NAT

Unele firewall-uri/NAT încearcă să deschidă/închidă automat porturile de date testând conexiunea FTP și/sau traduc adresele IP ale conexiunii de date în traficul de control al conexiunii.

Cu un astfel de firewall/NAT, configurația de mai sus nu este necesară pentru FTP simplu necriptat. Dar acest lucru nu poate funcționa cu FTPS deoarece traficul conexiunii de control este criptat și firewall-ul / NAT nu îl poate inspecta și modifica.

Când se lucrează prin FTP, se stabilesc două conexiuni între client și server - una de control (comenzile sunt trimise prin intermediul acestuia) și o conexiune de transfer de date (fișierele sunt transferate prin aceasta).
Conexiunea de control este aceeași pentru Activși Pasiv regim. Clientul inițiază o conexiune TCP de la un port dinamic (1024-65535) la portul 21 de pe serverul FTP și spune „Bună! Vreau să mă conectez la tine. Iată numele meu și parola mea.” Acțiunile suplimentare depind de modul FTP (activ sau pasiv) selectat.

În modul activ când clientul spune „Bună ziua!” de asemenea, îi spune serverului numărul portului (dintr-un interval dinamic de 1024-65535), astfel încât serverul să se poată conecta la client pentru a stabili o conexiune de date. Serverul FTP se conectează la numărul portului client specificat utilizând numărul portului TCP 20 pentru transferul de date.

În modul pasiv, după ce clientul spune „Bună ziua!”, serverul îi spune clientului numărul portului TCP (din intervalul dinamic 1024-65535) la care se poate conecta pentru a stabili o conexiune de date.

Principala diferențăîntre modul FTP activ și modul FTP pasiv este partea care deschide conexiunea de date... În modul activ, clientul trebuie să accepte conexiunea de la serverul FTP. În modul pasiv, clientul inițiază întotdeauna o conexiune.

Comenzi de bază

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

Lista completă a codurilor de răspuns ale serverului FTP

100 Acțiunea solicitată a fost inițiată, vă rugăm să așteptați următorul răspuns înainte de a executa o nouă comandă.
110 Comentariu
120 Funcția va fi implementată în nnn minute
125 Canal deschis, schimbul de date a început
150 Starea fișierului este corectă, pregătirea pentru deschiderea unui canal
200 Comanda corectă
202 Comanda nu este acceptată
211 Starea sistemului sau răspuns la întrebare
212 Stare director
213 Stare fișier
214 Ajutor mesaj explicativ
215 Afișat împreună cu informații despre sistem pe comanda SYST.
220 Serviciul este pregătit pentru un utilizator nou.
221 Închideți cu succes.
Canalul 225 este format, dar nu există schimb de informații
226 Închideți canalul, schimbul a fost finalizat cu succes
227 Trecerea în modul pasiv (h1, h2, h3, h4, p1, p2).
228 trecerea la modul pasiv lung (adresă lungă, port).
229 Comutați în modul pasiv extins (||| port |).
230 Utilizator identificat, continuați
231 Sesiune utilizator încheiată; Serviciul a fost întrerupt.
232 Comanda de sfârșit de sesiune a primit și se va finaliza când transferul fișierului este finalizat.
250 Solicitarea a avut succes
257 „CALEA” este creată.
331 Numele de utilizator este corect, este necesară parola
332 Conectarea necesită autentificare
350 Acțiunea solicitată asupra dosarului necesită mai multe informații.
404 Serverul la distanță dat nu a fost găsit.
421 Procedura nu este posibilă, canalul este închis.
425 Deschiderea canalului de informare nu este posibilă.
426 Canal închis, schimb întrerupt
434 Gazda solicitată nu este disponibilă.
450 Funcția solicitată nu este implementată, fișierul nu este disponibil, de exemplu, ocupat
451 Eroare locală, operațiune anulată
452 Eroare la scrierea fișierului (spațiu insuficient)
500 Eroare de sintaxă, comanda nu poate fi interpretată (poate fi prea lungă).
501 Eroare de sintaxă (parametru sau argument nevalid).
502 Comanda nu este utilizată (tip MOD ilegal)
503 Secvență de comandă nevalidă
504 Comanda nu se aplică pentru acest parametru.
530 Conectarea nu a reușit! Este necesară autorizarea (nu autentificat)
532 Este necesară autentificarea pentru a reține fișierul
550 Funcția solicitată nu este implementată, fișierul nu este disponibil, de exemplu, nu a fost găsit.
551 Operația solicitată a fost întreruptă. Tip de pagină necunoscut.
552 Operația solicitată a fost întreruptă. Nu este suficientă memorie alocată
553 Operațiunea solicitată nu a fost acceptată. Nume invalid.

Top articole similare