Escolar Documentos
Profissional Documentos
Cultura Documentos
il c l i e n t e i l s e r v e r FTP
le m o d a l i t d i c o l l e g a m e n t o FTP
i comandi FTP
Generalit
E difficile avere un'idea del numero di file che sono oggi "sparsi" nelle memorie degli host computer
connessi tra loro i n Internet, tra programmi, immagini, documenti, suoni, filmati ecc., cos come
tcile calcolare proprio i l numero degli host presenti sulla rete, numero che aumenta giorno per
giorno.
"_aza timore di eccedere possiamo affermare che milioni di file sono condivisi i n rete e i n ogni
;iite una parte d i essi viene scambiata tra calcolatori presenti i n Internet, sia tra macchine molto
distanti tra di loro che tra macchine direttamente connesse, presenti nello stesso locale.
D protocollo utilizzato a livello applicativo per trasferire i file i l File Transfer Protocol, comune-
mente chiamato FTP, che si basa su TCP ed stato definito nel 1984 nell'RFC 959.
Gli obiettivi principali dell'FTP, descritti nella sua specifica ufficiale, sono:
promuovere la condivisione di file (programmi o dati);
incoraggiare l'uso indiretto o implicito di computer remoti;
I risolvere in maniera trasparente incompatibilit tra differenti sistemi di deposito file;
trasferire dati in maniera affidabile ed efficiente.
263
Lo strato di applicazione
la variazione della directory remota ecc.): viene normalmente chiamata control connection o
command channel;
I la seconda connessione quella effettivamente utilizzata per i l trasferimento dei file: viene nor-
malmente chiamata data connection o data channel.
Connessione di controllo
Connessione dati
Client FTP
Server FTP
Il server e il client F T P
Il protocollo FTP si riferisce a u n modello di tipo client/server dove la macchina host destinata a
svolgere la funzione d i server ha i n esecuzione uno specifico programma che pu essere fornito
direttamente col sistema operativo oppure istallato i n u n secondo tempo.
Per poter realizzare la connessione FTP entrambe le macchine devono avere istallato u n software
FTP, rispettivamente u n FTP client e u n FTP server.
File transfer
User at host
F T P Server
Esistono i n distribuzione parecchi software FTP validi, sia distribuiti gratuitamente con licenza
open source, sia a pagamento, come per esempio:
I Filezilla Server;
Bulletproof Ftp Server;
Golder Ftp Server;
I Globalscape Secure Ftp Server;
Cerberus Ftp Server;
I Gene Ftp Server;
Serv-U Ftp Server;
Wftpd;
Surgeftp.
II software FTP server mette a disposizione dei client molteplici opzioni per interagire con l'insieme
dei file condivisi nel suo file system, tra cui:
download/upload di file;
recupero (resum) d i trasferimenti interrotti;
264
m
Trasferimento di file: FTP |
L'accesso al FTP server viene effettuato mediante u n sistema d i autenticazione e i n base alle cre-
denziali possono essere assegnati determinati privilegi agli utenti registrati per poter operare sul file
system: spesso anche possibile effettuare l'autenticazione "anonima", cio quella che effettua u n
client che non specifica alcuna password d i accesso: i n questo caso, generalmente, gli viene conces-
so come privilegio quello d i poter effettuare la "sola lettura".
F T P Client
Anche la connessione da parte del client av-
viene mediante u n apposito software, gene- M Uplodare Uplodare o uploadare? So-
ralmente gratuito, capace d i connettersi a u n no molteplici i problemi di natura termi-
server e d i caricare file dal proprio computer nologica posti dagli anglicismi tra i quali
al server, quindi A uploadare i l contenuto quelli dovuti ad adattamenti di grafia e
di flessione nelle famiglie formate con
a un indirizzo web, o downloadare file da u n
corradicali, come uploadare/uplodare da
server a u n particolare indirizzo IP.
upload "caricamento" e downloadare/
Generalmente u n FTP client u n programma downlodare da download.
costituito da due componenti: Sarebbe opportuno utilizzare l'italiano
I parte di comunicazione: implementa i l pro- "caricare" e "scaricare" e limitare l'uso
tocollo FTP; dell'anglicismo solo ai casi in cui non si
> interfaccia utente: generalmente di tipo gra- dispone di soluzioni alternative.
fico agevola lo svolgimento delle funzioni of-
ferte dal prodotto.
I diversi programmi si differenziano dalle opzioni offerte all'utente, che vanno da quella di permet-
tere upload multipli, alla scelta della velocit, al transfer da server a server, ai componenti grafici
dello stato e dell'avanzamento dei trasferimenti, all'interfaccia grafica accattivante, alla possibilit
di interrompere i l download quando si vuole e riprenderlo senza file corrotti.
I
Cute FTP;
I TRELLIAN;
I WSFTP;
Alcuni dei prodotti elencati possono fa-
I astream netfile FTP;
=
265
Lo strato di applicazion
i- /. rj? 0 * o i t * l f
Host; Nome u t e n t e : Passaprd: Eprte: | Connessione rapida \\
_) home A O home
1 Icone jb Icone
l Q Images tufo i m a g e s
_!*>
V
3 mal v
P i .
I_amol960_l.htm 4.182 Documento.. 02/06/20:
p armol960_l.htm 4.182 Documento H T M 05/09/
. onnol960_2.htm 4.187 Documento.. 02/06/20
! ] a n n o 1 9 O _ 2 . htm 4.187 D o c u m e n t o HTML 05/09/
armol960_3.htm 4.166 Documento.. 02/06/20
] afmol960_3.htm 4.166 D o c u m e n t o HTML 05/09/
annol960_4.htm 4.175 Documento.. 02/06/20
annol960_4.htm 4.175 D o c u m e n t o HTML 05/09/
home.htm 9.684 Documento.. 06/06/20
home.htm 9.684 D o c u m e n t o HTML 05/09/
homel.htm 5.662 Documento.. 02/06/20
homel.htm 5.662 D o c u m e n t o HTML 05/09/
I horne2.htm 6.989 Documento.. 02/06/20
t^ home2.htm 6.989 D o c u m e n t o HTML 05/09/
home3.htm 5.164 Documento.. 06/06/20
home3.htm 5.164 D o c u m e n t o HTML 05/09/
home4.htm 3.908 Documento.. 02/06/20
home4.htm 3.908 D o c u m e n t o HTML 05/09/
< >
9 H e . Dimensione t o t a l e : 4 8 . 1 1 7 b y t e 9 file. Dimensione t o t a l e : 4 8 . 1 1 7 b y t e
t M i Coda: vuota
La comunicazione F T P
Analizziamo ora i l funzionamento del protocollo FTP seguendo le operazioni necessarie per effet-
tuare i l trasferimento d i un file dal server al client.
Abbiamo sostanzialmente due possibili situazioni:
O collegamento normale;
0 collegamento passivo.
La successiva operazione del client quella di instaurare una connessione TCP d i controllo con i l
server (host remoto) sulla porta 21 del server, specificando TCP come protocollo di trasporto e i l
numero di porta dati del client mediante i l comando port 1670: i l client ottiene dal server l'autoriz-
zazione alla connessione sulla linea di controllo (l'"OK" sulla porta 1669).
266
D client dell'I- IT invia l'identificazione dell'utente (nome utente) e la password su questa connes-
sone di controllo, nonch gli eventuali comandi per cambiare la directory remota, sempre comuni-
cando sulla connessione d i controllo.
Quindi i l server apre i l data channel verso la porta indicata dal client per iniziare i l trasferimento
di un file utilizzando la porta 20.
rmine del trasferimento di u n file, i l server chiude la connessione sulla linea dati.
Esiste anche u n metodo alternativo che viene supportato da quasi t u t t i i server FTP: la modalit de-
nominata "passiva" (passive mode o PASV mode), che consente ai client di aprire sia la connessione
di controllo, sia quella per i dati.
Come per la connessione normale, i l client nella connessione FTP passiva alloca due porte con n u -
mero maggiore d i 1023 (nel nostro esempio sempre le porte 1669 e 1670), ma non viene indicato
al server i l numero d i porta riservata ai dati: i l server a comunicare al client i l numero di porta
che l u i riserva per i l trasferimento dei dati (per esempio la porta 3322), e quindi non pi la porta
numero 21 di default, come nel caso normale.
Al posto del numero di porta data, il client comunica al server il comando per indicare
l'uso della modalit passiva.
La risposta del server comprende anche i l suo numero d i porta data 3322 i n modo che i l client attivi
la connessione anche su d i essa, inviando u n comando di richiesta di apertura per i l canale DATA
( D a t a Channel 1 6 7 0 - 3 3 2 2 ) .
Comandi comuni
Il client invia i comandi al server FTP come normale testo ASCI, generalmente composti da due
elementi: nome_comando < p a r a m e t r o > .
ESEMPIO 8
Sono riportati d i seguito a titolo di esempio u n gruppo di comandi:
U S E R <nome u t e n t e > identifica l'utente;
I PASS < p a s s w o r d > autentica l'utente;
I LIST elenca i file della directory corrente;
R E T R <filename> recupera (get) u n file dalla directory corrente;
I STOR <filename> memorizza (put) u n file nell'host remoto;
I CWD < d i r e c t o r y > cambia directory corrente;
I QUIT esegue la disconnessione.
Anche le risposte che i l server FTP invia al client sono costituite da testo ASCII, i n particolare hanno
una stringa composta da tre caratteri (XYZ) che assumono i l seguente significato:
> i l primo carattere X:
1 = l'azione richiesta stata iniziata;
2 = l'azione richiesta stata completata con successo;
3 = i l comando stato accettato ma i n sospeso i n quanto sono necessarie altre informazioni
quali USER, PASS;
4 = i l comando non stato accettato dato che si verificata una situazione d i errore provvisoria;
5 = i l comando non stato accettato dato che si verificato u n errore irrecuperabile;
268
ile: FTP BS3MU
Trasferimento di fil
i l secondo carattere Y:
0 = presenza d i u n errore di sintassi;
2 = d informazioni sullo stato della connessione;
3 = d informazioni sullo stato della autenticazione dell'utente;
5 = indica lo stato del file system del server;
I i l terzo carattere Z non rigidamente codificato come i primi due ma i n funzione del valore che
essi assumono.
ESEMPIO 9
\ ediamo alcuni esempi d i codici di stato con l'espressione d i ritorno
I 331 Username OK, password required nome utente accettato, si attende la pas-
sword
I 125 Data connection already open; transfer starting connessione dati aperta, si inizia i l trasf.
del file
I 425 Can't open data connection errore: non si riesce ad aprire una connes-
sione dati (impossibile trasferire u n file)
452 Error writing file errore non possibile scrivere i l file
presente una eccezione: il codice 220 indica accettazione della connessione e insieme a
esso viene comunicata la chiave pubblica del server.
I Il trasferimento di file uno scambio di dati, mentre il colloquio tra client e server uno
scambio di comandi.
C) l'utente si disconnette
QUIT
269
UdA4 Lo strato di applicazione
FTP client
Connessione TCP 21
Connessione stabilita
USER username
PASS password
Client connected
QUIT
Client disconnected
Tempo
FTPS
Sempre i n termini di sicurezza, doveroso ricordare che i l protocollo FTP non prevede alcuna cifra-
tura per i dati scambiati tra client e server e tra questi vengono scambiati nomi utenti, password, co-
mandi, codici di risposta e file trasferiti che possono essere agevolmente "sniffati" da malintenzionati.
Per ovviare a questo problema stata definita una nuova specifica, la RFC 4217, che aggiunge al
protocollo FTP originale un layer d i cifratura ! SSL pi una nuova serie d i comandi e codici di
risposta: tale protocollo prende i l nome d i FTPS.
p
Tutti i trasferimenti TPS sono cifrati e l'algoritmo di cifratura negoziato con il server: se
| viene impostato la finestra del trasferimento mostrer un simbolo di un "lucchetto" a indicare
il trasferimento sicuro. <'T^
SSL Short for Secure Sockets Layer, a protocol for transmitting private documents via
the Internet. SSL uses a cryptographic system that uses two keys to encrypt data - a public
key known to everyone and a private or secret key known only to the recipient of the message. Both
Netscape Navigator and Internet Explorer support SSL, and many Web sites use the protocol to obtain
confidential user information, such as credit card numbers. By convention, URLs that require an SSL
connection start with https: instead of http.
Non bisogna confondere i l protocollo FTPS dal servizio SFTP: FTPS un protocollo definito a livello
" u f f i c i a l e " che cifra solamente la sessione e non tutti i dati che vengono scambiati, al contrario di
SFTP che non altro che una sessione cifrata (SSI l) che utilizza comandi FTP-like per trasferire i files
sensibili che, quindi, sono intermanete cifrati.
270
Trasferimento di file: FTP
Zoom su.
TIPI DI C O N N E S S I O N I F T P S
Conclusioni
Dato che i l paradigma adottato nel protocollo FTP del tipo client/server non possibile per u n
client stabilire una connessione FTP verso una qualsiasi macchina: necessario che i l server sia
stato opportunamente configurato per accettare la connessione e operare i l trasferimento dei file.
Se si tenta d i stabilire una connessione verso una macchina non abilitata a offrire i l servizio FTP la
sessione fallisce e nessun trasferimento risulta possibile: non t u t t i gli host sono configurati di default
per accettare connessioni d i tipo FTP.
271