Serge Hartmann wrote:

On Tue, 11 Jan 2005 [EMAIL PROTECTED] wrote:
Est ce qu'un port peut être ouvert sans avoir de serveur ou client qui lui soit
associé ?
Bref, un port peut il exister sans avoir de liens avec un programme ?

oui, il te suffit de regarder dans ton /etc/services pour t'en convaincre.

le port n'est pas une notion de serveur au sens fonctionnel mais
uniquement au sens tcp.
or un port tcp peut être client tcp (par opposition au serveur tcp, qui
écoute sur un port).
Je viens de lire la question et la réponse à cette question réseaux et je me permets d'ajouter quelques précisions au sujet des ports ouverts: Lorsque le système reçoit un paquet ip (couche réseau) qui lui est destiné il examine ce paquet pour savoir à qui l'adresser . C'est l'identification du protocole, exemple: tcp ou udp. C'est là que le fichier /etc/protocols intervient car il contient la liste des protocoles reconnus. Dans le cas ou le protocol est de type udp ou tcp, c'est les données contenues dans le fichiers /etc/services qui permet de savoir à quels services est associé le numéro de port contenu en destination par le paquet reçu. Ce fichier associe en effet le numéro de port au service normalement utilisable par le système. Malgré tout ce n'est pas pour cela que le port est considéré comme ouvert (c'était l'objet de la question). En effet pour qu'un port soit ouvert il faut qu'un programme l'ai ouvert (ouverture de socket). Pour avoir une petite idée de ce qui est ouvert et du programme associé il suffit d'utiliser la commande "netstat -tapun" (avec les privilèges). Là on peut vérifier par exemple que la liste des services gérés par xinetd est associé au programme xinetd (exemple classique telnet). Mais on peut voir aussi que d'autres ports associés à d'autres programmes (ça dépend de la config du système) sont aussi ouvert et ne sont pas gérés par xinetd. C'est le cas généralement de Samba (smb). Donc à la question " un port peut-il être ouvert sans être lié à un programme?" la réponse est non.

Xinetd est le service qui gère les ports (ouvert ou non) sur la machine ?

xinetd est la version étendue et sécurisée d'inetd, le grand vizir de tous
les démons.
en effet, parmi ses attributions, il se charge d'écouter ce qu'il se passe
sur les ports et de déléguer la gestion des données tcp de ce port à un
serveur spécialisé (apache, postfix, inn, etc).
Comme le dit Serge, xinetd gère des ports (udp ou tcp), c'est à dire, est à l'écoute sur les ports qui lui sont assignés et lance les programmes correspondant en fonction des demandes qui arrivent (ex: telnetd lorsqu'un paquet tcp arrive sur le port 23). Par contre, et je pense que c'est clair maintenant :), xinetd ne gère pas tous les ports.

_ Pierre _




Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à