FTP

A HupWiki-ből...

FTP - File Transfer Protocol (adatállomány/fájlátviteli protokoll)

Rövid leírás

Két pont (gép, host) közötti "adatmásolásra" szolgáló protokoll, az Interneten használatos fájlátviteli rendszer, egyben az átvitelt lehetõvé tevõ programok gyűjtõneve.

Definíciók, részletek

Az FTP Protokoll a 959-es RFC-ben van definiálva. A Protokoll annyira régi és szabványos, hogy ő kapta a 9-es szabványsorszámot.

Speciális esete az ún. Anonymous-FTP ahol a felhasználónév anonymous és jelszót nem kell megadni. Esetleg paranoiásabb rendszergazdák kérhetik, hogy jelszóként az E-mail címünket adjuk meg. (Talán azért, hogy tudják hova jelenteni az esetleges nem rendeltetésszerű használatot.) Ha csak egy @-cal zárt szöveget adunk meg, akkor a szerver feltételezi, hogy a címünk további része ugyanaz mint a géphez DNS-ben rendelt reverz név.

Működés

A működése röviden:

  • A Kliensprogram a szerver 21-es TCP Portjához csatlakozik, és itt végrehajt egy bejelentkezést. Erre a USER és a PASS parancsok valók.
  • A Kliens beléphet alkönyvtárakba pl. a CWD paranccsal, vagy kezdeményezhet olyan parancsot is, ami adatok átvitelét is szükségelteti. Ilyen parancsok például az NLST ahol a könyvtárlistázás az átvitt adat, illetve a RETR és a STOR amely fájl le- illetve feltöltésére szolgál. Az adatkapcsolat kezdeményezése kétféleképpen történhet, függően attól, hogy Passzív FTP kapcsolatról, vagy Aktív FTP kapcsolatról beszélünk.
Aktív FTP kapcsolat esetén a PORT parancsot kell kiadnunk, melynek paramétereit vesszővel tagoljuk. A paraméterei: IP Cím,a Kliens Adatcsatornájának TCP Portja a hálózaton használt bytesorrend szerint. Pl. Port 127,0,0,1,10,23, amely azt jelzi, hogy a szervernek az adatokat a Localhost 2583-as TCP Portjára kell küldenie.
Passzív FTP kapcsolat esetén a PASV parancsot kell kiadnunk paraméterek nélkül, és a szerver a válaszban fogja megmondani, hogy hova kapcsolódjon a kliensünk. A válasz formátuma hasonló a PORT parancsnál használatos formátumhoz.
(FIXME IPv6-os kiterjesztés kellene.)
  • Amennyiben az előző lépésben adatforgalommal járó kapcsolatot szerettünk volna kezdeményezni, akkor kiadhatjuk az ennek megfelelő (NLST, RETR, STOR, stb.) parancsot. Innen az előző lépés elejétől folytathatjuk a működésünket (vagyis, újabb adatforgalommal járó tevékenységhez új adatcsatornát kell kérjünk), vagy kiléphetünk a QUIT paranccsal.

Megjegyzés:

Egyesek FXP néven szokták emlegetni azt az esetet, amikor a PORT parancsnál nem azt az IP címet adjuk meg, amiről a kapcsolatot a szerver felé megnyitottuk. Így ha a szerver gazdája az ilyen eseteket engedélyezi valamint a szokásos Anonymous-FTP-s incoming -ba lehet fel- és letölteni is, akkor az FTP szervert gyönyörűen lehet spam levelek feladójaként használni.