Capturer le trafic en direct avec Tshark

WiresharkWiresharkBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à capturer le trafic réseau en direct à l'aide de l'outil en ligne de commande tshark de Wireshark. Vous allez pratiquer l'identification des interfaces réseau avec l'option -D, la sélection d'une interface comme eth1 à l'aide de l'option -i, et la capture de paquets avec les paramètres par défaut.

Le laboratoire vous guide dans la sauvegarde des captures dans un fichier pcap à l'aide de l'option -w pour une analyse ultérieure. Ces compétences fondamentales sont essentielles pour la résolution de problèmes réseau et la surveillance du trafic dans des scénarios réels.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL wireshark(("Wireshark")) -.-> wireshark/WiresharkGroup(["Wireshark"]) wireshark/WiresharkGroup -.-> wireshark/interface("Interface Overview") wireshark/WiresharkGroup -.-> wireshark/packet_capture("Packet Capture") wireshark/WiresharkGroup -.-> wireshark/protocol_dissection("Protocol Dissection") wireshark/WiresharkGroup -.-> wireshark/export_packets("Exporting Packets") wireshark/WiresharkGroup -.-> wireshark/commandline_usage("Command Line Usage") subgraph Lab Skills wireshark/interface -.-> lab-548916{{"Capturer le trafic en direct avec Tshark"}} wireshark/packet_capture -.-> lab-548916{{"Capturer le trafic en direct avec Tshark"}} wireshark/protocol_dissection -.-> lab-548916{{"Capturer le trafic en direct avec Tshark"}} wireshark/export_packets -.-> lab-548916{{"Capturer le trafic en direct avec Tshark"}} wireshark/commandline_usage -.-> lab-548916{{"Capturer le trafic en direct avec Tshark"}} end

Lister les interfaces avec -D

Dans cette étape, vous apprendrez à lister les interfaces réseau disponibles à l'aide de l'outil en ligne de commande tshark de Wireshark. Les interfaces réseau sont les points physiques ou virtuels par lesquels votre ordinateur se connecte à un réseau. Avant de capturer le trafic réseau, il est essentiel d'identifier quelles interfaces sont actives sur votre système car différentes interfaces gèrent différents types de trafic réseau.

  1. Tout d'abord, ouvrez le terminal dans votre environnement de machine virtuelle LabEx. Le terminal est votre porte d'entrée pour interagir avec le système Linux via des commandes. Le répertoire de travail par défaut est ~/project, ce qui signifie que tous les fichiers que vous créez seront enregistrés ici, sauf si vous spécifiez autrement.
Capture-capable network interfaces
  1. Pour lister toutes les interfaces réseau disponibles, exécutez la commande suivante :
tshark -D
  1. La commande affichera une sortie montrant toutes les interfaces réseau capables de capture. Une sortie typique ressemble à ceci :
1. eth1
2. any
3. lo (Loopback)
4. nflog
5. nfqueue
6. docker0
  1. Le drapeau -D est une option de commande spécifique qui indique à tshark d'afficher les interfaces disponibles. Chaque interface a un objectif distinct :

    • eth1 : Il s'agit généralement de votre interface réseau câblée principale, gérant la plupart des communications réseau externes.
    • lo : L'interface de bouclage (loopback) traite le trafic réseau interne au sein de votre propre machine.
    • any : Une interface virtuelle spéciale qui capture le trafic de toutes les interfaces disponibles simultanément.
  2. Prenez un moment pour examiner attentivement la liste des interfaces. Vous devrez vous référer à ces noms d'interfaces plus tard lorsque nous commencerons à capturer des paquets, car vous devez spécifier exactement le trafic de quelle interface réseau vous souhaitez surveiller. La numérotation est utile lors de la sélection d'interfaces dans les commandes suivantes.

Sélectionner une interface avec -i eth1

Dans cette étape, vous apprendrez à sélectionner une interface réseau spécifique pour la capture de paquets à l'aide de l'outil tshark de Wireshark. Les interfaces réseau sont les points physiques ou virtuels par lesquels votre ordinateur se connecte à un réseau. L'interface eth1 est généralement le premier port Ethernet sur les systèmes Linux et gère la plupart du trafic réseau externe.

  1. Tout d'abord, assurez-vous d'être dans le bon répertoire de travail où nous allons stocker nos fichiers de capture :
