Outils pour utilisateurs

Outils du site


bloc3s1:wiresharkmessagerie

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
bloc3s1:wiresharkmessagerie [2020/11/12 20:54]
techer.charles_educ-valadon-limoges.fr [Installation de Wireshark dans la VM Ubuntu]
bloc3s1:wiresharkmessagerie [2020/11/27 10:38] (Version actuelle)
techer.charles_educ-valadon-limoges.fr [Installation de Wireshark dans la VM Ubuntu]
Ligne 1: Ligne 1:
-====== Visualiser les échanges de courriels chiffrés avec Wireshark ======+====== Visualiser avec Wireshark les échanges chiffrés avec les serveurs IMAP et SMTP ======
 ===== Présentation ===== ===== Présentation =====
 Un **analyseur de trame** est un outil **de base** de l'informaticien car il permet  de comprendre ce qu'il se passe à un niveau très bas. Il permet aussi aussi de mettre en évidence de nombreux concepts théoriques du cours. Un **analyseur de trame** est un outil **de base** de l'informaticien car il permet  de comprendre ce qu'il se passe à un niveau très bas. Il permet aussi aussi de mettre en évidence de nombreux concepts théoriques du cours.
Ligne 29: Ligne 29:
  {{ :bloc3s1:wireshark_02.png?500 |}}  {{ :bloc3s1:wireshark_02.png?500 |}}
  
 +  * **Ajoutez** le compte utilisateur voulu au groupe **wireshark** pour lui permettre d'utiliser toutes les fonctionnalités de Wireshark :
 +<code shell>
 +$ sudo usermod -aG wireshark comptevoulu
 +</code>
 +ou le compte qui a ouvert la session (la commande whoami permet de connaitre l'utilisateur qui a ouvert la session :
 +<code shell>
 +$ sudo usermod -aG wireshark $(whoami)
 +</code>
 +  * Fermez puis réouvrez votre session pour actualiser vos droits.
 +  * Lancez un Terminal et vérifiez que vous êtes bien dans le groupe wireshark avec la commande suivante :
 +<code shell>
 +$ groups
 +</code>
 +
 +<WRAP center round info>
 +En cas d'**erreur de configuration de Wireshark,** relancez l'assistant de configuration avec la commande suivante :
 +<code shell>
 +$ sudo dpkg-reconfigure wireshark-common
 +</code>
 +</WRAP>
 +
 +
 +===== Prise de contact =====
 +
 +Lancez le logiciel qui se présente ainsi (la carte réseau **enp0s3** connectée au réseau est encadrée en rouge):
 +{{ :bloc3s1:wireshark_03.png?500 |}}
 +
 +
 +Vous pouvez démarrer une capture en cliquant tout simplement sur l'interface réseau qui vous intéresse. Vous ne verrez donc que le trafic réseau vu par cette carte réseau. 
 +
 +  * **Démarrez une capture** avec l'icône en forme d'aileron de requin en haut à gauche.
 +  * Au bout de quelques instants vous verrez des paquets réseau apparaître dans la fenêtre, ce qui montre que même si vous ne faites rien, il y a des informations qui circulent sur le réseau !
 +  * **Arrêtez** la capture des trames : 
 +  * {{ :bloc3s1:wireshark_04.png?500 |}}
 +
 +Wireshark permet de donner des informations très détaillées. Examinez l'écran principal du logiciel :
 +{{ :bloc3s1:wireshark_05.png?500 |}}
 +
 +On observe en trois parties : 
 +  * 1. La **liste des trames Ethernet capturées**. Elles sont chacune numérotées et horodatées par Wireshark (ces données ne figurent donc pas dans la trame d'origine).
 +  * 2. Pour chaque trame, sa **structure** est présentée sous une forme **hiérarchique** (ainsi ce que vous voyez dans le volet 2 est le détail de la trame numéro 2)
 +  * 3. Le volet 3 est la même chose que le volet 2 mais sous une forme **brute** non structurée avec une présentation ASCII et hexadécimale. Vous pouvez la présenter en binaire (clic droit dans le volet 3).
 +
 +===== Examen détaillé =====
 +
 +Examinez en détail le volet 2. Vous pouvez cliquer sur les croix pour développer les contenus. Ce volet met en évidence le phénomène **d'encapsulation** :
 +
 +Le premier élément concerne la **trame** proprement dite (taille, temps, etc.) :
 +{{ :bloc3s1:wireshark_06.png?500 |}}
 +
 +Ensuite, en montant d'un cran est présentée la partie liée à **Ethernet**. On retrouve les adresses physiques de **destination** et de **source**, également le type trame de niveau supérieur (ici IP **0x0800**) :
 +{{ :bloc3s1:wireshark_07.png?500 |}}
 +
 +A la couche supérieure, c'est la partie  IP :
 +{{ :bloc3s1:wireshark_08.png?500 |}}
 +
 +On retrouve les **adresses IP source** et **destination du paquet**. De plus, certaines données correspondent à des bits d'un octet particulier (**differentiated services field**). Des données techniques comme la longueur du paquet, le numéro de séquence, le temps à vivre (**TTL** ou Time To Live), l'identité du protocole supérieur (**UDP**) sont nécessaires au fonctionnement de cette couche.
 +
 +En montant encore d'un niveau on observe la partie **transport**. Ici il s'agit de **UDP** qui est un protocole simple sans gestion des erreurs, son contenu est beaucoup plus simple que **TCP** :
 +{{ :bloc3s1:wireshark_09.png?500 |}}
 +
 +Comme à chaque fois, une information concernant le protocole de niveau supérieur (ici **ssdp** pour Simple Service Discovery Protocol) est intégré. Nous retrouvons également la notion de **port source** et de **destination** mais aussi de **checksum** qui permet le contrôle d'erreur.
 +
 +Et enfin, on aborde la partie **application**. vous remarquerez que **Wireshark** sait mettre en relation les **données structurées** et les **données brutes**. Ainsi, sur n'importe quelle couche du paquet, si vous sélectionnez un élément, celui-ci est mis en évidence dans le dernier volet :
 +{{ :bloc3s1:wireshark_10.png?500 |}}
 +
 +Pour information, le paquet présenté ici correspond au **protocole HTTP** et à la demande **GET** de téléchargement de la feuille de style **shadowbox.css** de la page d'accueil du site l'Académie de Limoges.
 +
 +===== Filtres =====
 +
 +Lorsque vous capturez des trames sur un réseau, vous pouvez avoir beaucoup de **trame** car tous les ordinateurs du réseau **communiquent en permanence** et les données sont découpées, segmentées, pour être transportées dans des trames Ethernet dont la longueur maximale est de 1500 octets. Il est donc important de pouvoir **filtrer** une capture sur différents critères. Parmi les plus fréquents, nous avons les **adresses source** ou **destination** de niveau 2 ou 3 et le protocole.
 +
 +Dans copie d'écran ci-dessous, vous voyez qu'il existe une zone **filter** qui permet justement de saisir des requêtes avec une **syntaxe** propre à Wireshark (mais qui s'inspire du langage C).
 +
 +Par exemple, pour filtrer sur l'adresse MAC source : 08:00:27:ca:9a:e0 (**à adapter à ce que vous avez réellement dans votre capture**)
 +Dans le champ Filter saisissez : **eth.src==08:00:27:ca:9a:e0** et cliquez sur le bouton **Apply**; Seules 60% des trames capturées sont affichées.
 +{{ :bloc3s1:wireshark_11.png?500 |}}
 +
 +Lorsque vous avez commencé à taper **eth.** Vous avez vu que de nombreux autres champs sont disponibles.
 +
 +Vous pouvez faire de même avec les **adresses IP**, par exemple l'adresses source **192.168.1.47**. Seules 30% des trames capturées sont affichées.
 +
 +Dans le champ Filter saisissez : **ip.src==192.168.1.47**
 +{{ :bloc3s1:wireshark_12.png?500 |}}
 +
 +Pour un filtre basé sur les protocoles, saisissez tout simplement :
 +  * Filter : **http** ou **ssh** ou **dns** ou **smtp**
 +{{ :bloc3s1:wireshark_13.png?500 |}}
 +
 +Bien sûr, les filtres peuvent être **cumulés**, par exemple **protocole** et **adresse source** :
 +  * Filter : **http&&ip.src==192.168.1.47** (3% des trames capturées)
 +{{ :bloc3s1:wireshark_14.png?500 |}}
  
 +===== Visualisation de l'envoi et de la réception des courriels avec utilisation du protocole TLS =====
 +Rédigez un court document contenant des copies d'écran de capture de trame avec Wireshark montrant que les échanges avec les serveurs **IMAP et SMTP sont chiffrés** avec le** protocole TLS**.
 +Pour cela  : 
 +  * **recherchez les ports réseaux** TCP utilisés par les **protocoles IMAP et SMTP** ;
 +  * utilisez un **filtre** avec ces valeurs et celle de l'**adresse IP** de votre VM.
 ====== Retour Accueil Bloc3 ====== ====== Retour Accueil Bloc3 ======
  
   *  [[bloc3S1:accueil|Bloc3]]   *  [[bloc3S1:accueil|Bloc3]]
  
bloc3s1/wiresharkmessagerie.1605210893.txt.gz · Dernière modification: 2020/11/12 20:54 de techer.charles_educ-valadon-limoges.fr