Compte Rendu - TP3 - ICMP, TCP, UDP

GASCHET Anthony
COMPTE RENDU
TP N°3 – ICMP, TCP, UDP
Master 1 IRS P15
Année 2012-2013
Exercice 1 :
L’ensemble des machines sont interconnectées entre-elles par deux commutateurs. Le
PC1 fait office de routeur entre les deux réseaux.
@IP PC2 : 192.168.1.2
@IP PC5 : 192.168.2.2
Exercice 2 :
On suppose que les PC2, PC5 ainsi que le PC1 (routeur) ont leurs interfaces réseaux
déjà configurées et concordent avec le schéma ci-dessus. Pour cela, nous avons utilisé la
commande ifconfig (qui a été détaillée dans les comptes rendus des TP précédents).
De plus, il faudra activer le forwarding sur le "PC1 routeur" via le fichier :
/proc/sys/net/ipv4/ip_foward
1) Commençons par vider la table de routage via la commande : ip route flush all
2) Ensuite il faut ajouter une entée dans la table de routage du PC1 afin d’atteindre le
réseau voisin.
route add –net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.20
route add –net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.20
2/6
3) Nous vérifions ensuite que nous pouvons contacter une machine de l’autre réseau
(utilisation de la commande ping).
Exemple depuis une machine du réseau 192.168.1.0 : ping 192.168.2.2
Nous remarquons par une capture avec Wireshark que les paquets sont biens
acheminés vers le réseau distant et que l’adresse IP du PC source a été remplacée par
l’adresse IP de la passerelle.
Exercice 3 :
Le but de cet exercice est de comparer et d’interpréter les messages que retourne
l’outil ping lors d’un l’accès à une machine qui est inaccessible sur le réseau.
Si nous essayons de contacter une machine (qui est par exemple éteinte ou que son
câble réseau est sectionné), l’outil ping nous informe que l’hôte est introuvable (host
unreachable). Par ailleurs, le message de retour ainsi que le temps de réponse diffère suivant
la localisation de la machine sur le réseau. En effet, si cette machine fait partie de notre réseau
le message "host unreachable" apparaitra après un délai moyennent long. Si la machine ne fait
pas partie de notre réseau et que la route pour y accéder est inconnue l’outil ping répondra
instantanément "network unreachable". La commande vérifie en premier lieu qu’une route
existe vers ce réseau et si elle n’existe pas, elle stop immédiatement la recherche de l’hôte
distant.
Résultats des différents ping :
3/6
Exercice 4 :
La commande netstat –ant permet de déterminer les services TCP qui sont actifs sur le PC.
 -a pour afficher les services en état d’écoute (LISTEN)
 -t pour tcp (on utilise -u pour udp)
 -n pour afficher l’adresse IP au lieu du nom de la machine
Il suffit de consulter le fichier /etc/services afin de déterminer le nom de ces
services dont certains sont connus (Well-known ports). Lors ce que TP, quatre services qui
ont été retourné par la commande netstat ont pu être identifiés :
111/tcp
23/tcp
25/tcp
631/tcp
portmapper RPC 4.0
Telnet
mail (SMTP)
ipp (Internet Printing Protocol)
Ne pas hésiter à "piper" le fichier /etc/services avec un grep, pour retrouver plus
facilement un service. Exemple: cat /etc/services | grep 25/tcp
Exercice 5 :
En utilisant la même méthode de recherche (dans le fichier /etc/services) qu’à
l’exercice précédent, nous trouvons rapidement que telnet utilise le port 23.
Analyse d’une session telnet avec l’outil Wiresark :
2
1
4/6
On constate que le trafic circule en clair sur le réseau et qu’il est très facile d’usurper
les identifiants de connexion. A partir de la trame affichant "Password :" (1) sur l’écran de
l’utilisateur, il suffit de lire les trames qui suivent (2) pour connaitre le mot de passe qui est
envoyé caractère par caractère. L’identifiant a également été transmis de la même façon dans
les trames précédentes.
Exercice 6 :
Dans cet exercice, on propose d’effectuer une analyse de trame comme celle effectuée
précédemment sur telnet ainsi que sur une connexion ftp. Les résultats sont sensiblement les
mêmes puisque que ce soit telnet ou ftp, les identifiants sont transmis en clair.
Exercice de réflexion :
A)
Nous souhaitons ici obtenir la date et l’heure d’une machine distante via une
connexion telnet sur le port daytime (port 13).
Pour cela, il faut d’abord activer la fonction daytime sur la machine distante qui
possède le serveur telnet. Il faut donc dé-commenter la ligne "daytime" dans le fichier
/etc/inetd.conf.
Il ne faut pas oublier de redémarrer le serveur telnet afin de prendre les modifications
en compte avec la commande suivante : /etc/init.d/openbsd-inetd restart
5/6
Pour terminer, il ne reste plus qu’à vérifier que le serveur telnet nous retourne bien la
date et l’heure lors d’une connexion sur le port 13. Nous remarquons qu’il n’est pas
nécessaire de se logger puisque la date et l’heure est affichée dans le "message d’accueil".
B)
La commande who permet de lister les utilisateurs qui sont connectés sur le PC.
NB : rwho n’existe plus et a été remplacé par who
6/6