FTP (File Transfer Protocol) è un protocollo, cioè un linguaggio standard di comunicazione tra due terminali, che permette a dei terminali di tipo diverso (o con sistemi operativi differenti) di trasferire dei file su una rete che funzioni su TCP/IP.
FTP funziona in sistema client/server, cioè il terminale remoto è configurato come server e di conseguenza aspetta che un terminale gli richieda un servizio. Su UNIX, il servizio viene fornito da quello che viene chiamato demone, una piccola azione che funziona in background. Il demone FTP si chiama ftpd.
I software client sono numerosi, alcuni sono in linea di comando (ad esempio il comando FTP, implementato come standard su molti sistemi operativi), ma la maggioranza permettono di manipolare dei file con un'interfaccia grafica (CuteFTP ad esempio), rendendo il trasferimento di file più piacevole.
Il protocollo FTP permette di scambiare un file per volta, in due sensi tra il terminale client (quello che ha cominciato la connessione, quindi il terminale richiedente) e il terminale server (quello che fornisce il servizio FTP, quindi il terminale chiamato). Il protocollo FTP permette anche altre azioni come la creazione e l'eliminazione di cartelle (a condizione che siano vuote), l'elenco dei file, l'eliminazione e la rinomina di file, ecc.
Non bisogna confondere le due nozioni di protocollo e implementazione. Un protocollo è un insieme di regole e di procedure definite per standardizzare la comunicazione, mentre l'implementazione è la programmazione di un software seguendo (più o meno correttamente) le raccomandazioni del protocollo. Così, il comando «FTP» è stato rapidamente implementato su numerose piattaforme, cioè adattato partendo dalle specifiche del protocollo FTP.
Il comando FTP è disponibile in standard su diverse piattaforme, fra cui UNIX, Windows e Linux. Il comando che permette di iniziare una sessione FTP è generalmente il seguente:
ftp nome_del_server
.
nome_del_server rappresenta il nome o l'indirizzo IP del terminale remoto al quale ci si vuole connettere. Ovviamente bisogna che il terminale prescelto disponga di un servizio FTP.
All'inizializzazione della connessione, appaiono sullo schermo alcune linee di testo. La prima linea indica che siete connessi ad un server FTP, le linee seguenti sono un messaggio di benvenuto, che può indicare il tipo di sito FTP in cui ci si trova (ad esempio che tipo di file ospita o l'ente a cui appartiene), oppure delle raccomandazioni per gli utenti. Ogni linea inizia con un numero codificato relativo ad un messaggio di fallimento o successo. Nel caso di messaggio di benvenuto, la linea è, ad esempio, preceduta dal numero 220, il che significa che "il servizio è pronto per il nuovo utente".
Il server vi chiede di inserire il vostro nome utente, detto anche login), per definire dei privilegi d'accesso (come il diritto di scrittura o di lettura). Una volta che sarà validato, una linea che inizia con il numero 331 vi invita a inserire la vostra password; questa sarà mascherata, cioè non apparirà sullo schermo. Può accadere che il server sia pubblico, nel qual caso l'accesso può effettuarsi in anonimo, bisognerà quindi reinserire come login: "anonymous". La consuetudine vuole che, per i server pubblici, l'utente digiti come password il proprio indirizzo di posta elettronica, ma potete inserirne una a vostra scelta.
Alla validazione della password, un messaggio indicherà se la connessione è stata o meno stabilita, nel qual caso le ragioni saranno spiegate (il sito può ad esempio aver raggiunto il suo limite massimo in termini di utenti connessi, in questo caso appare il messaggio «No more user access allowed»). Una volta connesso, il sito FTP aspetta che l'utente dia dei comandi che descrivano le azioni da effettuare.
I comandi FTP abituali sono i seguenti:
Comando | Descrizione |
---|---|
Help | Visualizza l'insieme dei comandi supportati dal server FTP. |
Status | Permette di conoscere alcuni parametri del terminale client. |
Binary | Questo comando vi fa passare dalla modalità ASCII (invio di documenti in formato testo) alla modalità binary (invio di file in modalità binaria, cioè per i file non di testo, come delle immagini o dei programmi). |
ASCII | Bascula dalla modalità binary alla modalità ASCII. È la modalità di default. |
Type | Permette di visualizzare la modalità in uso per il transfert (binary o ASCII). |
User | Vi permette di riaprire una sessione sul sito FTP in corso con un login diverso. Vi sarà allora chiesta un'altra password. |
lS | Permette di elencare i file presenti nella cartella corrente. Il comando "ls -l" da delle informazioni supplementari sui file. |
PWD | Visualizza il nome completo della cartella corrente. |
CD | Questo comando significa change directory, e permette di cambiare la cartella corrente. I Con il comando 'cd' è permesso accedere alla cartella di livello superiore. |
MKDIR | Il comando mkdir (su UNIX , o md su sistemi Microsoft) permette di creare una cartella nella cartella corrente. L'utilizzo di questo comando è riservato agli utenti con un accesso che lo permetta. |
RMDIR | Il comando rmdir (su UNIX , o rd su sistemi Microsoft) permette di eliminare una cartella nella cartella corrente. L'utilizzo di questo comando è riservato agli utenti con un accesso che lo permetta. |
GET | Questo comando permette di recuperare un file presente sul server.
Se un nome di file segue il comando, il file remoto è trasferito sul terminale locale nella cartella locale in uso. Se due nomi di file seguono il comando, il file remoto (il primo nome) è trasferito sul terminale locale nella cartella locale in uso, con il nome di file specificato (il secondo nome). Se il nome del file contiene degli spazi bisogna fare attenzione a inserirli fra virgolette. |
Put | Questo comando permette di inviare un file locale sul server.
Se un nome di file segue il comando, il file locale sarà trasferito sul server nella cartella remota in uso. Nel caso il comando sia seguito da due nomi di file, il file locale (il primo nome) viene trasferito sul server nella cartella remota in uso, con il nome di file specificato (il secondo nome). Se il nome del file contiene degli spazi bisogna fare attenzione a inserirli fra virgolette. |
Open | Chiude la sessione in corso e apre una nuova sessione su un altro server FTP. |
Close | Chiude la sessione in corso, lasciando il software FTP client attivo. |
Bye | Sconnette il software client del server FTP e lo mette in standby. |
Quit | Sconnette il software client del server FTP e lo mette in standby. |
Foto: © Pixabay.