⌂ Accueil 🌐 TCP/IP 1·Intro 2·Couches 3·Paquets 4·TCP/UDP 5·IP 6·Handshake 7·DNS 8·NAT 9·Ports 10·CIDR 11·Diag 12·Synthèse 13·Quiz 📖 Glossaire
🌐 Réseaux & Protocoles

Ports & flux applicatifs

Les 65 536 portes d'une machine : comment identifier, sécuriser et tracer les flux réseau.

Débutant ⏱ ~12 min 🔵 Intermédiaire 🏁 Palier 2/2 📖 Section 9/13
🎯

Objectifs de cette section

  • Connaître les 3 ranges de ports (well-known, registered, dynamic)
  • Identifier les ports critiques à sécuriser (21, 23, 25, 445, 3389…)
  • Lire et interpréter un flux réseau applicatif (Web, Email, VoIP, SSH)
1
Les 3 plages de ports

Un port est un entier de 16 bits (0–65 535). L'IANA divise cet espace en trois zones aux rôles distincts. Cliquez sur chaque zone pour explorer son rôle.

01 02349 15165 535
0–1023
1024 – 49151
49152 – 65535
0 – 1 023

Well-Known Ports

Réservés aux services standards du système. Root/Admin requis pour écouter sur Unix.

HTTP·80HTTPS·443SSH·22DNS·53SMTP·25FTP·21
1 024 – 49 151

Registered Ports

Enregistrés par l'IANA pour des applications spécifiques. Aucun privilège système requis.

RDP·3389MySQL·3306PostgreSQL·5432LDAP·389SIP·5060
49 152 – 65 535

Dynamic / Ephemeral

Ports source utilisés par le client lors d'une connexion sortante. Attribués dynamiquement par l'OS.

AléatoireTemporaireOS-géré
Pourquoi les ports éphémères ? Quand votre navigateur ouvre une connexion vers le port 443 d'un serveur, votre OS lui attribue automatiquement un port source aléatoire dans la plage 49152–65535 (Windows, Linux IANA). Ce numéro permet au serveur de différencier vos onglets simultanés.
2
Référence des ports courants

Filtrez par catégorie ou recherchez un numéro de port, un protocole ou un service. Les ports marqués ⚠ risqué ne doivent jamais être exposés sur Internet sans protection.

Port(s) Proto Service Catégorie Description
⚠ Ports à risque Les ports 21 (FTP), 23 (Telnet), 445 (SMB) et 3389 (RDP) exposés sur Internet sont des cibles permanentes de scan et de bruteforce. Auditez régulièrement vos règles firewall et bloquez ces ports en entrée depuis Internet.
3
Flux applicatifs

Chaque application combine plusieurs ports pour fonctionner. Explorez les diagrammes de flux pour comprendre quels ports sont ouverts à chaque étape d'une communication réelle.

