230 likes | 570 Views
Description du modèle client-serveur. Plan du cours. Présentation des Processus Client-Serveur Le démarrage des Processus Serveurs. Présentation des processus clients. Présentation des processus serveurs. Le démarrage des Processus Serveurs. Présentation du démon inetd
E N D
Plan du cours • Présentation des Processus Client-Serveur • Le démarrage des Processus Serveurs
Le démarrage des Processus Serveurs • Présentation du démon inetd • Configuration du démon inetd • Les étapes de fonctionnement • Présentation des ports réseau • Démarrage de services qui utilisent un port bien connu • Le Démarrage des Services RPC • L’Utilisation des Commandes rpcinfo
Présentation du démon inetd (1/2) • S’exécute sur chaque système • Démarre les processus serveurs qui ne démarrent pas automatiquement. • Démarré par /etc/rc2.d/S72inetsvc • Le démon (inetd) lance les processus lorsqu’il reçoit une requête. • Ecoute le réseau à la place du processus. • Exécute la commande associée dans le fichier inetd.conf.
Configuration du démon inetd (1/2) • Le démon inetd charge les processus spécifiés dans le fichier /etc/inet/inetd.conf • Services de base: • Ftp, Telnet, Shell, Login, Exec, Tftp, Finger, Printer • # cat /etc/inet/inetd.conf • (contenu supprimé) • # TELNETD - telnet semer daemon • telnet stream tcp6 nowait root /usr/sbin/in.telnetd in.telnetd • # smserverd to support removable media devices • 100155/1 tli rpc/ticotsord wait root • /usr/lib/smedia/rpc.smsemerd rpc.smserverd • # REXD - rexd semer provides only minimal authentication • #rexd/l tli rpc/tcp wait root /usr/sbin/rpc.rexd rpc.rexd • # FTPD - FTP semer daemon • ftp stream tcp6 nowait root /usr/sbin/in.ftpd in.ftpd -a • (contenu supprimé)
Les étapes de fonctionnement • Un utilisateur sur la machine machineA tape la commande suivante : telnet machineB • Le service telnet est un service bien connu, le port pour ce service est le port 23 • Le paquet SYN qui part de machineA va aller sur le port 23 de la machineB • A l’origine, inetd écoute sur le port 23 de la machineB. Lorsqu’il reçoit le paquet de connexion, il regarde dans /etc/services pour voir à quel service il correspond… -> telnet • Le daemon inetd consulte son fichier de conf pour trouver une entrée correspondante au service demandé. Il trouve la ligne correspondant à la ligne de service de telnet • Le daemon inetd exécute le processus in.telnetd. Celui ci prend le contrôle de la communication • Le daemon in.telnetd reçoit le trafic et tourne jusqu’à la fin de la connexion
Présentation des ports réseau • Il existe deux approches de l’affectation des ports: • Port fixe : La machine connaît à l’avance le port qui va être utilisé par le programme (Serveur). • Port dynamique : La machine doit affecter un port dynamiquement (Client). • Les ports fixes sont identifiables via le fichier: • /etc/inet/services • # grep telnet /etc/inet/services • telnet 23/tcp
Démarrage de services qui utilisent un port bien connu • Deux catégories existent: • Les services qui démarre avec le système • Initialisé par un script spécifique. • Chargé en mémoire en permanence. • Le numéro de port se trouve dans /etc/inet/services. • Ex : sendmail ( /etc/rc2.d/S88sendmail) – TCP/25. • Les services qui démarre sur demande • Démarré à l’aide du démon inetd (inetd.conf). • Chargé en mémoire à la demande. • Le numéro de port se trouve dans /etc/inet/services. • Ex: telnet – TCP/23
Démarrage des services RPC • Développé à l’aide d’utilitaires mis au point par Sun. • Chacun a un numéro de programme (/etc/rpc) • Chaque programme a un port (>32768) • Ils sont gérés par le processus rpcbind (Port 111) • Cela inclus 2 catégories: • Les services RPC qui démarrent avec le système • Il communique ces informations à rpcbind. • Les services RPC qui démarrent sur demande • Sont lancés par rpcbind.
Utilisation des commandes rpcinfo • rpcinfo -p permet de recueillir des informations sur les services RPC • rpcinfo –d permet la suppression de l’enregistrement d’un service RPC • Pour recharger les services du inetd.conf • # rpcinfo –p localhost • program vers proto port service • 100000 4 tcp 111 rpcbind • 100000 2 udp 111 rpcbind • 100232 10 udp 32772 sadmind • 100083 1 tcp 32771 • # rpcinfo –d 100012 1 • # pkill –HUD inetd