* 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 rt-serv marche et ping rt-serv.pu-pm ne marche pas ? Astuce : faites ping rt-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. * Sendip, fabrication de paquets Sendip est un logiciel qui permet de fabriquer des paquets de niveau 3 ou supérieur. Installez-le, si ce n'est déjà fait (apt-get install sendip). En vous aidant de sa page de manuel ("man sendip") : - Que fait la commande "sendip -d 0x1234 -p ipv4 rt-serv" ? Vérifiez avec wireshark que le paquet part et contient les bonnes données. - Que fait de plus par rapport au précédent la commande "sendip -d 0x1234 -p ipv4 -is 1.2.3.4 rt-serv" ? Vérifiez avec wireshark que le paquet part et contient les bonnes données. Créez ensuite un paquet UDP (avec IP, bien sûr) avec les paramètres : - adresse IP source : votre adresse IP (vous la trouvez avec "ip addr") - nom machine destination : rt-serv. - pour l'en-tête UDP avec port source 9540 (base 10) et port destination 13 (base 10) - Aide : pour la commande : "sendip -p ipv4 paramètresIP -p udp paramètresUDP" ; pour les paramètres d'UDP : lisez la page de manuel de sendip. Utilisez wireshark pour vérifier votre paquet. * Ordinateurs comme routeurs Soient trois PC dans le réseau suivant : A <-----> R <-----> B Configurez ces trois machines pour qu'elles puissent communiquer entre elles. Les deux adresses de réseau sont : 1.0.0.0/25 et 1.0.0.128/25. La suite de l'exercice présente les commandes à utiliser. Si l'interface n'est pas "up" (active) (çad "ip addr" n'affiche pas l'interface eth0), exécutez "ip link set eth0 up". Si l'interface n'a pas une adresse IP ou n'a pas la bonne adresse IP, il existe deux méthodes pour lui donner une adresse : - donnée par le serveur DHCP : exécutez "dhclient eth0" (cette méthode ne fonctionne pas dans notre exercice, mais c'est la méthode usuelle quand les machines sont connectées à Internet) - manuellement : - "ip address add .../... dev eth0" - "ip route add default ..." ou "ip route add 192.0.2.0/24 via 10.0.0.1" route add default gw ROUTEUR indique à la machine que sa passerelle par défaut est ROUTEUR. ip route add RESEAUDEST/MASK via ROUTEUR indique à la machine que pour atteindre le réseau RESEAUDEST avec le masque MASK, il faut passer par le routeur (gateway) ROUTEUR. Pour afficher les routes, utiliser "route -n". Pour être certain qu'une machine Linux agisse comme routeur (les cartes discutent entre elles), exécuter "echo 1 >/proc/sys/net/ipv4/ip_forward". Utiliser wireshark pour voir les échanges de paquets et débogguer.