Examen de TP de Réseaux - L3 Informatique
Durée 3h. Les documents de cours et codes sources des TP sont autorisés.
Mise en place des machines virtuelles
Vous devez commencer par mettre en place vos machines virtuelles si vous avez changé de PC.
bruno@licinfo1:/usr/local/vbox/vdi$ ./managevirtualmachines.sh clonemaster all bruno@licinfo1:/usr/local/vbox/vdi$ ./managevirtualmachines.sh create all
dhclient eth0
ou dchlient eth1
en root dans la machine virtuelle
En cas de problème, supprimer toutes les machines : ./managevirtualmachines.sh remove all
, puis lancer virtualbox et supprimer les machines qui resteraient ainsi que les disques dur dans le gestionnaire de media, puis recréez.
EXO1 (6 points) - Etude des machines
Vous donnerez les réponses questions dans le fichier exo1.txt
en indiquant dans quels fichiers ou avec quelles commandes vous avez obtenu ces informations.
- Quelles sont les nom, adresses IP et MAC de la machine hôtes sur laquelle vous êtes connecté ?
- Comment son adresse IP est-elle attribuée ?
- Quels sont ses DNS et passerelles ?
- Quelle est l’adresse MAC de la machine deug12.univ-tln.fr ?
- Comment vérifier simplement qu’un serveur écoute sur le port TCP 110 de la machine pop.univ-tln.fr ? Il s’agit d’un serveur POP qui s’appuie sur un protocole composé de commandes envoyées en ASCII. A la commande
CAPA
un serveur POP retourne une liste de fonctions disponibles. quelles sont-elles pour ce serveur ?
EXO2 (6 points) - SSH
Vous donnerez la liste des commandes qui répondent aux questions suivantes dans le fichier exo2.txt
.
- A partir de votre répertoire
home
sur la machine hôte, copier le fichier local/var/log/syslog
dans le répertoire de login de l’utilisateuruser
de la machineclient
. - A partir de votre répertoire
home
sur la machine hôte, copier le fichier local/var/log/syslog
dans le répertoire/tmp
de la machineclient
. - A partir de votre répertoire
home
sur la machine hôte, copier le fichier de la machineclient
/var/log/auth.log
dans le répertoire/tmp
de l’hôte en le renommant enX.txt
- Depuis la machine hôte, exécuter la commande
ls
en tant que root sur la machineclient
. - En
root
sur la machineclient
avec la commandeadduser
, créer l’utilisateuruser2
. Mettez en place, les clés ssh pour que les utilisateursuser
etuser2
puissent se connecter sans mot de passe sur le compte root de la machineinternanet
.
EXO3 (3 points) - Ecoute
Vous mettrez vos réponses dans le fichier exo3.txt
.
- Copier le fichier /home/perso/bruno/mystere sur la machine
client
. Ce programme effectue une action sur le réseau, à l’aide de wireshark, expliquez en détail laquelle.
EXO4 (5 points) - Socket
En vous inspirant des exemples du TP sur les socket. Ecrivez un serveur (AdditionneurServeur.c
) et son client (AddClient.c
). Le protocole est le suivant : le serveur envoie un message de bienvenue que le client affiche, ensuite le client envoie des entiers, à chaque entier reçu le serveur l’ajoute à la somme des entiers précédents en maintenant un compteur initialisé à zéro et retourne cette somme après chaque entier au client qui l’affiche.
AdditionneurServer.c
fonctionne de la façon suivante :- À son lancement, le serveur affiche sur sa console son adresse et son numéro de port d’attachement local.
- Puis il envoie au client un message d’accueil (
Welcome on AdditionneurServeur
). - Le serveur attend ensuite un entier et retourne à chaque fois la somme de cet entier avec les précédents au client.
- Lorsqu’une valeur négative est reçue le serveur s’arrête.
- Écrire le programme
AddClient.c
qui prend en argument l’adresse IP et le port d’un serveur. Après la connexion, le client affiche le message de bienvenue qui vient du serveur, il permet ensuite de saisir des entiers au clavier, de les envoyer au serveur et d’afficher les réponses.
- Un défi en bonus pour les informaticiens écrire une version multiclients
MajTCPMultiServer.c
qui permet à plusieurs clients de se connecter. Il faudra un fork pour les connexions multiples et un sémaphore pour s’assurer que l’addition est en exclusion mutuelle.