Tutoriel en profondeur de Wireshark

Tutoriel en profondeur de Wireshark
Wireshark est un outil d'inspection du trafic réseau libre et gratuit. Il capture et affiche des paquets en temps réel pour une analyse hors ligne dans un format lisible par l'homme avec des détails microscopiques. Il nécessite une bonne connaissance de la mise en réseau de base et est considéré comme un outil essentiel pour les administrateurs système et les experts en sécurité du réseau.

Wireshark est l'outil de référence de facto pour plusieurs problèmes de réseau qui varient du dépannage du réseau, de l'examen des problèmes de sécurité, de l'inspection du trafic réseau d'une application suspecte, des implémentations de protocole de débogage, ainsi que des objectifs d'apprentissage du protocole de réseau, etc.

Le projet Wireshark a été lancé en 1998. Grâce à la contribution volontaire de l'expert en réseautage mondial, il continue de faire des mises à jour pour les nouvelles technologies et les normes de chiffrement. Par conséquent, c'est de loin l'un des meilleurs outils d'analyseur de paquets et est utilisé comme un outil commercial standard par diverses agences gouvernementales, instituts d'enseignement et organisations à but non lucratif.

L'outil Wireshark est composé d'un riche ensemble de fonctionnalités. Certains d'entre eux sont les suivants:

  • Multiplateform: il est disponible pour les systèmes UNIX, Mac et Windows.
  • Il capture des paquets à partir de divers supports de réseau, je.e., LAN sans fil, Ethernet, USB, Bluetooth, etc.
  • Il ouvre des fichiers de paquets capturés par d'autres programmes tels que Oracle Snoop et ATMSNoop, NMAP, TCPDUmp, Microsoft Network Monitor, Snort et bien d'autres.
  • Il enregistre et exporte des données de paquets capturés dans divers formats (CSV, XML, texte en clair, etc.).
  • Il fournit une prise en charge des protocoles, notamment SSL, WPA / WPA2, IPSEC et bien d'autres.
  • Il comprend des filtres de capture et d'affichage.

Cependant, Wireshark ne vous avertira aucune activité malveillante. Cela vous aidera à inspecter et à identifier ce qui se passe sur votre réseau. De plus, il analysera uniquement le protocole / activités du réseau et n'effectuera aucune autre activité comme l'envoi / interception des paquets.

Cet article fournit un tutoriel détaillé qui commence par les bases (i.e., filtrage, couches de réseau Wireshark, etc.) et vous emmène dans la profondeur de l'analyse du trafic.

Filtres Wireshark

Wireshark est livré avec des moteurs de filtre puissants, des filtres de capture et des filtres d'affichage, pour supprimer le bruit du réseau ou le trafic déjà capturé. Ces filtres rétrécissent le trafic non réquisitionné et affichent uniquement les paquets que vous souhaitez voir. Cette fonction aide les administrateurs réseau à résoudre les problèmes à portée de main.

Avant d'entrer dans les détails des filtres. Dans le cas où vous vous demandez comment capturer le trafic réseau sans aucun filtre, vous pouvez soit appuyer sur CTRL + E ou accéder à l'option Capture sur l'interface Wireshark et cliquer sur Démarrer.

Maintenant, creusons profondément dans les filtres disponibles.

Filtre de capture

Wireshark prend en charge la réduction de la taille d'une capture de paquets bruts en vous permettant d'utiliser un filtre de capture. Mais il ne capture que le trafic de paquets qui correspond au filtre et ne tient pas compte du reste. Cette fonctionnalité vous aide à surveiller et à analyser le trafic d'une application spécifique à l'aide du réseau.

Ne confondez pas ce filtre avec les filtres d'affichage. Ce n'est pas un filtre d'affichage. Ce filtre apparaît sur la fenêtre principale qui est nécessaire pour régler avant de démarrer la capture du paquet. De plus, vous ne pouvez pas modifier ce filtre pendant la capture.

Vous pouvez aller au Capture Option de l'interface et sélectionnez Filtres de capture.

Vous serez invité avec une fenêtre, comme indiqué dans l'instantané. Vous pouvez choisir n'importe quel filtre dans la liste des filtres ou ajouter / créer un nouveau filtre en cliquant sur le + bouton.

Exemples de la liste des filtres de capture utiles:

  • hôte ip_address - capture le trafic, uniquement entre l'adresse IP communicante spécifique
  • net 192.168.0.0/24 - capture le trafic entre les plages d'adresses IP / CIDRS
  • port 53 - Capture le trafic DNS
  • TCP PERTRÉGANGE 2051-3502 - Capture le trafic TCP depuis la gamme de ports 2051-3502
  • port non 22 et pas 21 - Capturez tout le trafic sauf SSH et FTP

Filtre d'affichage

Les filtres d'affichage vous permettent de masquer des paquets au trafic réseau déjà capturé. Ces filtres peuvent être ajoutés au-dessus de la liste capturée et peuvent être modifiés à la volée. Vous pouvez maintenant contrôler et réduire les paquets sur lesquels vous souhaitez vous concentrer tout en cachant les paquets inutiles.

