FTP
FTP ali File Transferf Protocol je protokol, katerega uporabljamo za izmenjavo datotek preko
TCP/IP omrežja. V komunikacijo sta vpletena dva računalnika. Prvi je računalnik, ki nudi storitev
FTP – imenovan tudi FTP strežnik. Ta je vedno pripravljen, da nudi svoje storitve drugim
računalnikom – imenovani tudi FTP odjemalci. FTP odjemalci (aplikacije) ko so enkrat povezani na
strežnik lahko opravljajo ražlične operacije za delo z datotekami (kopiranje, brisanje, premikanje,
preimenovanje,...).
Vsakdo lahko izdela aplikacijo FTP strežnik ali odjemalec, kajti protokol je odprtega tipa in
specifikacije si lahko ogleda vsak. Vsak računalnik, ki podpira TCP/IP protokol lahko uporablja
FTP storitev za manipulacijo z datotekami. FTP protokol ni vezan na oparacijski sistem in tudi
izmenjava datotek iz enega operacijskega sistema v drugega je mogoča.
FTP uporablja vrata 21 in deluje samo preko TCP transportnega sistema. FTP stražnik posluša na
vratih 21 na povezave iz FTP odjemalcev. Hkrati lahko imamo povezanih več FTP odjemalcev
hkrati na en FTP strežnik. Ko smo povezavo vzpostavili se za prenos datotek uporablja druga vrata
(ne vrat 21). Katera vrata so uporabljena se odjemalec in strežnik sama sporazumeta.
Da ustvarimo dejansko povezavo na FTP strežnik potrebujemo aplikacijo imenovano FTP
odjemalec. Aplikacije so lahko tekstovne, obstajajo pa tudi grafične. Ko zaženemo program, je
preden se povežemo na strežnik potrebno najprej vnesti ime oddaljenega FTP strežnika. Prvi ukaz
na strežniku je identifikacije z uporabniškim imenom in geslom. Žal se podatki v FTP protokolu
pošiljajo neprekriti, tako da vsak ki prisluškuje vidi naše uporabniško ime in geslo. Če se pravilno
prijavimo v sistem imamo na voljo ukaze za delo z datotekami.
Slabosti:
– gesla niso prekrita
– uporabljenih je več povezav. Ena za ukaze in druge povezave za prenos datotek med
odjemalcem in strežnikom.
– ni vgrajenega algoritma, ki preverja pravilnost podatkov. Če se podatki med prenosom popačijo
ne moremo ugotoviti, da so ti podatki popačeni.
Varnost:
Kot že omenjeno se podatki med prenosi ne šifrirajo, tako da na enostaven način lahko ugotovimo
podatke o uporabniku, ki prenaša in izvaja raznorazne ukaze na strežniku. Trenutna rešitev za
pošiljanje datotek z prekrivanjem je uporaba ssh aplikacij.
Anonimni dostop
FTP strežniki, ki ponujajo vsebine navadno imajo tudi tako imenovan anonimni dostop do
strežnika. Z uporabo anonymous uporabniškega imena in elektronskega naslova kot geslo se
uporabnik prijavi na tak strežnik in lahko brska po javnih datotekah. Navadno teh datotek ni
mogoče brisati ali preimenovati, kot tudi ni mogoče datotek nalagati na sistem. Tak sistem je
prvensteno namenjen prenosu datotek iz strežnika.
Načina prenosa datotek
Ko prenašamo datoteke imamo dva možna načina prenosa datoteke:
– ASCII način
– BINARY način
ASCII način uporabljamo, ko hočemo prenesti tekstovno datoteko. Ta način je uporabljen, ko
prenašamo tekstovne datoteke (znak po znak) in sistem poskrbi za pravilni zapis datoteke na disku
(na windowsih svoj zapis, na unix sistemih svoj zapis, na mac svoj zapis). Pri binarnem prenosu se
prenašajo bit po bit in na drugi strani se biti shranjujeno nazaj v datoteko. Naprednejši odjemalci
sami poskrbijo za pravilen prenos datotek.
FTP odjemalci:
– CuteFTP
– BulletProof
– FileZilla
– gFTP
– ncftp
– WS ftp
– ...
FTP strežniki:
– FileZilla Server
– War FTP Daemon
– Serv-U FTP Server
– BSD ftpd
– wu-ftpd
– ProFTPD
– ...
Za razvoj aplikacij najdemo FTP specifikacije v RFC 959.