diff --git a/Réseau/Protocoles/FTP.html b/Réseau/Protocoles/FTP.html new file mode 100644 index 0000000..85b288c --- /dev/null +++ b/Réseau/Protocoles/FTP.html @@ -0,0 +1,189 @@ + + +

Présentation

+

FTP (File Transfert Protocol) est donc un protocole de transfert de fichiers.
FTP obéit à un modèle client-serveur :

+ +

L'administrateur du serveur FTP créé des comptes FTP.
Ce sont des utilisateurs FTP avec un identifiant et mots de passe ou une clé publique de connexion.
Chaque utilisateur a accès à une arborescence spécifique et des autorisations sur celle-ci.
Une fois la connexion réussie, le client FTP accède à des dossiers autorisés par le compte FTP.
Ce dernier peut copier les fichiers en local ou distant :

+ +

Typiquement un client FTP se présente avec deux fenêtre, à gauche les dossiers et fichiers locaux, à droite, les dossiers et fichiers distants du serveur FTP.
Vous pouvez faire glisser les fichiers de l'un à l'autre.

+
Fonctionnement du FTP pour partager ses fichiers
+

 

+

Le serveur FTP

+

Il existe plusieurs serveurs FTP sur Windows comme FileZilla Server ou TypSoft FTP, Windows possède aussi un serveur FTP.
Sur Linux, on trouve VsFTPd ou ProFTPD parmi les plus populaires.

+

Le fonctionnement d'un serveur FTP est toujours le même, grosso modo :

+ +

Le serveur FTP fournit des journaux de connexions pour visualiser la négociation de connexion et les utilisateurs connectés.

+
Fonctionnement du FTP pour partager ses fichiers
+

 

+

Le client FTP

+

Il existe aussi une multitude de clients FTP graphiques comme FileZilla, WinScp, etc.

+

Là aussi, le principe reste le même, vous créez vos comptes FTP sur le client et en double-cliquant sur ce dernier, vous pouvez vous connecter au serveur.
On trouve alors l'arborescence local et l'arborescence de fichiers distants.
On peut alors faire un glisser déposer pour lancer le transferts de fichiers.

+
Le client FTP : fonctionnement du partage par FTP
+

 

+

Sur Windows, on peut aussi se connecter en FTP par un lecteur réseau :

+

Créer et se connecter en FTP avec un lecteur réseau sur Windows
 

+

Mais il en existe aussi en ligne de commandes.
Windows et Linux possède par défaut la commande FTP qui propose le strict minimum.
Mais sur Linux, on trouve des clients FTP plus puissants comme ncftp ou lftp.

+

Enfin il est même possible de se connecter à un serveur FTP avec un navigateur WEB.

+

Fonctionnement

+

L'établissement de la connexion FTP

+

Contrairement au protocole HTTP, FTP fonctionne avec deux ports TCP : un port de contrôle (Control Channel) et un port pour les données (Data Channel).

+
+ + + + + + + + + + + + + + + + + + +
ProtocolePort de contrôlePort de données
FTP2120
FTPS990989
+
+

Les ports par défaut du protocole FTP

+

Le client FTP connecte au port de contrôle où les premiers échanges et négociations entre le client FTP et le serveur FTP s'effectuent.
Cette communication se fait sur le principe de commande / réponse.
Le Control Channel perdure pour passer des commandes FTP.
Par exemple, les commandes MLSD et LIST listent le contenu du dossier courant, la commande CWD permet de changer de dossier, PWD indique l'emplacement du dossier courant.

+

Le Data Channel permet l'échange de données.
Lorsque le client demande à recevoir ou envoyer un fichier, une connexion TCP se créé puis les données passent par celle-ci.

+

Toutefois, il existe deux modes de connexion : Le mode actif et le mode passif.

+

Les principales commandes FTP

+

Le client FTP utilise ces commandes FTP pour dialoguer avec le serveur FTP à travers le Control Channel.
Il existe environ 70 commandes FTP différentes.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Principales commandes FTPDescription
ABORAnnuler un transfert de fichier actif
CDUPPassez au répertoire parent
CWDChanger de répertoire de travail
DELESupprimer un fichier
EPSVEntrer en mode passif étendu
LISTRenvoyer les informations d'un fichier ou d'un répertoire si spécifié, sinon les informations du répertoire de travail actuel sont renvoyées
MKDCréer un répertoire
MLSDRépertorier le contenu d'un répertoire si un répertoire est nommé
PASSEnvoyer le mot de passe de connexion
PASVEntrer en mode passif
PORTSpécifier une adresse et un port auxquels le serveur doit se connecter
PWDAfficher le répertoire de travail. Renvoie le répertoire actuel de l'hôte.
REINRéinitialiser la connexion
RESTRedémarrez le transfert à partir du point spécifié
RETRRécupérer une copie du fichier
RMDRenommer un dossier
RMDASupprimer une arborescence de répertoires
RNFRRenommer depuis
RNTORenommer vers
QUITSe déconnecter du serveur
SIZERenvoyer la taille d'un fichier
TYPEDéfinir le mode de transfert (ASCII / Binaire)
USERS'authentifier par un nom d'utilisateur
+
+

Liste des principales commandes FTP

+

Le mode actif et passif

+

FTP fonctionne sur deux modes de communications : le mode actif et passif.

+

Pourquoi et comment fonctionnent ces modes de communication ?
Et surtout quelles sont les différences et lequel choisir ?

+

Ce tutoriel vous dit tout :

+

Le mode actif et passif en FTP : les différences, fonctionnement, lequel choisir ?
 

+

LES AUTRES PROTOCOLES FTP

+

TFTP

+

FTP (pour Trivial File Transfer Protocol) signifie protocole simplifié de transfert de fichiers.
En clair donc, c'est un FTP avec des commandes simplifiées.
Notamment, il n'est pas possible de lister les fichiers.
De plus, il fonctionne sur le port 69 en UDP.

+

Un serveur TFTP est parfois inclut dans les NAS.

+

FTPS : FTP Over TLS et attaque MiTM

+

Par défaut, le protocole FTP n'est pas chiffrée, ainsi lors de la connexion les identifiants FTP (nom d'utilisateur / mot de passe) passent en claire sur le réseau.
Une attaque de type Man in the Middle peut permettre la récupération de ces identifiants FTP ou dérouter vers un faux serveur FTP.

+

Le FTP existe sous la forme chiffrée à travers FTP Over TLS ou FTPS.
Ce dernier vise à sécuriser les connexions FTP et palier à aux manquements de FTP.