{"id":285,"date":"2020-04-05T23:28:25","date_gmt":"2020-04-05T21:28:25","guid":{"rendered":"http:\/\/tech.sosthe.sk\/?p=285"},"modified":"2020-04-06T16:30:10","modified_gmt":"2020-04-06T14:30:10","slug":"2-4-aplikacny-protokol-ftp","status":"publish","type":"post","link":"http:\/\/tech.sosthe.sk\/index.php\/2020\/04\/05\/2-4-aplikacny-protokol-ftp\/","title":{"rendered":"2.4.\u2002Aplika\u010dn\u00fd protokol FTP"},"content":{"rendered":"<p><strong>FTP: file transfer protocol<\/strong>,\u00a0<a href=\"http:\/\/www.ietf.org\/rfc\/rfc959.txt\">RFC 959<\/a><\/p>\n<p>Protokol FTP je ur\u010den\u00fd na prenos s\u00faborov zo servera na klienta a naopak. FTP protokol odde\u013euje riadenie komunik\u00e1cie od prenosu d\u00e1t do samostatn\u00fdch TCP spojen\u00ed. Riadiaca \u010das\u0165 FTP servera \u010dak\u00e1 na spojenia od klientov na porte 21. Po napojen\u00ed FTP klienta na riadiacu \u010das\u0165 servera sa mus\u00ed pou\u017e\u00edvate\u013e autorizova\u0165 svoj\u00edm prihlasovac\u00edm menom a heslom. V pr\u00edpade, \u017ee ide o verejn\u00fd FTP server s povolenou anonymnou autoriz\u00e1ciou, pou\u017e\u00edva sa ako prihlasovacie meno\u00a0<em>anonymous<\/em>\u00a0a ako heslo sa uv\u00e1dza e-mailov\u00e1 adresa (t\u00e1 m\u00f4\u017ee by\u0165 \u010dasto pr\u00e1zdna alebo sta\u010d\u00ed uvies\u0165 @).<\/p>\n<p>FTP spojenie si uchov\u00e1va poz\u00edciu v r\u00e1mci adres\u00e1rovej \u0161trukt\u00fary webov\u00e9ho servera. Niektor\u00e9 pr\u00edkazy, ktor\u00e9 nepotrebuj\u00fa pren\u00e1\u0161a\u0165 d\u00e1ta, si vysta\u010dia aj s riadiacim spojen\u00edm (napr. CWD na zmenu adres\u00e1ra a DELE na zmazanie s\u00faboru). In\u00e9 pr\u00edkazy, ktor\u00e9 u\u017e vy\u017eaduj\u00fa prenos d\u00e1t (RETR na stiahnutie s\u00faboru, STOR na zaslanie s\u00faboru, LIST na z\u00edskanie obsahu aktu\u00e1lneho adres\u00e1ra), u\u017e potrebuj\u00fa na svoje \u00faspe\u0161n\u00e9 vykonanie vopred otvoren\u00e9 d\u00e1tov\u00e9 spojenie.<\/p>\n<p>D\u00e1tov\u00e9 spojenie sa m\u00f4\u017ee otvori\u0165 jedn\u00fdm z dvoch sp\u00f4sobov \u2013 m\u00f3dov:<\/p>\n<ul>\n<li><strong>akt\u00edvny m\u00f3d<\/strong>, v ktorom klient riadiaceho spojenia spust\u00ed na svojom po\u010d\u00edta\u010di serverov\u00fd d\u00e1tov\u00fd proces a ozn\u00e1mi serveru riadiaceho spojenia IP adresu a \u010d\u00edslo portu, na ktor\u00fd sa m\u00e1 napoji\u0165 klientskou \u010das\u0165ou d\u00e1tov\u00e9ho spojenia. Zasielan\u00e1 spr\u00e1va o otvorenom porte m\u00e1 tvar\u00a0<em>PORT a1,a2,a3,a4,p1,p<\/em>2 v ktorom a1.a2.a3.a4 je IP adresa a v\u00fdsledok v\u00fdrazu p1*256+p2 je \u010d\u00edslo portu(na obr\u00e1zku \u010d.1). Server riadiaceho spojenia po\u010fakuje (\u010d\u00edslo 2). FTP klient m\u00f4\u017ee predpoklada\u0165, \u017ee FTP server sa napoj\u00ed na tento d\u00e1tov\u00fd server z portu 20 (\u010d\u00edslo 3). Ke\u010f sa TCP spojenie podar\u00ed (\u010d\u00edslo 4), d\u00e1tov\u00fd kan\u00e1l je pripraven\u00fd na odoslanie jedn\u00e9ho s\u00faboru d\u00e1t (s\u00fabor alebo v\u00fdpis adres\u00e1ra). Tento sp\u00f4sob spojenia sa ve\u013emi nevyu\u017e\u00edva, nako\u013eko klienti dos\u0165 \u010dasto nemaj\u00fa verejn\u00fa IP adresu a FTP server sa na nich nevie napoji\u0165.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-287 size-full\" src=\"http:\/\/tech.sosthe.sk\/wp-content\/uploads\/2020\/04\/fig02_p01.gif\" alt=\"\" width=\"318\" height=\"294\" \/><\/p>\n<ul>\n<li><strong>pas\u00edvny m\u00f3d<\/strong>, v ktorom klient najprv po\u017eiada FTP server v riadiacom spojen\u00ed o otvorenie serverovej \u010dasti d\u00e1tov\u00e9ho spojenia pr\u00edkazom PASV (na obr\u00e1zku \u010d\u00edslo 1). Server otvor\u00ed niektor\u00fd port a po\u0161le v riadiacom spojen\u00ed klientovi spr\u00e1vu v tvare\u00a0<em>227 Entering Passive Mode (a1,a2,a3,a4,p1,p2).<\/em>\u00a0v ktorom op\u00e4\u0165 a1.a2.a3.a4 je IP adresa a v\u00fdsledok v\u00fdrazu p1*256+p2 je \u010d\u00edslo portu, na ktorom \u010dak\u00e1 (\u010d\u00edslo 2). FTP klient inicializuje d\u00e1tov\u00e9 spojenie na tento port (\u010d\u00edslo 3). Ke\u010f sa TCP spojenie podar\u00ed (\u010d\u00edslo 4), d\u00e1tov\u00fd kan\u00e1l je pripraven\u00fd na odoslanie jedn\u00e9ho s\u00faboru d\u00e1t (s\u00fabor alebo v\u00fdpis adres\u00e1ra). V tomto pr\u00edpade sa port 20 nevyu\u017e\u00edva.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-286 size-full aligncenter\" src=\"http:\/\/tech.sosthe.sk\/wp-content\/uploads\/2020\/04\/fig02_p02.gif\" alt=\"\" width=\"358\" height=\"286\" \/><\/p>\n<p>Po otvoren\u00ed spojenia m\u00f4\u017ee FTP klient po\u017eiada\u0165 o d\u00e1tov\u00fd prenos v riadiacom spojen\u00ed (RETR, STOR alebo LIST).<\/p>\n<p>Ke\u010f pou\u017e\u00edvate\u013e vypne FTP klienta, ten e\u0161te odosiela pr\u00edkaz QUIT pre FTP server na korektn\u00e9 ukon\u010denie riadiaceho spojenia.<\/p>\n<p>Komunik\u00e1cia v riadiacom spojen\u00ed je podobn\u00e1 s prv\u00fdm riadkom HTTP po\u017eiadaviek a odpoved\u00ed. FTP odpovede servera sa tie\u017e skladaj\u00fa z k\u00f3du a koment\u00e1ra stavu. V\u0161etky typy po\u017eiadaviek a odpoved\u00ed si m\u00f4\u017eete pozrie\u0165 v\u00a0<a href=\"http:\/\/www.ietf.org\/rfc\/rfc959.txt\">RFC 959<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FTP: file transfer protocol,\u00a0RFC 959 Protokol FTP je ur\u010den\u00fd na prenos s\u00faborov zo servera na klienta a naopak. FTP protokol odde\u013euje riadenie komunik\u00e1cie od prenosu&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"_links":{"self":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/285"}],"collection":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/comments?post=285"}],"version-history":[{"count":1,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/285\/revisions"}],"predecessor-version":[{"id":288,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/posts\/285\/revisions\/288"}],"wp:attachment":[{"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/media?parent=285"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/categories?post=285"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/tech.sosthe.sk\/index.php\/wp-json\/wp\/v2\/tags?post=285"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}