Vous pouvez ajouter des filtres dans la barre d'outils de filtre d'affichage juste au-dessus du premier volet contenant des informations sur les paquets. Ce filtre peut être utilisé pour afficher des paquets en fonction du protocole, de l'adresse IP source, de l'adresse IP de destination, des ports, de la valeur et des informations des champs, une comparaison entre les champs et bien plus encore.

C'est exact! Vous pouvez construire une combinaison de filtres à l'aide d'opérateurs logiques comme ==.!=, ||, &&, etc.

Quelques exemples de filtres d'affichage d'un seul protocole TCP et d'un filtre combiné sont illustrés ci-dessous:

Couches de réseau à Wireshark

Autre que l'inspection des paquets, Wireshark présente des couches OSI qui facilitent le processus de dépannage. Wireshark montre les couches dans l'ordre inverse, telles que:

  1. Couche physique
  2. Couche de liaison de données
  3. Couche réseau
  4. Couche de transport
  5. Couche d'application

Notez que Wireshark ne montre pas toujours la couche physique. Nous allons maintenant creuser dans chaque couche pour comprendre l'aspect important de l'analyse des paquets, et ce que chaque couche présente dans Wireshark.

Couche physique

La couche physique, comme indiqué dans l'instantané suivant, présente le résumé physique du cadre, tel que les informations matérielles. En tant qu'administrateur de réseau, vous n'extrairez généralement pas les informations de cette couche.

Couche de liaison de données

La couche de liaison de données suivante contient l'adresse de la carte réseau source et de destination. Il est relativement simple car il ne livre que le cadre de l'ordinateur portable au routeur ou dans le cadre adjacent suivant du milieu physique.

Couche réseau

La couche réseau présente les adresses IP source et de destination, la version IP, la longueur de l'en-tête, la longueur totale des paquets et les charges d'autres informations.

Couche de transport

Dans cette couche, Wireshark affiche des informations sur la couche de transport, qui se compose du port SRC, du port DST, de la longueur d'en-tête et du numéro de séquence qui change pour chaque paquet.

Couche d'application

Dans la couche finale, vous pouvez voir quel type de données est envoyée sur le support et quelle application est utilisée, comme FTP, HTTP, SSH, etc.

Analyse du trafic

Analyse du trafic ICMP

ICMP est utilisé pour les rapports et les tests d'erreur en déterminant si les données atteignent la destination prévue à temps ou non. Ping Utility utilise des messages ICMP pour tester la vitesse de la connexion entre les appareils et signaler la durée du paquet pour atteindre sa destination puis revenir.

Le ping utilise le message ICMP_ECHO_REQUEST à l'appareil sur le réseau, et l'appareil répond par message ICMP_ECHO_REPLY. Pour capturer des paquets sur Wireshark, démarrez la fonction de capture du Wireshark, ouvrez le terminal et exécutez la commande suivante:

Ubuntu $ ubuntu: ~ $ ping google.com

Utiliser Ctrl + c Pour terminer le processus de capture des paquets dans Wireshark. Dans l'instantané ci-dessous, vous pouvez remarquer le Paquet ICMP envoyé = paquet ICMP reçu Avec une perte de paquets 0%.

Dans le volet de capture Wireshark, sélectionnez le premier paquet ICMP_ECHO_REQUEST et observez les détails en ouvrant le volet Middle Wireshark.

Dans la couche réseau, vous pouvez remarquer la source SRC Comme mon ip_address, alors que la destination DST IP_ADdress est de Google Server, tandis que la couche IP mentionne le protocole pour être ICMP.

Maintenant, nous zoomez sur les détails du paquet ICMP en élargissant le protocole de message de contrôle Internet et décodons les cases en surbrillance dans l'instantané ci-dessous:

  • Type: champ 08 bits défini sur 8 Message de demande d'écho signifie
  • Code: Toujours zéro pour les paquets ICMP
  • Vérification: 0x46c8
  • Numéro d'identifiant (BE): 19797
  • Numéro d'identifiant (LE): 21837
  • Numéro de séquence (BE): 1
  • Numéro de séquence (LE): 256

L'identifiant et les numéros de séquence sont appariés pour aider à identifier les réponses aux demandes d'écho. De même, avant la transmission des paquets, la somme de contrôle est calculée et ajoutée au champ pour être comparée à la somme de contrôle dans le paquet de données reçu.

Maintenant, dans le paquet de réponse ICMP, remarquez la couche IPv4. Les adresses source et de destination ont échangé.

Dans la couche ICMP, vérifiez et comparez les champs importants suivants:

  • Type: le champ 08 bits défini sur 0 Message de réponse d'écho signifie
  • Code: Toujours 0 pour les paquets ICMP
  • Vérification: 0x46c8
  • Numéro d'identifiant (BE): 19797
  • Numéro d'identifiant (LE): 21837
  • Numéro de séquence (BE): 1
  • Numéro de séquence (LE): 256

