zion -  services


Nom

services - Liste des services internet.

Description

services est un fichier de texte ASCII fournissant une correspondance entre un nom intelligible décrivant un service internet et l'ensemble numéro de port / protocole utilisé. Chaque programme réseau devrait consulter ce fichier pour obtenir le numéro de port et le protocole sous-jacent au service qu'il fournit. Les fonctions de la bibliothèque C getservent (3), getservbyname (3), getservbyport (3), setservent (3), et endservent (3) permettent d'interroger ce fichier depuis un programme. Les numéros de ports sont affectés par le IANA (Internet Assigned Numbers Authority), et leur politique actuelle consiste à assigner à la fois les protocoles TCP et UDP à chaque numéro de port. Ainsi la plupart des services auront deux entrées, même si elles n'utilisent que le protocole TCP. Les numéros de ports en-dessous de 1024 ne peuvent être assignés à une socket que par un programme Super-User (voir bind (2), tcp (7), et udp (7). C'est ainsi que les clients se connectant sur ces ports de petits numéros peuvent être sûrs que le service correspondant est une implémentation standard et non pas le bricolage d'un utilisateur. Normalement les ports biens connus (well-known) affectés par le IANA se situent dans cet espace réservé au Super-User. La présence d'une ligne indiquant un service dans le fichier services ne signifie pas nécessairement que le service en question est disponible sur la machine. Voir inetd.conf (5) pour la configuration des services Internet offerts. Notez que tous les services réseau ne sont pas obligatoirement lancés par inetd (8), et n'apparaîtront donc pas toujours dans inetd.conf (5). En particulier les serveurs de News (NNTP) et de courrier (SMTP) sont souvent initialisés par le système dans les scripts de démarrage. L'emplacement du fichier services est défini par la constante _PATH_SERVICES dans /usr/include/netdb.h . C'est généralement /etc/services . Chaque ligne décrivant un service est de la forme
    f2service-name portf3/f2protocole f1[f2alias ...f1]

    où :

service-name
    est le nom intelligible du service. La différence majuscule/minuscule est importante. Souvent le programme client possède un nom rappelant celui du service.

port
    est le numéro de port (en décimal) utilisé pour ce service.

protocol
    est le type de protocole utilisé, il doit s'agir d'un nom déclaré dans le fichier protocols (5). Les protocoles les plus courants sont tcp et udp .

alias
    est une liste éventuelle d'autres noms se référant au même service, séparés par des espaces ou des tabulations (voir section BOGUES plus bas). Encore une fois, la différence majuscule/minuscule est importante.


Les différents champs sont séparés par des espaces ou des tabulations. Un signe # débute un commentaire, qui s'étendra jusqu'à la fin de la ligne. Les lignes blanches sont ignorées. Le champ service-name doit débuter à la première colonne du fichier, car les espaces en tête de ligne ne sont pas éliminés. service-name peut contenir n'importe quel caractère imprimable, sauf espace et tabulation. Il est néanmoins déconseille d'utiliser d'autres caractères que a-z, 0-9, et le tiret (-). Les lignes ne se conformant pas à ce format sont ignorées silencieusement par getservent (3), getservbyname (3), et getservbyport (3), mais ce comportement peut changer. A titre de compatibilité avec les versions précédentes, le slash (/) entre le numéro de port et le nom du protocole peut être également remplacé par une virgule, mais c'est déconseillé. Ce fichier peut être diffusé sur le réseau en utilisant des services comme Yellow Pages/NIS ou BIND/Hesiod .

Exemple

.nf $ ls -l /etc/services -rw-r--r-- 1 root root 3432 Feb 16 1996 /etc/services $ cat /etc/services ... netstat 15/tcp qotd 17/tcp quote msp 18/tcp # message send protocol msp 18/udp # message send protocol chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp 21/tcp # 22 - unassigned telnet 23/tcp ... $ .fi

Bugs

Il y a un maximum de 35 alias par service à cause des limitations de getservent (3). Les lignes plus longues que BUFSIZ (actuellement 1024) sont ignorées par getservent (3), getservbyname (3), et getservbyport (3). De plus la ligne suivante sera mal interprétée.

Fichiers

/etc/services
    La liste des services internet.

/usr/include/netdb.h
    Définition de _PATH_SERVICES .


Voir aussi

getservent (3), getservbyname (3), getservbyport (3), setservent (3), endservent (3), protocols (5), listen (2), inetd.conf (5), inetd (8) RFC "Assigned Numbers", actuellement RFC 1700, (AKA STD0002) Guide to Yellow Pages Service Guide to BIND/Hesiod Service

Traduction

Christophe Blaess, 1996-2003.

Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?