1. Installation de Kathara
Tous les TPs de réseau effectués à distance utiliseront le logiciel Kathara. La première étape est donc d'installer Kathara. Une FAQ se situe en fin de document récapitulant les problèmes typiques.
- Kathara nécessite l'installation préalable de docker:
- Sous windows:
- Téléchargez et installez https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
- Rebootez
- Téléchargez et installez docker desktop à la page https://www.docker.com/get-started
- Rebootez. Lancez docker desktop et attendez un peu
- Sous Linux, tout dépend de votre gestionnaire de paquets, normalment le package s'appelle docker.io (et non pas docker)
- Sous Mac, téléchargez et installez docker à la page https://www.docker.com/get-started
- Sous windows:
- Il faut ensuite télécharger l'image qu'on utilisera pour tous les TPs en utilisant la commande suivante dans un terminal:
docker pull ejeandel/kathara-ul
- Il reste à télécharger et installer Kathara, il suffit de le télécharger à l'adresse https://www.kathara.org/ et de suivre les instructions.
- Pour ubuntu, les lignes suivantes devraient fonctionner:
sudo add-apt-repository ppa:katharaframework/kathara sudo apt-get update sudo apt install kathara
- Pour OSX, si vous avez une vieille version d'OSX (High Sierra, Mojave), vous pouvez télécharger la version suivante, plutôt que la version sur le site web. Si vous avez un apple M1, il vous faudra trouver un autre ordinateur.
- Pour ubuntu, les lignes suivantes devraient fonctionner:
2. Premier test
- Téléchargez et décompressez le fichier TP1.zip.
- Ouvrez un terminal/powershell et déplacez-vous dans le répertoire où vous avez décompressé le fichier (là où se trouve le fichier lab.conf)
- Exécutez la commande
kathara lstart
- La commande que vous venez de lancer devrait ouvrir plusieurs fenêtres. Ca peut prendre un certain temps la première fois. Si aucune fenêtre ne s'ouvre, c'est que vous avez mal installé Kathara e/o docker. Dans ce cas voyez avec votre chargé-e de TP pour résoudre le problème. Sinon vous pouvez passer à la suite.
- Vous devriez donc voir deux fenêtres apparaître. Chacune des fenêtres correspond à un PC différent.
- Tapez la commande suivante dans pc1, et déduisez-en le nom de votre machine.
hostname
- Tapez les deux commandes suivantes dans
pc1
ifconfig -a ip addr show
- Déduisez de ces commandes
- Le nombre d'interfaces réseau de votre machine, et leur nom
- Les adresses MAC de ces interfaces réseaux
- Les adresses IP de ces interfaces réseaux, si elles en ont.
- Les adresses des réseaux auxquels sont connectés votre machine (précisez s'il s'agit de réseaux publics ou privés)
- Tapez les deux commandes suivantes
route -n ip route
- Déduisez la table de routage de votre machine
- Dans les deux cas suivants, on souhaite envoyer un message à l'IP indiquée. Expliquez ce qui va se passer. On vérifiera avec la commande
ip route get IP
140.77.23.17
192.168.141.140
- Trouvez l'adresse IP et l'adresse mac de la machine
pc13
.
- A partir de la machine
pc1
, tapez la commandeping xxx.yyy.zzz.www
oùxxx.yyy.zzz.www
désigne l'IP de la machinepc13
. Vérifiez que la commande fonctionne (ctrl-C pour quitter).
- Dans le terminal où vous avez lancer Kathara, tapez la commande
kathara lclean
- Les deux machines devraient maintenant être éteintes.
3. Répertoire /shared
- Relancez Kathara
- Dans votre système d'exploitation, créer un fichier
toto.py
dans le répertoireshared
avec la ligne suivante (Si vous êtes sous windows, il est conseillé d'utiliser un vrai éditeur de fichier et non pasnotepad
, sinon vous pourriez avoir des problèmes)print("bonjour!")
- Vérifiez que ce fichier
toto.py
apparaît dans les machinespc1
etpc13
dans le répertoire/shared
- Lancez la commande suivante, et vérifiez que tout va bien.
python3 toto.py
- Quittez Kathara (ou laissez-le ouvert)
4. Wireshark
- Lancer Kathara
- Lancer le fichier
wire.sh
(ouwire.bat
si vous êtes sous windows) depuis le terminal où vous avez lancé Kathara. - Dans votre navigateur favori, allez à l'adresse
http://localhost:8086/
- Dans votre navigateur, vous voyez une troisième machine qui va pouvoir espionner les messages qui passent sur le réseau.
- cliquez sur eth1 (c'est important), vous verrez ensuite tous les paquets qui passent sur le réseau où se trouve vos deux machines. Au départ, rien ne se passe, puisque rien ne circule sur le réseau, c'est normal.
- A partir de la machine
pc1
, tapez la commandeping -n -c2 xxx.yyy.zzz.www
oùxxx.yyy.zzz.www
est l'adresse IP depc13
. - Essayez de comprendre tous les paquets que vous voyez apparaître dans votre navigateur
- Lancer le fichier
wire-stop.sh
(ouwire-stop.bat
si vous êtes sous windows) - Quitter Kathara.
5. Ping et ARP
- Relancez Kathara et wireshark
- Lancez les commandes suivantes dans un terminal du
pc1
arp -an ip -4 neigh
- Lancez la commande suivante dans un terminal
ping -n -c2 xxx.yyy.zzz.www
- Trouvez dans Wireshark les requêtes ARP correspondant au ping.
- Relancez les commandes
arp
etip -4 neigh
. Trouvez les lignes qui diffèrent. - Quittez Kathara.
6. RIPE
- En consultant
ripe.net
, trouvez à quel AS appartient l'adresse 193.50.135.38. Consultez les routes de cet AS.
7. FAQ Kathara
- Sous ubuntu, j'obtiens comme message
permission denied
quand je lancedocker pull ejeandel/kathara-ul
- Tapez dans un terminal
sudo usermod -aG docker MONLOGIN
- Puis ouvrez un nouveau terminal et reessayez depuis ce nouveau terminal (vous pouvez fermer l'ancien terminal, les commandes ne marcheront pas dans celui-ci)
- Si ça ne marche toujours pas, tapez la commande suivante dans le nouveau terminal
newgrp docker
- Tapez dans un terminal
- Sous ubuntu, j'ai le message
settings file is not valid : terminal Emulator '/usr/bin/xterm' not valid
- Le plus simple est d'installer xterm:
sudo apt install xterm
- Le plus simple est d'installer xterm: