Copyright © 1986 Universita' di Firenze. All rights reserved.
Free license available.
Un esempio di sessione FTP
Come collegarsi (FTP, Anonymous FTP)
Alla linea di comando del proprio host (sistema collegato in rete che offre un servizio),
basta digitare
Severe restrizioni proibiscono l'accesso da parte di un client arbitrario
a qualunque file, finchè non ha ottenuto un login ed una password dal computer
su cui il server opera. Per rendere possibile l'accesso a files pubblici, molti siti TCP/IP
permettono l'FTP anonimo. Questo significa che un client non necessita di
un account o una password, ma l'utente specifica "anonymous" o "ftp"
come nome del login e
guest o il proprio indirizzo di e-mail come password. Il server permette così login anonimi, ma restringe l'accesso
solo ai files pubblici disponibili.
Molti siti ftp aiutano con messaggi vari l'utente che cerca di connettersi,
anche in caso di errore, ad esempio:
I principali comandi di ftp
Una volta connessi ad un sito ftp, si opera
sull'host remoto.
Fra i possibili comandi ce ne sono alcuni molto utili:
La maggior parte dei siti di archivi contengono un documento
'README' (leggimi) che contiene informazioni riguardo al
sito, indicazioni varie sulle risorse e come usarle etc...
Se si desidera cambiare il nome al file, digitando:
Per visualizzare un file remoto direttamente nella sessione
di ftp si può usare il comando get con l'opzione -:
get [nome file] -
ftp documenta ogni trasferimento indicando il buon fine dell'operazione
e di quanto tempo ha impiegato.
Come il comando get può essere specificato un nome diverso.
Ad ogni file verrà chiesta conferma.
Per ritornare allo stato originario basta ridare il comando.
Esistono due differenti modalità di trasferimento:
ASCII e binaria.
La prima (ASCII) serve per trasferire solo file di testo,
la seconda (binaria) per archivi, file eseguibili, immagini etc...
Ftp ASCII fa anche la conversione di "a capo" che nei tre contesti UNIX, MS-DOS, MAC è rispettivamente
LF, CR-LF, CR ed anche da ASCII a EBCDIC.
Scegliendo la modalità binaria ftp converte
automaticamente i file in modo che l'ottavo bit non contenga
più niente di importante.
Per cambiare la modalità si usano i comandi:
ascii o type ascii o semplicemente asc
Per ottenere aiuto si può usare il comando:
OSS: Normalmente i trasferimenti anonimi sono sempre registrati
per motivi di sicurezza.
ftp [hostname]
oppure semplicemente 'ftp' ottenendo il prompt aprendo poi la connessione.
ftp
ftp> open [hostname]
Si considera segno di poca cortesia
(etichetta della rete)
collegarsi ad un sito durante l'orario
d'ufficio (dalle 6 del mattino alle 6 pomeridiane, ora locale).
Questo perché il trasferimento di file in rete impegna molta potenza
di calcolo. Ci sono siti ftp ai quali è possibile collegarsi
24 ore su 24.
Per esempio, supponiamo che qualcuno abbia messo una copia on-line di un testo nel file
tcpbook.tar in una sottodirectory utenti/studenti sulla macchina media2.die.unifi.it.
Un utente logato in un'altro sito come user_A può ottenere una copia del file
eseguendo quanto segue:
% ftp media2.die.unifi.it
Connected to media2.die.unifi.it
220 media2.die.unifi.it FTP server (Version 6.8) ready.
Name (ftp.die.unifi.it:user_A) : anonymous
331 Guest login ok, send e-mail address as password.
Password: guest <------ (in realtà non visualizzata)
230 Guest login ok, access restrictions apply.
ftp> get utenti/studenti/tcpbook.tar bookfile
200 PORT command okay.
150 Opening ASCII mode data connection for tcpbook.tar (9895469 bytes).
226 Transfer complete.
9895469 bytes received in 22.76 seconds (4.3e+02 Kbites/s)
ftp> close
221 Goodbye.
ftp> quit
In questo esempio, l'utente specifica la macchina media2.die.unifi.it come
argomento del comando FTP, così che il client apra automaticamente una connessione
e ottenga subito l'autorizzazione. L'utente invoca l'FTP anonimo specificando il login
anonimous e la password guest (anche se il nostro esempio mostra la password
che l'utente digita, il programma ftp non la visualizza sullo schermo dell'utente).
Dopo aver digitato un login ed una password, l'utente richiede una copia di un file usando
il comando get. Nell'esempio, il comando get è seguito da due argomenti
che specificano il nome del file remoto ed un nome per la copia locale. Il nome del file remoto
è utenti/studenti/tcpbook.tar e la copia locale sarà collocata in
bookfile. Una volta che il trasferimento è completato, l'utente digita close
per rompere il collegamento con il server, e digita quit per abbandonare il client.
Intervallati ai comandi digitati dall'utente ci sono dei messaggi informativi. I messaggi
FTP iniziano sempre con un numero di tre cifre seguito dal testo. Molti di essi
provengono dal server, mentre i restanti dal client locale.
La sessione di esempio illustra anche un aspetto dell'FTP descritto precedentemente: la
creazione di una nuova connessione TCP per il trasferimento dei dati. Il comando PORT
del client riporta che un nuovo numero di porta TCP è stato ottenuto per poter essere
usato come connessione dati. Il client invia le informazioni sulla porta al server sulla
connessione di controllo; i processi di trasferimento dati ad entrambe le parti usano il
nuovo numero di porta nel formare la connessione. Dopo che il trasferimento è completato,
i processi di trasferimento dati ad entrambe le parti chiudono la connessione.
ftp> open media2.die.unifi.it
Connected to media2.die.unifi.it
220 media2 FTP server (Version 6.8)
Name (media2.die.unifi.it:user_A): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:
230-The response 'user_A.die.unifi.it' is not valid
230-Next time please use your e-mail address as your password
230- for example: joe@pippo.sm.die.unifi.it
Se si possiede un account sulla macchina e si vogliono
trasferire dei propri file, alla richiesta di name - password basta inserire i
propri dati, aspettare di essere riconosciuti per poi entrare nella
propria area di lavoro.
Esempio:
ftp
Connected to media2.die.unifi.it
220 media2 FTP server (Version 6.8)
Name (media2.die.unifi.it:colos): user_A
331 Password required for user_A.
Password:
230 User user_A logged in.
Using binary mode to transfer files.
ftp>
Per sconnettersi basta usare
ftp> bye
oppure
ftp> quit
È buona norma (netiquette)
prelevarlo e leggerlo, specie se è la prima volta che ci si collega
in quel sito.
Esempio:
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 42
drwxr-xr-x 11 root 10 1024 Feb 2 06:00 .
drwxr-xr-x 11 root 10 1024 Feb 2 06:00 ..
-rw-r--r-- 1 root root 931 Dec 29 1993 README
dr-xr-xr-x 3 root 10 1024 Apr 9 1994 bin
dr-xr-xr-x 3 root root 1024 Nov 24 20:30 etc
dr-xr-xr-x 7 root 10 1024 Jan 31 11:33 pub
drwxrwxrwt 2 root root 24 Feb 2 06:00 tmp
226 Transfer complete.
ftp>
Con PORT command successful ftp indica il riconoscimento del
comando dir, e con Transfer complete indica il buon fine del
comando.
Esempio:
ftp> cd pub
250-Please read the file README.BENCHMARK
250- it was last modified on Fri Dec 23 11:07:23 1994 - 41 days ago
250 CWD command successful.
ftp>
CWD (Change Working Directory) command successful, significa
che il comando di cambio directory ha lavorato in modo corretto.
Esempio:
ftp> get README
200 PORT command successful.
150 Opening BINARY mode data connection for README (931 bytes).
226 Transfer complete.
931 bytes received in 0.05 seconds (18.29 Kbytes/s)
ftp>
Una copia del file si troverà nella directory corrente del
proprio sistema locale, la macchina dalla quale è stata
aperta la connessione ftp.
get [nome file] [nuovo nome ]
si otterrà una copia del file con un nuovo nome.
Esempio:
ftp> get README -
200 PORT command successful.
150 Opening BINARY mode data connection for README (638 bytes).
This directory contains stuff related to network in general,
and will contain stuff on DSINET in particular in future.
For the moment, I put the two exceptional tcp/ip tutorials
by Charles L. Hedrick. But I'll put more things when I'll find it
and I think they are sufficiently interesting.
Here is the part of the 'readme' from cs.rutgers.edu:
tcp-ip-intro.doc General introduction to TCP/IP networking technology
tcp-ip-intro.ps Postscript version
tcp-ip-admin.doc How to set up a TCP/IP based network
tcp-ip-admin.ps Postscript version
Please notice that those files are gzipped, so their suffix is '.gz'.
carlo@ing.unifi.it
226 Transfer complete.
638 bytes received in 0.03 seconds (19.20 Kbytes/s)
ftp>
Risulta essere molto comodo per lunghi trasferimenti per controllarne
l'andamento.
Esempio:
ftp> hash
Hash mark printing on (1024 bytes/hash mark). <-- abilitato
ftp> put BABY.gif
200 PORT command successful.
150 Opening BINARY mode data connection for BABY.gif.
########################################################################
226 Transfer complete.
74120 bytes sent in 0.23 seconds (309.22 Kbytes/s)
ftp> hash
Hash mark printing off. <-- disabilitato
ftp>
Esempio:
ftp> prompt
Interactive mode off.
ftp> prompt
Interactive mode on.
ftp>
Esempio:
ft>> size schema.dvi
213 288
ftp>
Questo ha un significato storico abbastanza rilevante:
la rete è nata per trasferire soprattutto della posta elettronica,
file di testo, ed alcune macchine che funzionano da ponte fra i sistemi
buttano l'ottavo bit di ogni byte.
Nei file di testo non causa nessun danno perché non contiene
niente di significativo, invece nei file binari è praticamente
una catastrofe.
ftp> asc
200 Type set to A.
binary o type binary o bin
ftp> bin
200 Type set to I.
ftp> type ascii
200 Type set to A.
help o ? anche dando il nome di un comando
Esempio:
ftp> help dir
dir list contents of remote directory
ftp> help type
type set file transfer type
ftp>