🌐
Navigateur
UDP 53 DNS
🗄️
Résolveur DNS
TCP 443 + TLS
🖥️
Serveur Web
Séquence détaillée
1
UDP 53 : Résolution DNS : le navigateur demande l'IP du domaine.
2
TCP 443 : Three-way handshake SYN / SYN-ACK / ACK pour établir la connexion.
3
TLS 1.3 : Négociation de la clé de session (1 RTT), échange de certificats.
4
HTTP GET / : Requête applicative sur le tunnel chiffré.
5
200 OK + HTML : Le serveur renvoie la page. La connexion reste ouverte (keep-alive).
HTTP/3 (QUIC) HTTP/3 n'utilise plus TCP mais UDP 443 via le protocole QUIC. Plus rapide sur les réseaux mobiles, il réduit la latence en combinant handshake TLS et connexion en un seul aller-retour.
📧
Client mail
TCP 587 SMTP AUTH
📮
SMTP émetteur
TCP 25 MX lookup
📬
SMTP destinataire
Ports Email
TCP 25 : Relais SMTP serveur à serveur
TCP 587 : Envoi avec authentification (SMTP AUTH)
TCP 993 : Lecture IMAP chiffrée (IMAPS)
TCP 995 : Réception POP3 chiffrée (POP3S)
Enregistrement MX Le DNS contient un enregistrement MX (Mail eXchanger) qui pointe vers le serveur SMTP du domaine destinataire. C'est ce serveur qui reçoit le message sur le port 25.
Bonne pratique Ne jamais utiliser le port 25 depuis un client final, il est bloqué par la plupart des FAI. Utilisez toujours 587 (SMTP AUTH) ou 465 (SMTPS) pour l'envoi depuis un MUA.
📞
Client A
TCP 5060 SIP
☁️
Serveur SIP
UDP 16384+ RTP
📞
Client B
Ports VoIP
TCP 5060 : Signalisation SIP (invite, register, bye…)
TCP 5061 : SIP chiffré (SIPS/TLS)
UDP 16384–32767 : Flux audio RTP (données voix)
UDP 3478 : STUN/TURN : traversée NAT pour WebRTC
QoS indispensable pour RTP Le flux audio RTP est temps-réel et très sensible à la gigue (jitter). Sans QoS (DiffServ EF : Expedited Forwarding, DSCP 46), la voix sera saccadée sur un réseau chargé. SIP gère la signalisation, RTP transporte la voix : deux flux distincts.
💻
Client SSH
TCP 22 échange clés
🔐
Serveur SSH
Tunnel AES chiffré
🖥️
Shell distant
Séquence SSH
1
TCP 22 : Connexion TCP, échange des versions et des algorithmes supportés.
2
Diffie-Hellman : Échange de clés sans transmettre le secret. Clé de session partagée.
3
Authentification : Par clé publique (recommandé) ou mot de passe.
4
Tunnel AES : Tout le shell est chiffré. SFTP (transfert) et les tunnels utilisent ce même canal.
⚠ Port 22 exposé = bruteforce permanent Un serveur SSH accessible sur Internet reçoit des milliers de tentatives par jour. Recommandations : changer le port (ex. 2222), désactiver l'authentification par mot de passe, utiliser uniquement les clés publiques, activer Fail2Ban, restreindre l'accès par IP si possible.
4
Exercice : associer port et service

Pour chaque numéro de port affiché, sélectionnez le service correspondant dans la liste. Validez pour obtenir votre score.

5
netstat et ss en pratique

Ces commandes listent les ports en écoute sur une machine. Indispensables pour auditer une surface d'exposition ou diagnostiquer un service qui ne répond pas.

# Liste tous les ports en écoute avec le PID du processus $ sudo netstat -tulpn Proto Recv-Q Send-Q Adresse locale État PID/Programme tcp 0 0 0.0.0.0:22 LISTEN 1234/sshd tcp 0 0 0.0.0.0:80 LISTEN 5678/nginx tcp 0 0 0.0.0.0:443 LISTEN 5678/nginx tcp 0 0 127.0.0.1:3306 LISTEN 9012/mysqld tcp6 0 0 :::8080 LISTEN 3456/java udp 0 0 0.0.0.0:53 111/systemd-resolved udp 0 0 0.0.0.0:123 789/ntpd
Options -tulpn -t TCP  ·  -u UDP  ·  -l LISTEN uniquement  ·  -p PID/programme  ·  -n adresses numériques (pas de résolution DNS)
# ss : alternative moderne et plus rapide à netstat $ sudo ss -tulpn Netid État Recv-Q Send-Q Adresse locale:Port Peer:Port Process tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=1234,fd=3)) tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=5678,fd=6)) tcp LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=5678,fd=8)) tcp LISTEN 0 70 127.0.0.1:3306 0.0.0.0:* users:(("mysqld",pid=9012,fd=21)) udp UNCONN 0 0 0.0.0.0:53 0.0.0.0:* users:(("systemd-r",pid=111,fd=17))
ss vs netstat ss lit directement dans le noyau via netlink, sans passer par /proc. Il est significativement plus rapide sur des serveurs avec des milliers de connexions. Sur les distributions récentes, netstat est souvent absent par défaut : préférez ss.
# Liste les ports en écoute sous Windows (PowerShell ou cmd) > netstat -an | findstr LISTENING Proto Adresse locale Adresse distante État TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING TCP [::]:80 [::]:0 LISTENING # Avec PID : version PowerShell plus lisible : PS> Get-NetTCPConnection -State Listen | Sort-Object LocalPort | Select-Object LocalPort, OwningProcess, @{N='Process';E={(Get-Process -Id $_.OwningProcess).Name}} | Format-Table -AutoSize LocalPort OwningProcess Process 80 4 System 443 4 System 3389 1048 svchost 5040 868 svchost
Attention aux ports 445 et 3389 sous Windows Ces ports apparaissent souvent en écoute par défaut. Vérifiez qu'ils ne sont accessibles que depuis votre LAN interne, jamais depuis Internet. Utilisez Get-NetFirewallRule pour auditer vos règles de pare-feu Windows.

Voir aussi