À quoi sert le fichier Windows drivers \ etc \ services?

8

Normalement, il y a un fichier "services" dans C: \ Windows \ System32 \ drivers \ etc, il répertorie les services en cours d'exécution et le port à utiliser.

Mais que signifie le mot "service" ici? Ce n'est pas le "service Windows", qui peut être vu lorsque vous exécutez "services.msc". Ces 2 listes ne correspondent pas.

Et, le contenu de ce fichier "services" pourrait être obsolète - personne pour le mettre à jour: les programmes peuvent toujours communiquer via un port sans mettre à jour le fichier "services", s'ils ont un accord; aussi, si un programme n'est pas en cours d'exécution, un port n'est pas pris, le "fichier de services Windows" n'est pas non plus mis à jour.

Alors, à quoi sert ce fichier?

Où pourrais-je trouver des documents? Peut-être en raison du nom de fichier populaire, j'ai cherché sur Internet, mais la plupart des liens concernent les «services Windows» ... pas ce «fichier des services Windows» ...

ÉDITER:

Une dernière question, étant donné que le fichier "services" peut être obsolète, existe-t-il un moyen de répertorier tous les "services" actifs?

athos
la source

Réponses:

7

Ce fichier indique aux services écrits par Microsoft le port à utiliser, ainsi que les fichiers qui souhaitent utiliser les API Windows et / ou ce fichier pour transformer un nom de service en port. Ces noms de service sont définis par l'IETF.

Voici un exemple d'instructions pour changer un port pour faire de la place à un autre serveur SMTP.

Et voici plus d'explications sur les noms de service:

nom_service [en]

Une chaîne terminée par NULL qui contient le nom du service ou le port de destination de l'hôte sur lequel se connecter pour IPv4 ou IPv6.

Un nom de service est un alias de chaîne pour un numéro de port. Par exemple, «http» est un alias pour le port 80 défini par l'Internet Engineering Task Force (IETF) comme le port par défaut utilisé par les serveurs Web pour le protocole HTTP. Les valeurs possibles pour le paramètre servicename lorsqu'un numéro de port n'est pas spécifié sont répertoriées dans le fichier suivant: %WINDIR%\system32\drivers\etc\services

- MSDN - Winsock - Fonction WSAConnectByName

Tamara Wijsman
la source
2
Plus précisément, le fichier de services sauvegarde l' [getservbyname](http://msdn.microsoft.com/en-us/library/windows/desktop/ms738538(v=vs.85).aspx)API qui traduit un nom de service en un numéro de socket.
Richard
@Richard: Peut-être, mais cela ne le mentionne pas services.
Tamara Wijsman
c'est donc un concept Windows Socket? désolé je ne suis pas familier ici ... est-ce que Windows Socket est un protocole inférieur à HTTP, TCP / IP, FTP, de sorte que la définition effectuée au niveau de Windows Socket peut réguler le comportement au niveau HTTP, TCP / IP ou FTP?
athos
@athos: Non, ce n'est pas un protocole. Les services Windows traduisent tout d'abord le nom du service (par exemple http) dans le port de service (par exemple 80pour http), puis fournissent ce port de service au protocole approprié (TCP / IP).
Tamara Wijsman
4
Sidenote: Le nom, l'utilisation et le format de ce fichier proviennent d'Unix où se trouve le fichier /etc/services. Microsoft a adopté cela quand il a commencé à remplacer son protocole de mise en réseau propriétaire Netbeui par les protocoles TCP / IP open source qui devenaient de plus en plus importants. Voir kuro5hin.org/story/2001/6/19/05641/7357
RedGrittyBrick