TP1

Découverte du réseau

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.

  • 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.

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 commande
    ping xxx.yyy.zzz.www
    

    xxx.yyy.zzz.www désigne l'IP de la machine pc13. 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épertoire shared avec la ligne suivante (Si vous êtes sous windows, il est conseillé d'utiliser un vrai éditeur de fichier et non pas notepad, sinon vous pourriez avoir des problèmes)

    print("bonjour!")
    

  • Vérifiez que ce fichier toto.py apparaît dans les machines pc1 et pc13 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 (ou wire.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 commande
    ping -n -c2 xxx.yyy.zzz.www
    

    xxx.yyy.zzz.www est l'adresse IP de pc13.

  • Essayez de comprendre tous les paquets que vous voyez apparaître dans votre navigateur

  • Lancer le fichier wire-stop.sh (ou wire-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 et ip -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 lance docker 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 
      
  • 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