Ports et services
L'adresse IP ne suffit pas
Une adresse IP identifie un appareil sur le réseau. Mais un même ordinateur peut faire tourner des dizaines de services en même temps : un serveur web, un serveur email, une base de données, SSH…
Comment savoir quel service doit recevoir le paquet qui arrive ? C'est là qu'intervient le port.
Analogie : l'adresse IP, c'est l'adresse d'un immeuble.
Le port, c'est le numéro d'appartement.
Pour joindre quelqu'un précisément, tu as besoin des deux :
adresse IP : port.
// Adresse complète : IP + Port
93.184.216.34:443
│ │
│ └─ port 443 = HTTPS
└──────────────── adresse IP du serveur
// Même serveur, services différents selon le port
93.184.216.34:80 → site web HTTP
93.184.216.34:443 → site web HTTPS
93.184.216.34:22 → SSH (administration)
La plage de ports
Les ports vont de 0 à 65535. Ils sont divisés en trois catégories :
// Plages de ports
0 – 1023 → Ports bien connus // réservés aux services standards
1024 – 49151 → Ports enregistrés // applications courantes (MySQL, etc.)
49152 – 65535 → Ports dynamiques // utilisés temporairement par le client
Les ports à connaître
Quelques ports sont tellement standardisés que tout le monde les connaît :
// Ports standards — à mémoriser
Port 21 → FTP // transfert de fichiers (non chiffré)
Port 22 → SSH // connexion sécurisée à distance
Port 25 → SMTP // envoi d'emails
Port 53 → DNS // résolution de noms de domaine
Port 80 → HTTP // web non chiffré
Port 110 → POP3 // réception d'emails
Port 143 → IMAP // réception d'emails (synchronisé)
Port 443 → HTTPS // web chiffré (TLS) ← le plus courant
Port 3306 → MySQL // base de données
Port 5432 → PostgreSQL// base de données
Port 6379 → Redis // cache / base clé-valeur
Port 8080 → HTTP alt // souvent utilisé pour dev / proxy
Les ports en dessous de 1024 nécessitent des droits administrateur pour être ouverts. C'est pour ça que les serveurs web tournent souvent sur le port 80 ou 443 avec un utilisateur privilégié, ou via un reverse proxy.
Le firewall — gardien des ports
Un firewall (pare-feu) est un système qui contrôle quel trafic réseau est autorisé ou bloqué, basé sur des règles. Il décide : ce paquet peut-il entrer ou sortir ?
// Firewall — règles basiques
INTERNET ──→ FIREWALL ──→ Serveur
│
AUTORISE : port 80 (HTTP) → passe
AUTORISE : port 443 (HTTPS) → passe
BLOQUE : port 3306 (MySQL) → refusé
BLOQUE : port 22 (SSH) → refusé depuis internet
Un firewall bien configuré n'expose que les ports strictement nécessaires. Ton serveur MySQL n'a pas besoin d'être accessible depuis internet — le firewall ferme ce port aux connexions externes.
Exposer un port MySQL (3306) ou Redis (6379) sur internet sans protection, c'est une des erreurs les plus courantes. Des robots scannent constamment tous les ports sur toutes les adresses IP publiques. Si un port est ouvert et non protégé, il sera trouvé.
Comment ton navigateur utilise les ports
Quand tu tapes une URL dans ton navigateur, il utilise automatiquement le bon port :
// Ports implicites dans les URLs
http://example.com → port 80 (implicite)
https://example.com → port 443 (implicite)
http://localhost:3000 → port 3000 (explicite)
https://example.com:8443 → port 8443 (explicite non-standard)
Tu n'as jamais besoin de taper :443 pour aller sur un site HTTPS —
le navigateur le sait déjà. Mais si un service tourne sur un port non-standard
(comme :3000 en développement), il faut l'indiquer explicitement.
- Port = numéro d'appartement dans l'immeuble (l'immeuble = l'adresse IP).
- Ports : 0–65535. En dessous de 1024 → services standards, droits admin requis.
- 22=SSH, 25=SMTP, 53=DNS, 80=HTTP, 443=HTTPS, 3306=MySQL.
- Firewall = gardien qui autorise ou bloque selon les ports et règles définies.
- Ne jamais exposer les ports de BDD (3306, 5432, 6379) sur internet directement.