20. FTP (File Transfer Protocol)
Teorie
- protokol pro přenos souborů mezi počítači
pomocí počítačové sítě
- využívá architekturu klient/server
- na transportní vrstvě používá protokol
TCP
a využívá 2 komunikační kanály - obr.
- jeden kanál pro posílání příkazů - server naslouchá na portu 21
- druhý kanál pro vlastní přenášená data - na serveru port
20
- na straně serveru je potřeba mít nainstalovaný FTP server
- na straně klienta lze použít
- FTP klient (např.
FileZilla) - většinou okno s
levým/pravým panelem pro výpis složek
- nebo správcovské aplikace typu
Total Commander s vestavěným
FTP klientem
- nebo lze použít s menším pohodlím webový prohlížeč
- popř. příkazový řádek a příkaz ftp
- nejčastější použití FTP: upload webových stránek na server hostitele,
možnost omezení velikosti úložiště (disk quota)
- umožňuje řízení přístupu - přihlašování
- anonymní (uživatel např. anonymous nebo ftp)
bez hesla - pro download
- přes login a heslo pro download i upload
(uživatelský účet se přebírá z OS)
- přenos souborů ani hesel není šifrovaný
- režimy přenosu souborů: textový (ASCII)/binární
- textové
soubory mají v různých OS různé znaky pro konce řádků (Windows
CR/LF,
tedy 0D/0A, Linux má jen LF), při přenosu dochází ke konverzi konců
řádků (podle OS koncových stanic)
- u
binárních souborů se při přenosu nic nemění
- režimy připojení - aktivní (připojení navazuje
server)/pasivní (připojení navazuje klient -
bezpečnější)
- ilustrace FTP komunikace při výpisu složky (aktivní režim) -
obr.
-
návratové kódy FTP serveru
TFTP (Trivial FTP) -
wiki
- zjednodušený FTP pro přenos souborů do velikosti 32 MB v rámci
lokální sítě
- používá UDP a port 69
- nepoužívá přihlašování, neumožňuje procházení složek
FTPS (FTP Secure) - wiki
- rozšíření FTP o šifrování - využívá se
TLS
SFTP (SSH FTP) -
wiki
- šifrování FTP jiným způsobem - využívá se protokol SSH (Secure
Shell)
Cvičení (napojovat se na FTP server
192.168.5.100)
- a) FTP přes příkazový řádek ve Windows -
příkazy po spuštění FTP klienta příkazem
ftp z cmd (pozn. některé příkazy můžou být aliasy):
- open server - připojení k serveru
- user jmeno - přihlášení
- help - nápověda (help příkaz podrobnější
nápověda)
- status - stav připojení
- pwd - zjištění aktuální složky na serveru
- cd - změna aktuální složky na serveru
- dir (také ls) - výpis souborů aktuální složky
na serveru
- lcd - změna lokální aktuální složky (u klienta)
- get soubor - download souboru ze serveru
- put soubor - upload souboru na server
- delete soubor - smazání
- mdir složka - vytvoření složky
- rmdir složka - smazání prázdné složky
- binary/ascii - nastavení typu přenosu
- quit (také close, bye) - ukončení spojení
- pokud se před příkaz napíše !, příkaz se provádí lokálně - např.
!dir vypíše lokální aktuální složku
- Zadání:
- Úkolem bude pomocí FTP přenést soubor jmeno_cmd.txt v
textovém režimu na server do domovské složky, přejmenovat na *.bin
a pak ho přenést zpátky v binárním režimu do PC
- Postup:
- Nastavte si v Průzkumníku zobrazování přípon souborů
- Vytvořte ve složce c:\temp textový soubor jmeno_cmd.txt
s několika řádky textu
- spusťte ftp a otevřte spojení se serverem 192.168.5.100, přihlašte
se svým účtem
- ověřte režim ascii příkazem status
- ověřte lokální složku pwd
- nastavte lokální složku c:\temp příkazem lcd /temp a
ověřte !dir
- přeneste jmeno_cmd.txt na server příkazem put
- přejmenujte soubor na jmeno_cmd.bin
- nastavte režim binary
- přeneste jmeno_cmd.bin na PC
- oba soubory analyzujte v PSPadu - zaměřte se na konce řádků (upload probíhá v
textovém režimu - proběhne konverze konců řádků, download souboru
*.bin proběhne v
binárním režimu - bez konverze)
- b) FTP přes webový prohlížeč
- obecně se zadává adresa ftp://<uživatelské
jméno>:<heslo>@<adresa serveru + adresář>
- Zkuste si stáhnout soubor prokliknutím odkazu z anonymního účtu
pomocí ftp://anonym@192.168.5.100
- FTP přístup pomocí vašeho uživatelského účtu není v
prohlížeči vhodný (heslo se musí viditelně napsat)
- c) FTP přes klienta -
FileZilla
- Soubor - Správce míst - správa známých serverů a přihlašovacích údajů
- Upravit - Nastavení - např. přípony textových souborů (pro
automatickou detekci), protokolování
- Vytvořte ve složce c:\temp textový soubor jmeno_filezilla.txt
s několika řádky náhodného textu
- Přihlašte se na FTP server 192.168.5.100 pod svým účtem
- přeneste soubor na server táhnutím myší mezi panely, přejmenujte
soubor na *.bin a přeneste jej zpátky do c:\temp
- soubory analyzujte v PSPadu (konverze probíhá automaticky)
- Připojení síťového disku - alternativa k FTP
- na Windows Serveru musí být nainstalována role pro souborové
služby a nastaveny sdílené složky
- na běžném Windows nastaveno sdílení složek
- na Linux serveru musí být nainstalován a nakonfigurován
Samba server
- Tento počítač - pravé tl. - Připojit síťovou jednotku
(vybere se písmeno)
- cesta obecně \\server\sdilena_slozka
- \\192.168.5.100\demian_ftp
- uživatel ftp bez hesla
- PacketTracer
- použít konfiguraci sítě z předchozího cvičení DNS
- na serveru nastavit FTP service - zjistit
přihlašovací údaje, obsažené soubory
- download - u klienta (na PC)
- v příkazovém řádku vypsat lokální složku příkazem dir
- otevřít v příkazovém řádku ftp server a přihlásit
se
- vypište podporované FTP příkazy pomocí ?
- zapněte aktivní režim příkazem passive
- vypsat složku na serveru pomocí pwd
- stáhnout vybraný soubor pomocí get soubor
- upload - u klienta (na PC)
- v textovém editoru vytvořit text. soubor a uložit jako
mynewfile.txt
- v příkazovém řádku vypsat lokální složku (dir mimo
ftp)
- spustit ftp a přenést nový soubor na server
- vypsat soubory na serveru pro ověření (dir v rámci
ftp)
- simulační režim
- nastavit filtr FTP
- provést u klienta v FTP výpis aktuální složky pwd
- analyzovat dotaz/odpověď mezi klientem a serverm