Tutoriels gratuits et ouverts à toutes et à tous · mis à jour régulièrementÀ propos

Série « Fiches réseau » · partie 9 / 12

Fiche : le protocole FTP

Un protocole à deux connexions : canal de commandes, canal de données, modes actif et passif, et pourquoi on lui préfère aujourd’hui SFTP ou FTPS.

Réseau✎ B. Jousseaume📅 21 octobre 2026 · mis à jour le 21 octobre 2026📶 Débutant

Un protocole à deux connexions

FTP (File Transfer Protocol, RFC 959) est l’un des plus anciens protocoles d’Internet. Contrairement à HTTP, il sépare les échanges en deux connexions TCP :

ConnexionPort côté serveurCe qui y circule
Canal de commandes (contrôle)21Les commandes du client (USER, PASS, LIST, RETR, STOR, QUIT…) et les réponses numérotées du serveur (220, 230, 226…)
Canal de donnéesVariable selon le modeLe contenu des fichiers et des listes de répertoires. Une nouvelle connexion est ouverte pour chaque transfert.

Le canal de commandes reste ouvert pendant toute la session.

Mode actif et mode passif

Toute la difficulté de FTP tient à une question : qui ouvre le canal de données ?

Mode actif (commande PORT)Mode passif (commande PASV)
Qui ouvre la connexion de données ?Le serveur se connecte au clientLe client se connecte au serveur
Qui choisit le port ?Le client annonce le port où il attendLe serveur annonce le port où il attend
Derrière un pare-feu ou un NAT côté clientBloqué : une connexion entrante vers le client est refuséeFonctionne : toutes les connexions partent du client
Usage aujourd’huiRareMode par défaut des clients

Décoder la réponse PASV

En mode passif, le serveur répond par exemple :

227 Entering Passive Mode (192,168,10,40,195,80)

Les quatre premiers nombres forment l’adresse IP : 192.168.10.40. Les deux derniers forment le port : 195 × 256 + 80 = 50 000. Le client ouvre alors une connexion vers 192.168.10.40, port 50 000, pour le transfert.

Manipulation : piloter FTP à la main

# Terminal 1 : le canal de commandes
$ nc 192.168.10.40 21                # ou : telnet 192.168.10.40 21
220 (vsFTPd 3.0.3)
USER etudiant
331 Please specify the password.
PASS ********
230 Login successful.
PASV
227 Entering Passive Mode (192,168,10,40,195,80)
LIST

# Terminal 2 : le canal de données, sur le port calculé
$ nc 192.168.10.40 50000             # la liste du répertoire s'affiche ici

© 2026 Bruno Jousseaume. Ce cours est publié sous licence CC BY-NC-SA 4.0 : vous pouvez le partager et l’adapter en citant l’auteur et un lien vers cette page, sans usage commercial, et en partageant vos adaptations sous la même licence.

Pour aller plus loin

Configurer les paramètres réseau sous Linux

Mode opératoire pour les familles Debian (ifupdown, Netplan) et Red Hat (NetworkManager, nmcli, keyfile) : cohérence de la configuration, adresses privées et publiques, passage DHCP ↔ adresse fixe, DNS interne et redirecteurs, vérification et dépannage.

Intermédiaire21 octobre 2026

Configurer les paramètres réseau sous Windows

Mode opératoire pour Windows 10 / 11 et Windows Server : interface graphique, PowerShell et netsh, cohérence de la configuration, adresses privées et publiques, passage DHCP ↔ adresse fixe, DNS interne et redirecteurs, vérification et dépannage.

Intermédiaire21 octobre 2026