Vous pouvez remarquer que la réponse ICMP fait écho à la même demande de contrôle, identifiant et numéro de séquence.

Analyse du trafic HTTP

HTTP est un protocole de couche d'application de transfert hypertexte. Il est utilisé par le World Wide Web et définit des règles lorsque le client / serveur HTTP transmet / reçoit des commandes HTTP. Les méthodes HTTP les plus couramment utilisées AE Post et obtenez:

POSTE: Cette méthode est utilisée pour envoyer en toute sécurité des informations confidentielles au serveur qui n'apparaît pas dans l'URL.

OBTENIR: Cette méthode est généralement utilisée pour récupérer les données de la barre d'adresse à partir d'un serveur Web.

Avant de approfondir l'analyse des paquets HTTP, nous démontrerons d'abord brièvement le TCP à trois voies à Wireshark.

TCP à trois voies

Dans une poignée de main à trois, le client initie une connexion en envoyant un paquet SYN et en recevant une réponse SYN-ARCH du serveur, qui est reconnu par le client. Nous utiliserons la commande NMAP TCP Connect Scan pour illustrer la poignée de main TCP entre le client et le serveur.

Ubuntu $ ubuntu: ~ $ nmap -st google.com

Dans le volet de capture de paquets Wireshark, faites défiler vers le haut de la fenêtre pour remarquer divers tirs à trois voies établies sur la base de ports particuliers.

Utilisez le TCP.port == 80 Filtre pour voir si la connexion est établie via le port 80. Vous pouvez remarquer le tis du main à trois, je.e., Syn, Systémique, et Ack, mis en évidence en haut de l'instantané, illustrant une connexion fiable.

Analyse des paquets HTTP

Pour l'analyse des paquets HTTP, accédez à votre navigateur et collez l'URL de documentation Wireshark: http: // www.gauaffeur.com et télécharger le guide de l'utilisateur PDF. En attendant, Wireshark doit capturer tous les paquets.

Appliquez un filtre HTTP et recherchez le Http demande envoyée au serveur par le client. Pour afficher un paquet HTTP, sélectionnez-le et développez la couche d'application dans le volet moyen. Il peut y avoir beaucoup d'en-têtes dans une demande, selon le site Web et le navigateur également. Nous analyserons les en-têtes présents dans notre demande dans l'instantané ci-dessous.

  • Méthode de demande: La méthode de la demande HTTP est GET
  • Héberger: identifie le nom du serveur
  • Agent utilisateur: Informe sur le type de navigateur côté client
  • Accepter, accepter, accepter-langage: informe le serveur du type de fichier, codage accepté à côté du client, je.e., gzip, etc., Et la langue acceptée
  • Contrôle du cache: montre comment les informations demandées sont mises en cache
  • Pragma: Affiche le nom du cookie et valorise le navigateur pour le site Web
  • Connexion: En-tête qui contrôle si la connexion reste ouverte après la transaction

Dans le Http ok Paquet du serveur à la clientèle, l'observation des informations dans la couche de protocole de transfert hypertexte affiche "200 ok". Ces informations indiquent un transfert réussi normal. Dans le paquet HTTP OK, vous pouvez observer différents en-têtes par rapport au Http paquet. Ces en-têtes contiennent des informations sur le contenu demandé.

  • Version de réponse: Informe sur la version HTTP
  • Code d'état, phrase de réponse: Envoyé par le serveur
  • Date: Le moment où le serveur a reçu le paquet HTTP
  • Serveur: Détails du serveur (nginx, apache, etc.)
  • Type de contenu: Type de contenu (JSON, TXT / HTML, etc.)
  • Content-Length: longueur totale du contenu; Notre fichier est de 39696 octets

Dans cette section, vous avez appris comment fonctionne HTTP et ce qui se passe chaque fois que nous demandons du contenu sur le Web.

Conclusion

Wireshark est l'outil de renifleur de réseau le plus populaire et le plus puissant et d'analyse. Il est largement utilisé dans les tâches d'analyse des paquets quotidiennes dans diverses organisations et instituts. Dans cet article, nous avons étudié des sujets de niveau débutant à moyen du Wireshark à Ubuntu. Nous avons appris le type de filtres offerts par Wireshark pour l'analyse des paquets. Nous avons couvert le modèle de couche réseau dans Wireshark et effectué une analyse de paquets ICMP et HTTP en profondeur.

Cependant, apprendre et comprendre divers aspects de cet outil est un long voyage difficile. Par conséquent, il existe de nombreuses autres conférences et tutoriels en ligne disponibles pour vous aider à des sujets spécifiques de Wireshark. Vous pouvez suivre le guide d'utilisation officiel disponible sur le site Web de Wireshark. De plus, une fois que vous avez construit la compréhension de base de l'analyse du protocole, il est également conseillé d'utiliser un outil comme Varonis qui vous indique la menace potentielle, puis utilise Wireshark pour enquêter pour une meilleure compréhension.