Funcționarea diferență de modul pasiv și activ

server și client acțiuni:

1. Clientul stabilește o conexiune și trimite o cerere către un port server de 21 la N portul (N> 1024)

2. Serverul trimite un răspuns la portul N (N> 1024) Client







3. Serverul stabileste o conexiune pentru transmiterea datelor referitoare la portul 20 la portul client N + 1

2.1.2 modul pasiv:

server și client acțiuni:

1. Clientul stabilește o conexiune și trimite o cerere (rapoarte care trebuie să lucreze în modul pasiv) la portul serverului 21 la portul N (N> 1024)

2. Serverul trimite un răspuns, iar numărul portului pentru canalul de date P (P> 1024) la portul N (N> 1024) Client

3. Clientul stabilește o conexiune pentru transmisia de date pe portul N + 1 la server port P (P> 1024)

FTP active este benefic pentru FTP-server, dar este dăunător pentru partea de client. server FTP încearcă să se conecteze cu aleatoare mari (de număr) porturi pe client, această conexiune va fi cu siguranță blocate de un paravan de protecție pe partea de client.

FTP pasiv este benefic pentru client, dar este dăunător pentru FTP-server. Clientul va face atât conexiuni la server, dar unul dintre ele va fi la un port de mare aleator, conexiunea este probabil să fie blocate de un paravan de protecție pe partea de server.

Mai jos sunt exemple de solicitarea clientului și răspunsul serverului:

2.1.3.1 Exemplu de cerere pentru a citi directorul

Stabilirea unei conexiuni
Conectarea la ftp.ru.
Conectat la ftp.ru [194.87.5.52]

Transmiterea informațiilor peste canalul de date
Mesaj: Transferul de date a început - // începe transfer de informații
Mesaj: conexiune de date închisă de server de la distanță - // Închiderea canalului de transmisie

Informarea clientului utilizator
Post: Primit 1428 bytes 00:00:00 (35.700 bytes / s) - // cât de multe bytes primit (1428), pentru un timp (ch.mm.ss) și cu o viteză medie (35.700 bytes / s)
Mesaj: JOB finalizat cu succes - // lucru finalizat

2.1.3.2 Exemplu de fișier Cerere

Stabilirea unei conexiuni
Conectarea la ftp.ru.
Conectat la ftp.ru [194.87.5.52]

Transmiterea informațiilor peste canalul de date
Mesaj: Transferul de date a început - // începutul transferului de fișiere
Mesaj: conexiune de date închisă de server de la distanță - // Închiderea canalului de transmisie

Informarea clientului utilizator
Mesaj: Primit 31368 bytes 00:00:02 (10477 bytes / s) - // cati bytes este primit (31 368), cât de mult timp (ch.mm.ss) și cu o viteză medie (10 477 octeți / s)
Mesaj: JOB finalizat cu succes - // lucru finalizat

2.1.4 Unele comenzi

de control al accesului






USER - numele de utilizator
TRECERE - Parola
CWD - numele noului director de lucru
CDUP - du-te sus cu un nivel în directorul
QUIT - ieșire

acţiuni
RETR - nume de fișier (să ia un fișier)
nume de fișier (transfer de fișiere) - STOR
Restul - markerului (pentru reluarea fișierul deja descărcat parțial - octet offset este de obicei indicat)
DELE - numele fișierului care urmează să fie șters
RMD - Numele directorului
MKD - un nume pentru dosar
PWD - ca răspuns pentru a specifica numele directorului curent
LISTA [director sau nume de fișier] - pentru a transfera date pe lista de conexiuni de nume de fișiere într-un director sau un fișier de informații
SIST - răspunsul ar trebui să conțină tipul sistemului de operare al serverului și alte informații utile.
STAT - răspuns include informații despre starea curentă a serverului; în cazul în care comanda este emisă în timpul transferului de fișiere, și precedată de trimiterea unui telnet-IP și semnalele Synch, atunci răspunsul este d. conține informații despre starea de transfer
STAT filename - răspunsul ar trebui să conțină informații despre fișierul

alte
HELP [nume de comanda] - descrierea acestei comenzi,
NOOP - echipa martor

2.1.5 Unele tipuri de date:

  • ASCII (tip A) - transferul de informații textuale
  • IMAGE (tip I) - transferul de fișiere binare

2.1.6 coduri de retur

Prima cifră:
1yz - un răspuns preliminar pozitiv: comanda este acceptată, dar nu a fost încă finalizat
2 Raspuns - operațiune finalizată cu succes
3yz - primește comanda, serverul este în așteptare pentru informații suplimentare
4-a categorie - un regres temporar, se repetă după un timp
5-a categorie - eroare fatală

A doua cifră:
x0 - sintaxa
x1z - ca răspuns la cererea de informații
x2z - se referă la un răspuns de conexiune de control sau de date
x3z - Autentificare și contabilitate
x4z - sensul nu este definit
x5 - starea sistemului server de fișiere

2.1.6 Unele coduri de returnare

120 funcție va fi implementată prin nnn minute

Canalul 125 este deschis, comunicarea este pornit

150 de fișiere de stare este corectă, este pregătit deschiderea canalului

Echipa 200 este corect

211 Stare de sistem, sau ca răspuns la o solicitare de referință

director 212 Stare

213 Stare fișier

214 Referință mesaj explicativ

220 Prea multe conexiuni la serverul de FTP (puteți încerca mai târziu). In unele versiuni, aceasta indică finalizarea cu succes a procedurii intermediare

221 finalizarea cu succes a comenzii renuntat

Canalul 225 este format, dar nu există nici un schimb de informații

226 de închidere de canal, schimbul finalizat cu succes

Utilizatorul 230 este identificat, se procedează

250 Cererea a fost efectuată cu succes

331 nume de utilizator corect, aveți nevoie de o parolă

Este nevoie de 332 de autentificare de autentificare

Procedura 421 nu este posibil, canalul este închis

425 Deschiderea canalului de informații nu este posibilă

Canalul 426 este închis, schimbul este întreruptă

450 Funcția solicitată nu este implementată, fișierul nu este disponibil, de exemplu, este ocupat

451 Eroare locală abandonată

fișier scris 452 Eroare (nu suficient spațiu)

500 Eroare de sintaxă, comanda nu poate fi interpretată (poate că este prea lung)

501 Eroare de sintaxă (parametru nevalid sau argument)

Comanda 502 nu este utilizat (modul de tip ilegal)

503 secvență de comandă nereușită

Comanda 504 nu se aplică astfel de parametru

Sistemul 530 nu este încărcat (nu autentificat)

532 de autentificare este necesară pentru stocarea fișierelor

550 Funcția solicitată nu este implementată, fișierul nu este disponibil, de exemplu, nu poate fi găsit

552 operațiunea solicitată este întreruptă de memorie, nu este suficient alocat

Compusul 2.1.7 la FTP prin Telnet

Conectarea la portul de comandă FTP (21):

> Telnet ipm.kstu.ru 21