Sunteți pe pagina 1din 13

UNIVERSITATEA TEHNICA GHEORGHE ASACHI,IASI FACULTATEA DE AUTOMATICA SI CALCULATOARE

STUDENT: Floria Sabina-Adriana GRUPA: 1305A


An universitar:2012-2013

Descrierea protocolului FTP Ce inseamna FTP?


FTP este un protocol standard pentru transfer de fisiere (RFC959). Precede TCP/IP, dar a fost adaptat ulterior la TCP/IP. Este un protocol general, cu urmatoarele caracterisitci: Independent de SO si de hardware Transfera fisiere oarecare Gestioneaza drepturile asupra fisierelor si restrictiile de acces Poate rula fie interactiv fie automat. Protocol permite actiuni de: Listarea continutului unui director Modificarea directorului current Aducerea unui fisier Trimiterea unui fisier FTP(File Transfer Protocol)-protocol pentru transferul de fisiere.Este setul de reguli care permite transfer al fisierelor de la un calculator la altul.FTP lucreaza pe principiul client/server.Un program client permite utilizatorului sa interactioneze cu un server in scopul accesarii de informatii.Aceasta este o interfata care permite utilizatorului sa localizeze fisierele si sa le transfere pe propiul computer.

Modelul FTP:

Modelul FTP foloseste doua conexiuni: una de control si una de date. PI Protocol Interpreter implementeaza protocolul FTP, iar DTP - Data Transfer Process DTP realizeaza transferul. User PI (Protocol Interpreter) initiaza conexiunea de control (lucreaza dupa protocolul telnet).Dupa stabilirea ei, comenzile generate de User PI sunt transmise serverului, care transmite raspunsuri standard generate de Server PI. Comenzile FTP specifica parametrii pentru conexiunea de date, cum ar fi portul de date, modul de transfer (stream, block, compressed), tipul reprezentarii (text, binar etc.). De regula, User DTP(User Data Transfer Protocol) trebuie sa asigure un "listen" la portul desemnat. Acest port poate fi in acelasi sistem cu User PI sau in alt sistem unde se asigura ascultarea. Conexiunea de date poate fi folosita pentru transmitere si receptie simultana de date.

Cateva comenzi FTP:


Comanda
ABOR ALLO CWD DELE MODE MKD RMD QUIT TYPE USER PASS PORT PASV

Descriere
Abort proces de conexiune de date <bytes> Aloca spatiu fisier pe server <dir path> Schimba director de lucru pe server <filename> Sterge fisier specificat, pe server <mode> Mod de transfer (S=stream, B=block, C=compressed). <directory> Creaza director specificat, pe server stergerea directorului specificat De-logheaza de pe server <data type> Tip date (A-ASCII, E-EBCDIC, B-binar) <username> username pentru login <password> parola pentru login este un PORT-GAZDA specificat ca port folosit in realizarea conexiunii de date cere serverului DTP sa ascultela un port(care nu este portul sau implicit) si sa astepte realizarea unei conexiuni decat sa initieza una in momentul receptionarii unei comenzi de transfer tipul reprezentarii are ca efect transferul de catre server-ul DTP a unei copii a fisierului, specificat in calea data,de pe server-ul sau user-ul DTP la celalalt capat al conexiunii de date un fisier nou va fi creat pe server daca fisierul specificat in cale nu exista deja transmiterea unei liste de la server la client DTP pasiv returneaza numele directorului de lucru comanda nu afecteaza nici un parametru sau vreo comanda anterioara. Singura actiune-transmiterea de catre server a unui raspuns de OK specifica vechea cale a fisierului care se redenumeste

TYPE RETR

STOR LIST PWD NOOP RNFR

RNTO

specifica noua cale si noul nume al fisierului specificat in comanda redenumeste din reporneste transferul de fisiere

REST

Raspunsuri FTP:
Raspuns
200 500 501 202 502 503 504 110 211 212 213 214

Descriere

Comanda OK. Eroare de sintaxa, comanda nerecunoscuta. Eroare de sintaxa in parametrii sau argumente. Comanda neimplementata, inutila pentru program. Comanda neimplementata. Secventa gresita de comenzi. Comanda neimplementata pentru acest parametru. Raspuns care indica repornirea. Starea sistemului, sau o indicatie de la sistem. Starea directorului. Starea fisierului. Mesaj cu explicatii.Despre cum se utilizeaza serverul sau despre intelesul unei comenzi. 215 NUMELE tipului sistemului. 120 Serviciu gata in nnn minute. 220 Serviciu disponibil pentru un nou utilizator. 221 Serviciul inchide conexiunea de control. Deconectare. 421 Seviciul nu este disponibil, inchide conexiunea de control. 125 225 425 226 426 227 230 530 331 Conexiunea de date este deja stabilita; transfer inceput. Conexiunea de date este deschisa; nici un transfer in desfasurare. Nu pot deschide conexiunea de date. Inchiderea conexiunii de date. Conexiune inchisa; transfer anulat. Intrare in modul pasiv (h1,h2,h3,h4,p1,p2). Utilizator conectat, continua. Neconectat. Numele utilizatorului este valid, introduceti parola.

