FileZilla,
Fire Downloader,
JDownloader
sono alcuni dei tanti gestori di download
che permettono di trasferire i dati mediante connessione FTP.
Tuttavia nei sistemi operativi,
in genere,
si può effettuare l'accesso anche tramite riga di comando.
fpt
venerdì 4 gennaio 2013
FTP Problemi relativi alla sicurezza
La specifica originale di FTP
non prevede alcuna cifratura
per i dati scambiati
tra client e server.
Questo comprende
nomi utenti,
password,
comandi,
codici di risposta e
file trasferiti
i quali possono essere
"sniffati"
o visionati
da malintenzionati in determinate situazioni
(esempio: ambienti intranet).
Il problema è comune a diversi altri protocolli utilizzati prima della diffusione di
SSL
quali
HTTP,
TELNET
e SMTP.
Per ovviare al problema
è stata definita una nuova specifica
che aggiunge al protocollo FTP originale
un layer (chi punta)
di cifratura SSL/TLS
più una nuova serie di comandi
e codici di risposta.
Il protocollo prende il nome di
FTPS
ed è definito nella
RFC-4217.
Da non confondersi con
SFTP
che è comunque una valida alternativa
per ovviare al problema descritto.
non prevede alcuna cifratura
per i dati scambiati
tra client e server.
Questo comprende
nomi utenti,
password,
comandi,
codici di risposta e
file trasferiti
i quali possono essere
"sniffati"
o visionati
da malintenzionati in determinate situazioni
(esempio: ambienti intranet).
Il problema è comune a diversi altri protocolli utilizzati prima della diffusione di
SSL
quali
HTTP,
TELNET
e SMTP.
Per ovviare al problema
è stata definita una nuova specifica
che aggiunge al protocollo FTP originale
un layer (chi punta)
di cifratura SSL/TLS
più una nuova serie di comandi
e codici di risposta.
Il protocollo prende il nome di
FTPS
ed è definito nella
RFC-4217.
Da non confondersi con
SFTP
che è comunque una valida alternativa
per ovviare al problema descritto.
FTP Codici di risposta
- 1xx:
- Risposta positiva preliminare.
- L'azione richiesta è iniziata ma ci sarà un'altra risposta ad indicare che essa è effettivamente completata.
- 2xx:
- Risposta positiva definitiva.
- L'azione richiesta è completata.
- Il client può ora mandare altri comandi.
- 3xx:
- Risposta positiva intermedia.
- Il comando è stato accettato ma è necessario mandarne un secondo affinché la richiesta sia completata definitivamente.
- 4xx:
- Risposta negativa temporanea.
- Il comando non è andato a buon fine ma potrebbe funzionare in un secondo momento.
- 5xx:
- Risposta negativa definitiva.
- Il comando non è andato a buon fine e il client non dovrebbe più ripeterlo.
- x0x:
- Errore di sintassi.
- x1x:
- Risposta ad una richiesta informativa.
- x2x:
- Risposta relativa alla connessione.
- x3x:
- Risposta relativa all'account e/o ai permessi.
- x4x:
- Non meglio specificato.
- x5x:
- Risposta relativa al file-system.
FTP Comandi
| Nome | Comando | Parametri | Descrizione |
|---|---|---|---|
| Abort | ABOR | Interrompe trasferimento dati. | |
| Account | ACCT | <account-information> | Informazioni account (raramente usato). |
| Allocate | ALLO | <decimal-integer> | Alloca spazio sufficiente per ricevere un file (raramente usato). |
| Append (with create) | APPE | <pathname> | Appende dati ad un file esistente. |
| Change to parent directory | CDUP | Va alla parent directory. | |
| Change working directory | CWD | <pathname> | Cambia directory corrente. |
| Delete | DELE | <pathname> | Cancella file. |
| Help | HELP | <command> | Ritorna la lista dei comandi accettati dal server. Con argomento fornisce spiegazioni riguardo al comando specificato. |
| List | LIST | <pathname> | Lista il contenuto di una directory o le proprietà di un singolo file. |
| Trasfer mode | MODE | <mode-type> | Imposta la modalità di trasferimento (S=stream, B=block, C=compressed). |
| Make directory | MKD | <pathname> | Crea directory. |
| Name list | NLST | <pathname> | Ritorna il nome dei file della directory specificata. |
| Noop | NOOP | Non fa nulla (usato prevalentemente per prevenire disconnessioni per inattività prolungata). | |
| Password | PASS | <password> | Specifica la password dell'utente. |
| Passive | PASV | Inizializza connessione dati passiva. | |
| Data port | PORT | <host-port> | Inizializza connessione dati attiva. |
| Print working directory | PWD | Ritorna nome della directory corrente. | |
| Logout | QUIT | Disconnette. Se un trasferimento è ancora in corso attende che termini prima di chiudere la sessione. | |
| Reinitialize | REIN | Effettua il log-off dell'utente loggato. | |
| Restart | REST | <marker> | Riprende il trasferimento dall'offset indicato. |
| Retrieve | RETR | <pathname> | Preleva file (da server a client). |
| Remove directory | RMD | <pathname> | Rimuove directory. |
| Rename from | RNFR | <pathname> | Rinomina (sorgente). |
| Rename to | RNTO | <pathname> | Rinomina (destinazione). |
| Site parameters | SITE | <command> | Manda comando specifico per il server (non standardizzato; varia tra implementazioni). |
| Structure mount | SMNT | <pathname> | Monta struttura (raramente usato). |
| Status | STAT | <pathname> | Ritorna statistiche riguardo al server. Con argomento lista il contenuto di una directory utilizzando il canale comandi. |
| Store | STOR | <pathname> | Spedisce un file (da client a server). |
| Store unique | STOU | <pathname> | Spedisce un file (da client a server) utilizzando un nome univoco. |
| File structure | STRU | <structure-code> | Imposta la struttura dati (F=file, R=record, P=page). Praticamente inutilizzato. Il valore di default è F. |
| System | SYST | Ritorna tipo di sistema operativo. | |
| Representation type | TYPE | <type> | Imposta la modalità di trasferimento (A=ASCII, E=EBCDIC, I=Binary, L=Local). Il valore di default è A. EBCDIC e Local sono raramente usati (esempio: unicamente su sistemi mainframe). |
| User Name | USER | <username> | Specifica nome utente. |
Binding
In informatica
il binding
è il processo tramite cui viene effettuato il collegamento fra
una entità di un software
ed il suo corrispettivo valore.
Nei termini della programmazione a oggetti,
la decisione circa l'attributo
o il metodo da richiamare in un dato momento
dell'esecuzione del programma viene effettuata grazie al binding.
Tale decisione può essere stata stabilita in anticipo
in maniera fissa,
e in tal caso si parla di
binding statico
(o early binding);
oppure può essere presa a tempo di esecuzione, in maniera dinamica, e in tal caso si parla di binding dinamico (o late binding).
il binding
è il processo tramite cui viene effettuato il collegamento fra
una entità di un software
ed il suo corrispettivo valore.
Nei termini della programmazione a oggetti,
la decisione circa l'attributo
o il metodo da richiamare in un dato momento
dell'esecuzione del programma viene effettuata grazie al binding.
Tale decisione può essere stata stabilita in anticipo
in maniera fissa,
e in tal caso si parla di
binding statico
(o early binding);
oppure può essere presa a tempo di esecuzione, in maniera dinamica, e in tal caso si parla di binding dinamico (o late binding).
Iscriviti a:
Post (Atom)