cd ~/project
  1. Pour commencer à capturer des paquets spécifiquement sur l'interface eth1, exécutez cette commande :
sudo tshark -i eth1
  1. Comprenons ce que chaque partie de cette commande fait :

    • sudo : Vous donne les privilèges d'administrateur nécessaires pour accéder aux interfaces réseau.
    • tshark : La version en ligne de commande de Wireshark.
    • -i eth1 : Indique à tshark d'écouter sur l'interface eth1 (modifiez - le si votre système utilise des noms d'interfaces différents).
  2. Lorsque vous exécutez la commande, vous verrez le trafic réseau en direct affiché dans votre terminal comme ceci :

Capturing on 'eth1'
1 0.000000000 192.168.1.100 → 192.168.1.1 TCP 74 55942 → 80 [SYN] Seq=0 Win=64240 Len=0
2 0.000123456 192.168.1.1 → 192.168.1.100 TCP 74 80 → 55942 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0

Chaque ligne représente un paquet réseau montrant les adresses IP source/destination, le type de protocole et d'autres détails techniques.

  1. Pour arrêter la capture de paquets, appuyez sur Ctrl+C. Le terminal affichera ensuite des statistiques récapitulatives sur le trafic capturé.

  2. Notes importantes pour les débutants :

    • eth1 est le nom par défaut du premier interface Ethernet sur la plupart des systèmes Linux.
    • Utilisez toujours le nom exact de l'interface que vous avez trouvé lors de la liste des interfaces.
    • sudo est requis car la capture de trafic réseau nécessite des autorisations spéciales.
    • La sortie montre les communications réseau réelles qui se produisent sur votre système.

Démarrer une capture avec les paramètres par défaut

Dans cette étape, vous apprendrez à démarrer une capture de paquets de base en utilisant tshark de Wireshark avec les paramètres par défaut. Cela s'appuie sur les étapes précédentes où vous avez identifié les interfaces et sélectionné eth1. Nous allons commencer par capturer tout le trafic réseau circulant à travers l'interface eth1, qui est généralement le premier interface Ethernet sur les systèmes Linux.

  1. Tout d'abord, assurez-vous d'être dans le bon répertoire de travail où nous allons stocker nos fichiers de capture :
cd ~/project
  1. Pour démarrer la capture de paquets avec les paramètres par défaut sur l'interface eth1, exécutez :
sudo tshark -i eth1

La commande sudo est nécessaire car la capture de trafic réseau nécessite des privilèges de superutilisateur (root). Le drapeau -i eth1 indique à tshark d'écouter spécifiquement sur l'interface réseau eth1.

  1. Aspects clés de cette commande :

    • Capture tous les types de paquets (TCP, UDP, ICMP, etc.) qui traversent eth1.
    • Affiche des résumés de paquets en temps réel au fur et à mesure de leur capture.
    • Utilise les filtres de capture par défaut (capture tout le trafic sans filtrage).
    • Affiche des informations de base sur les paquets, notamment :
      • Numéro de paquet (compte séquentiel à partir de 1).
      • Horodatage (indiquant quand chaque paquet a été capturé).
      • Adresses IP source et destination (indiquant d'où vient le trafic et où il va).
      • Protocole (identifiant le type de protocole réseau).
      • Informations de base sur le contenu du paquet.
  2. Vous devriez voir une sortie similaire à :

1 0.000000000 192.168.1.100 → 8.8.8.8 DNS 74 Standard query
2 0.000123456 8.8.8.8 → 192.168.1.100 DNS 90 Standard query response

Chaque ligne représente un paquet réseau. La flèche (→) indique la direction du flux de trafic entre les adresses IP source et destination.

  1. Pour mettre temporairement en pause la sortie (sans arrêter la capture), appuyez sur Ctrl+S. Appuyez sur Ctrl+Q pour reprendre. Cela est utile lorsque vous souhaitez examiner des paquets spécifiques sans que de nouveaux paquets défilent trop rapidement.

  2. Rappelez-vous ces points importants concernant cette capture de base :

    • La capture par défaut affiche uniquement les en-têtes de paquets (pas la charge utile complète) pour que l'affichage reste gérable.
    • La capture continue jusqu'à ce que vous l'arrêtiez avec Ctrl+C.
    • Aucun paquet n'est encore enregistré sur le disque (nous aborderons cela dans l'étape suivante).
    • La sortie du terminal n'est qu'une vue en direct - nous n'enregistrons pas encore ces informations de manière permanente.

Arrêter et Enregistrer dans un Fichier avec -w capture.pcap

Dans cette étape, vous apprendrez comment arrêter correctement une session de capture de paquets et enregistrer les paquets capturés dans un fichier pour une analyse ultérieure. Cela complète notre flux de travail Wireshark/tshark de base. L'enregistrement des paquets dans un fichier est essentiel lorsque vous devez analyser le trafic réseau ultérieurement ou partager les données avec des collègues.

  1. Tout d'abord, assurez-vous que vous êtes dans le bon répertoire de travail où vous souhaitez enregistrer votre fichier de capture. Le répertoire ~/project est couramment utilisé pour les exercices de laboratoire :
cd ~/project
  1. Pour démarrer une nouvelle session de capture qui enregistrera automatiquement les paquets dans un fichier, exécutez cette commande. L'option -w indique à tshark où stocker les données capturées :
tshark -i eth1 -w capture.pcap
  1. Décomposons les aspects clés de cette commande :

    • -w capture.pcap : Spécifie le nom du fichier de sortie et enregistre les paquets au format PCAP standard
    • Le fichier sera créé dans votre répertoire de travail actuel (~/project)
    • Contrairement à la surveillance en direct, cette commande s'exécute silencieusement sans sortie à l'écran tout en enregistrant dans un fichier

    Note Importante Concernant les Permissions :

    • N'utilisez pas sudo avec cette commande (par exemple, sudo tshark -i eth1 -w capture.pcap)
    • Le répertoire ~/project a des permissions spécifiques qui restreignent l'accès, y compris l'accès root
    • L'exécution avec sudo entraînera une erreur "Permission denied" (Permission refusée)
    • Utilisez la commande sans sudo pour assurer la création correcte du fichier avec les permissions appropriées
  2. Laissez la capture s'exécuter pendant environ 30 secondes pour collecter un trafic réseau significatif. Cette durée vous permet de capturer différents types de paquets sans créer un fichier excessivement volumineux.

  3. Pour arrêter gracieusement la capture et finaliser le fichier, appuyez sur Ctrl+C. Le terminal affichera des informations récapitulatives sur votre session de capture :

^CCapturing on 'eth1'
45 packets captured
  1. Vérifiez que votre fichier de capture a été créé avec succès en listant le contenu du répertoire. Les options -lh affichent la taille du fichier dans un format lisible par l'homme :
ls -lh capture.pcap
  1. Vous devriez voir une sortie similaire à celle-ci, montrant que le fichier a été créé avec les permissions appropriées et contient des données capturées :
-rw-r--r-- 1 labex labex 12K Aug 10 15:30 capture.pcap
  1. Notes importantes concernant l'utilisation des fichiers PCAP :
    • Les fichiers PCAP peuvent être analysés ultérieurement avec l'interface graphique (GUI) de Wireshark ou les commandes tshark
    • La taille du fichier augmente avec la durée de la capture : soyez attentif à l'espace disque
    • Utilisez des noms de fichiers uniques pour les sessions de capture distinctes afin d'éviter l'écrasement
    • L'extension .pcap est standard pour les fichiers de capture de paquets

Résumé

Dans ce laboratoire, vous avez appris à capturer le trafic réseau en direct en utilisant l'outil en ligne de commande tshark de Wireshark. Vous avez pratiqué la liste des interfaces disponibles avec le drapeau -D et la capture de paquets sur des interfaces spécifiques en utilisant le paramètre -i, tout en observant des détails clés du réseau tels que les adresses IP et les protocoles.

L'exercice a offert une expérience pratique avec les commandes de base de tshark, y compris l'utilisation appropriée des autorisations sudo et les contrôles de base de capture. Ces compétences essentielles constituent la base pour des tâches plus avancées d'analyse et de dépannage réseau.