Réseau / Plages de ports connus, enregistrés et dynamiques
Les numéros de port réseau vont de 0 à 65535. L’IANA distingue les ports connus (0–1023), enregistrés (1024–49151) et dynamiques ou privés (49152–65535). Ces plages décrivent l’attribution des numéros : elles ne suffisent pas à identifier l’application qui communique ni à décider ce qu’un pare-feu doit autoriser.
Les trois plages de numéros de port
L’Internet Assigned Numbers Authority (IANA) gère le registre des noms de service et des ports par protocole de transport. Les plages définies par la RFC 6335 sont les suivantes.
| Catégorie | Numéros | Signification |
|---|---|---|
| Ports connus System / Well-Known Ports |
0~1023 | Numéros de service attribués selon les procédures plus strictes de l’IANA pour les ports système |
| Ports enregistrés User / Registered Ports |
1024~49151 | Plage de numéros de service enregistrés et attribués par l’IANA |
| Ports dynamiques ou privés Dynamic / Private Ports |
49152~65535 | Usage local et dynamique ; l’IANA ne les attribue pas comme identifiants de service |
Tous les numéros de la plage « enregistrée » ne sont pas enregistrés. Distinguez numéros attribués, non attribués et réservés. Le 0 fait partie de l’espace numérique, mais le registre IANA le réserve pour TCP et UDP : ce n’est pas un exemple de port de service ordinaire.
Pourquoi associer le numéro à TCP ou UDP ?
Une adresse IP désigne une adresse source ou destination ; un port distingue le service ou la socket qui traite la communication à cette adresse. TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) ont des espaces de numérotation distincts. TCP 53 et UDP 53 doivent donc être considérés séparément malgré leur numéro identique.
Les exemples courants comprennent HTTP sur TCP 80, HTTPS sur TCP 443 et SSH (Secure Shell) sur TCP 22. Le DNS (Domain Name System, système de noms de domaine) utilise le port 53 en TCP et UDP. Dans la plage enregistrée, on trouve notamment MySQL sur TCP 3306 et le bureau à distance sur TCP 3389. Ces exemples ne remplacent ni la liste complète des transports enregistrés ni la configuration réelle.
Un serveur peut écouter sur un autre numéro et un programme différent peut utiliser un numéro familier. Un TCP 3306 ouvert ne prouve ni la présence de MySQL ni la sûreté du trafic. L’IANA précise aussi qu’un enregistrement ne constitue pas une approbation du produit et ne garantit pas que le trafic correspond au service attribué.
Port serveur et port éphémère du client
Lorsqu’un client se connecte au TCP 443 du serveur, les deux extrémités n’utilisent pas forcément 443. L’exemple fictif suivant suppose un port source 51514. Le numéro réel dépend du système et de la connexion.
TCP: client:51514 -> server:443
TCP: server:443 -> client:51514
Le 443 du serveur est le port de destination du service ; le 51514 du client est son port local éphémère. Source et destination s’inversent pour la réponse. Une connexion TCP se distingue par le protocole et les couples adresse IP/port des deux extrémités : un port ne signifie donc pas une seule connexion.
« Privé » ne signifie ni adresse IP privée ni blocage automatique depuis l’extérieur. Un numéro de cette plage n’est pas non plus toujours libre. Si un appareil ou une traduction d’adresses réseau (NAT, Network Address Translation) intermédiaire modifie adresses ou ports, les informations visibles peuvent varier selon le point d’observation.
Consulter la plage éphémère réelle du système
Distinguez la plage dynamique IANA de celle utilisée automatiquement par le système. La documentation Microsoft des ports dynamiques décrit la plage par défaut 49152–65535 depuis Windows Vista et Server 2008, mais une consultation du système confirme sa configuration actuelle.
Sous Windows, exécutez ces commandes dans PowerShell ou l’invite de commandes. Vérifiez séparément IPv4, IPv6, TCP et UDP. Ces consultations ne modifient aucun paramètre.
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp
Lisez le port initial et le nombre de ports. Avec un début à 49152 et 16384 ports, le dernier est 49152 + 16384 - 1 = 65535. Ne confondez pas le nombre de ports avec le dernier numéro. Le résultat décrit la sélection automatique, pas la disponibilité actuelle de chaque numéro.
Sous Linux, consultez le fichier suivant pour connaître la plage locale. Exécutez la commande dans l’environnement Linux qui assure réellement la communication.
cat /proc/sys/net/ipv4/ip_local_port_range
Les deux entiers sont les premier et dernier numéros. La documentation du noyau Linux sur ip_local_port_range donne 32768 et 60999 par défaut ; distribution et configuration peuvent différer. Les ports réservés influent aussi sur l’allocation automatique : toute la plage n’est pas nécessairement sélectionnable.
Vérifications pour une connexion ou un pare-feu
- Définir cible et protocole. Identifiez l’adresse IP du serveur, TCP ou UDP et le port de destination. Comparez le registre IANA à la configuration effective.
- Vérifier l’écoute du serveur. Une application active peut écouter sur un autre port ou seulement une adresse locale. Distinguez logiciel installé et écoute sur l’adresse et le port souhaités.
- Examiner le chemin. Vérifiez pare-feu du système et du réseau, règles cloud, redirection de ports et NAT. Précisez sens, source et destination ; connaître la plage éphémère ne justifie pas de l’exposer entièrement.
- Tester avec l’application réelle. Une connexion TCP réussie ne prouve pas le bon fonctionnement de l’authentification ou du service. N’appliquez pas les résultats TCP à UDP ; choisissez un contrôle adapté au service.




