Pour résoudre ce TP, regardez bien dans le cours ! À la fin de chaque TP, sauvegardez, si nécessaire, les fichiers que vous avez créés dans votre compte sur gtr-serv, ensuite EFFACEZ-LES (utile pour les TPs suivants). * Commande arp - Exécutez la commande arp. Faites ensuite "ping machineVoisine". Relancez arp. Expliquez la différence que vous voyez. - En lisant sa page de manuel, spécifiez les 3 actions (majeures) du logiciel arp sur le cache ARP. * Sniffer DNS et ARP Lancez wireshark. Commencez une capture et, dans un terminal, faites un ping vers une machine à laquelle vous ne vous êtes pas encore connectés : "ping nomMachine" (nom de la machine, pas son adresse IP). - Voyez-vous les échanges DNS et ARP ? Lors d'une deuxième connexion, voyez-vous encore les échanges DNS et ARP ? Qu'en déduisez-vous ? - Pourquoi la requête ping fait une requête DNS avant, alors que la réponse ping n'en fait pas ? - Quels sont les messages envoyés sur le réseau lors d'un ping vers une machine locale éteinte ? Regardez avec wireshark les échanges faits et expliquez pourquoi pas tous les échanges habituels apparaissent lors de la visualisation. - Pourquoi ping gtr-serv marche et ping gtr-serv.pu-pm ne marche pas ? Astuce : faites ping gtr-serv.pu-pm et regardez avec wireshark les requêtes DNS ; que remarquez-vous ? * Sniffer (format des paquets demande/réponse ARP) À l'aide du sniffer wireshark, trouvez l'en-tête ARP (nom et taille de chaque champ, de la même manière que la trame MAC qui a été présentée dans le cours) des paquets demande et réponse ARP. Astuce : envoyez un paquet à une machine locale à laquelle vous n'avez encore fait aucune connexion. * Trouvez la source des erreurs Au cas où le paquet sendip n'est pas installé, installez-le (apt-get ...) Exécutez ./tp1-a. En regardant avec wireshark le paquet envoyé, trouvez : - ce que le logiciel essaie de faire (l'action du logiciel et l'adresse IP et le nom de la machine sur laquelle l'action est faite) - l'erreur du logiciel - la cause de l'erreur La même chose pour ./tp1-b. Astuces pour wireshark : - vous pouvez mettre un filtre (par ex. icmp) dans le champ "Filter" en haut de la fenêtre - regardez dans le cours quel logiciel permet d'obtenir le nom d'une machine à partir de l'adresse IP Si vous ne trouvez toujours pas, demander du conseil au prof... * Wake-on-lan (sendip) Sendip est un logiciel qui permet de fabriquer des paquets de niveau 3 ou supérieur. En vous aidant de sa page de manuel (man sendip) : - Que fait la commande "sendip -d 0x1234 -p ipv4 gtr-serv" ? - Que fait de plus la commande "sendip -d 0x1234 -p ipv4 -is 1.2.3.4 gtr-serv" ? - Envoyez des paquets (par exemple un paquet en UDP) et, en utilisant un sniffer sur la machine, vérifiez que les paquets partent et contiennent les bonnes données. - En envoyant un "magic packet" avec sendip, réveillez (après l'avoir éteinte) la machine à côté de vous. Notez bien que la séquence magique peut se trouver n'importe où dans le paquet, comme données pour IP par exemple. Aide : regardez avec wireshark si votre paquet magique part réellement de votre machine. - Si possible, écrivez ensuite un script shell qui reçoit comme paramètre une adresse MAC et qui lui envoie un "magic packet". Fin du TP : N'oubliez pas d'effacer les fichiers que vous avez créés...