Chaque serveur TCP doit se voir attribuer son propre numéro de port. Ce numéro joue un double rôle : il indique comment un client se connecte au serveur et comment il est différencié de tous les autres programmes serveurs qui pourraient s’exécuter sur le même ordinateur.
Les serveurs
Examiner le port
standard qui fonctionnent sur des réseaux TCP/IP utilisent des numéros de ports standard. Par exemple, 21 pour FTP, 22 pour Secure Shell (SSH), 23 pour Telnet, 25 pour SMTP, et 80 pour HTTP. Pour se relier à ces serveurs, on se connecte à leurs numéros de ports. Ainsi, pour envoyer du courriel au moyen du protocole SMTP, le programme doit se connecter au port 25. Plutôt que de coder en dur ces numéros dans vos programmes, je vous conseille de les consulter dans la table de services de votre ordinateur.
La table de services est simplement un fichier que l’on peut utiliser pour consulter un service donné et obtenir le numéro de port correspondant. Attention, cela ne signifie pas que le service est actif sur votre ordinateur ! C’est tout simplement une référence croisée entre le nom lisible en clair et le numéro du port. Vous pouvez consulter interactivement la table de services de votre système à l’aide de la commande WRKSRVTBLE (Work with Service Table Entries).
Votre programme peut utiliser l’API getservbyname() pour consulter des valeurs dans la table de services. Les paramètres de getservbyname() sont au nombre de deux : le service que vous voulez consulter et le protocole que vous utilisez pour ce service. En A de la figure 3, je consulte le service SMTP pour une utilisation avec le protocole TCP.
Si elle réussit, l’API getservbyname() renvoie un pointeur vers une structure de données appelée servent. Elle renvoie *NULL si le service n’a pu être trouvé dans la table de services. Ici, pour les besoins de l’exemple, je me retrouve sur un numéro de port codé en dur si le service SMTP n’a pu être trouvé (en B). De cette manière, l’utilisateur peut changer sa table de services afin que SMTP soit sur un port différent, et mon programme utilise n’importe quel port configuré par l’utilisateur. Toutefois, si l’utilisateur supprime accidentellement le service SMTP de la table de services, mon programme fonctionne quand même.
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- De l’inventaire à l’action : l’Asset Management au service d’un Numérique plus responsable
- IA et bureaucratie : la complexité qui grève les projets
- IA dans les services financiers : priorité stratégique, mais passage à l’échelle sous tension
- Data streaming : le nouveau socle stratégique de l’IA en entreprise
Articles les + lus
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
À la une de la chaîne Tech
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
