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