Requin filaire

Tutoriel détaillé de WireShark

Tutoriel détaillé de WireShark
Wireshark est un outil d'inspection du trafic réseau open source et gratuit. Il capture et affiche les 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 des réseaux de base et est considéré comme un outil essentiel pour les administrateurs système et les experts en sécurité réseau.

Wireshark est l'outil incontournable de facto pour plusieurs problèmes de réseau allant du dépannage du réseau à l'examen des problèmes de sécurité, à l'inspection du trafic réseau d'une application suspecte, au débogage des implémentations de protocole, ainsi qu'à des fins d'apprentissage de protocole réseau, etc.

Le projet Wireshark a été lancé en 1998. Grâce à la contribution volontaire de l'expert mondial des réseaux, il continue de faire des mises à jour pour les nouvelles technologies et les normes de cryptage. Par conséquent, c'est de loin l'un des meilleurs outils d'analyse de paquets et est utilisé comme outil commercial standard par diverses agences gouvernementales, établissements 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 :

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

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

Filtres Wireshark

Wireshark est livré avec de puissants moteurs de filtrage, 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éduisent le trafic non requis et affichent uniquement les paquets que vous souhaitez voir. Cette fonctionnalité aide les administrateurs réseau à résoudre les problèmes rencontrés.

Avant d'entrer dans le détail des filtres. Si vous vous demandez comment capturer le trafic réseau sans filtre, vous pouvez soit appuyer sur Ctrl+E, soit accéder à l'option Capture de l'interface Wireshark et cliquer sur Démarrer.

Maintenant, approfondissons les filtres disponibles.

Filtre de capture

Wireshark prend en charge la réduction de la taille d'une capture de paquet brut en vous permettant d'utiliser un filtre de capture. Mais il ne capture que le trafic de paquets qui correspond au filtre et ignore le reste. Cette fonctionnalité vous permet de surveiller et d'analyser le trafic d'une application spécifique utilisant le réseau.

Ne pas confondre ce filtre avec les filtres d'affichage. Ce n'est pas un filtre d'affichage. Ce filtre apparaît dans la fenêtre principale qui doit être défini avant de commencer la capture de paquets. De plus, vous ne pouvez pas modifier ce filtre lors de la capture.

Vous pouvez aller au Capturer 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 :

Filtre d'affichage

Les filtres d'affichage vous permettent de masquer certains paquets du 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 désormais contrôler et affiner les paquets sur lesquels vous souhaitez vous concentrer tout en masquant les paquets inutiles.

Vous pouvez ajouter des filtres dans la barre d'outils des filtres d'affichage juste au-dessus du premier volet contenant les informations sur les paquets. Ce filtre peut être utilisé pour afficher les 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, de la comparaison entre les champs et bien plus encore.

C'est exact! Vous pouvez créer une combinaison de filtres en utilisant des opérateurs logiques comme ==.!=,||,&&, etc.

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

Couches réseau dans Wireshark

Outre l'inspection des paquets, Wireshark présente des couches OSI qui facilitent le processus de dépannage. Wireshark affiche les couches dans l'ordre inverse, par exemple :

  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 n'affiche 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 illustré dans l'instantané suivant, présente le résumé physique de la trame, comme les informations sur le matériel. En tant qu'administrateur réseau, vous n'extrayez généralement pas d'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. C'est relativement simple car il ne délivre que la trame de l'ordinateur portable au routeur ou à la prochaine trame adjacente sur le support 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 de nombreuses 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 de l'en-tête et du numéro de séquence qui change pour chaque paquet.

Couche d'application

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

Analyse du trafic

Analyse du trafic ICMP

ICMP est utilisé pour le rapport d'erreurs et les tests en déterminant si les données atteignent la destination prévue à temps ou non. L'utilitaire Ping utilise des messages ICMP pour tester la vitesse de la connexion entre les appareils, et rapporte combien de temps le paquet met pour atteindre sa destination puis revenir.

Le ping utilise le message ICMP_echo_request au périphérique sur le réseau, et le périphérique répond par le message ICMP_echo_reply. Pour capturer des paquets sur le Wireshark, démarrez la fonction 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 de paquets dans Wireshark. Dans l'instantané ci-dessous, vous pouvez remarquer le Paquet ICMP envoyé = paquet ICMP reçu avec 0% de perte de paquets.

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

Dans la couche réseau, vous pouvez remarquer la source Src comme mon ip_address, alors que la destination Heure d'été ip_address est du serveur Google, alors que la couche IP mentionne le protocole comme étant ICMP.

Maintenant, nous zoomons sur les détails du paquet ICMP en développant Internet Control Message Protocol et décodons les cases en surbrillance dans l'instantané ci-dessous :

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 du paquet, 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, notez la couche IPv4. Les adresses source et destination ont été échangées.

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

Vous pouvez remarquer que la réponse ICMP fait écho à la même somme de contrôle de demande, 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 sont POST et GET :

PUBLIER: cette méthode est utilisée pour envoyer en toute sécurité des informations confidentielles au serveur qui n'apparaissent 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 d'approfondir l'analyse des paquets HTTP, nous allons d'abord brièvement démontrer la négociation à trois voies TCP dans Wireshark.

Prise de contact à trois voies TCP

Dans une poignée de main à trois voies, le client initie une connexion en envoyant un paquet SYN et en recevant une réponse SYN-ACK du serveur, qui est reconnue par le client. Nous utiliserons la commande d'analyse Nmap TCP connect pour illustrer la négociation 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 diverses poignées de main à trois voies établies en fonction de ports particuliers.

Utilisez le tcp.port == 80 filtre pour voir si la connexion est établie via le port 80. Vous pouvez remarquer la poignée de main à trois voies complète, je.e., SYN, SYN-ACK, 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 la documentation Wireshark : http://www.gaufrier.com et téléchargez le guide d'utilisation PDF. En attendant, Wireshark doit capturer tous les paquets.

Appliquez un filtre HTTP et recherchez le HTTP OBTENIR requête 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 du milieu. Il peut y avoir beaucoup d'en-têtes dans une requête, selon le site Web et le navigateur également. Nous analyserons les en-têtes présents dans notre requête dans le snapshot ci-dessous.

Dans le HTTP OK paquet du serveur au client, en observant les informations dans la couche Hypertext Transfer Protocol affiche "200 OK". Cette information indique un transfert réussi normal. Dans le paquet HTTP OK, vous pouvez observer des en-têtes différents par rapport au HTTP OBTENIR paquet. Ces en-têtes contiennent des informations sur le contenu demandé.

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 et d'analyse de réseau le plus populaire et le plus puissant. Il est largement utilisé dans les tâches d'analyse de paquets au quotidien dans diverses organisations et instituts. Dans cet article, nous avons étudié quelques sujets de niveau débutant à moyen du Wireshark dans Ubuntu. Nous avons appris le type de filtres proposés par Wireshark pour l'analyse des paquets. Nous avons couvert le modèle de couche réseau dans Wireshark et effectué une analyse approfondie des paquets ICMP et HTTP.

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

Comment installer et jouer à Doom sur Linux
Introduction à Doom La série Doom est née dans les années 90 après la sortie du Doom original. Ce fut un succès instantané et à partir de ce moment-là...
Vulkan pour les utilisateurs Linux
Avec chaque nouvelle génération de cartes graphiques, nous voyons les développeurs de jeux repousser les limites de la fidélité graphique et se rappro...
OpenTTD contre Simutrans
Créer votre propre simulation de transport peut être amusant, relaxant et extrêmement attrayant. C'est pourquoi vous devez vous assurer que vous essay...