332 532 150 date. 250 257 350

Este nevoie de inregistrare pentru conectare. Este nevoie de inregistrare pentru a memora fisiere. Starea fisierului este buna; pe punctul de a deschide conexiunea de Actiunea ceruta pentru fisier este OK, indeplinita. "CALE" creata. Actiunea ceruta pentru fisier asteapta informatii aditionale.

Conexiune de date:
Serverul la distanta accepta stabilirea unei conexiuni de control de la client, dupa care se stabileste conexiunea de date. Se pot folosi doua metode: Activa serverul se conecteaza la client; clientul specifica o adresa si un port;serverul initiaza conexiunea (ex. port 1931, adresa 192.168.1.2) Client: PORT 192,168,1,2,7,139 Server: 200 PORT command successful. Pasiva clientul initiaza conexiunea clientul cere serverului sa asculte la o adresa si un port (care nu este portul sau standard); serverul comunica adresa si portul (ex. port 4023, adresa 172.16.62.36); Client: PASV Server: Entering Passive Mode (172,16,62,36,133,111)

Interactiune server-server:
Un User PI poate stabili conexiuni de control pentru a face transferul de date intre alte doua servere, nici unul local.

Mecanismul se numeste transfer "third party" sau transfer "proxy". Utilizatorul din C poate initia o conexiune de control primara cu serverul A si o conexiune de control secundara cu serverul B. Apoi, utilizatorul din C stabileste o conexiune de date intre A si B, prin care se transfera datele direct intre cele doua servere. Controlul se face prin intermediul lui C care joaca rolul de intermediar. Cand trebuie transferate date intre A si B, User PI din C seteaza conexiunile de control si apoi transmite lui A o comanda de conectare pasiva PASV prin care-i spune sa asculte la portul sau de date (nu sa initieze o conexiune). Cand User PI primeste o confirmare la PASV (care specifica identitatea lui A si portul la care asculta), User PI din C transmite catre B portul lui A intr-o comanda PORT si primeste de la B un raspuns. User PI din C transmite comenzile de transfer de date catre A si B. B initiaza conexiunea si transferul incepe.

Securitate:
FTP transmite user name si password in clar. Exista insa variante care ofera servicii de securitate pentru parola utilizatorului (uneori si numele) sau pentru date. FTP over SSH Transmite password criptat SFTP - SSH File Transfer Protocol Securitate pentru date Presupune ca serverul a autentificat utilizatorul bbFTP Securizeaza user name si password Utilizat ne-interactiv (shell script) Permite stream-uri paralele de date Compresie on-the-fly Bun pentru volume mari (> 2GB)

Implementare FTP:
Mi-am propus ca in acest proiect sa realizez o aplicatie client/server FTP(mai multi cienti se pot conecta la server).Proiectul a fost scris in limbajul de programare C#.Dintre comenzile FTP amintite au fost implementate urmatoarele:USER,PASS,CWD,PORT,PASV,TYPE,RETR,STOR, LIST,PWD,DELE,MKD,RMD,NOOP,QUIT,RNFR,RNTO,REST.De asemenea raspunsurile FTP folosite sunt:220(Serviciu disponibil pentru un nou utilizator), 331(Numele utilizatorului este valid,introduceti parola), 230(Utilizator conectat,continua), 200(Comanda OK), 227(Intrare in mod pasiv), 425(Nu pot deschide conexiunea de date), 150(Starea fisierului este buna), 226(Inchiderea conexiunii de date), 550(Actiunea ceruta pentru fisier neacceptata.Fisier

nedisponibil), 257(Cale creata), 221(Deconectare), 250(Actiunea ceruta pentru fisier este OK), 500(Eroare de sintaxa,comanda nerecunoscuta). Scurt manual de utilizare Sunt prezentate cteva capturi de ecran cu indicaiile aferente utilizrii acestui program.

Pentru a porni aplicatia trebuie sa apasati butonul Start FTP. Realizarea unei conexiuni:Total Commander->Net->FTP New Connection:

1.Introduceti numele utilizatorului:

Dupa ce l-ati introdus apasati butonul OK. 2.Introduceti parola:

3.Crearea unui nou director:

4.Trimiterea unui document in directorul nou creat:

5.Stergerea directorului(RC):

6.Pentru a incheia aplicatia apasati butonul Stop FTP.

S-ar putea să vă placă și