Wireshark : fusionner des fichiers de capture avec Mergecap
I. Présentation
Dans ce tutoriel, nous allons apprendre à fusionner (pas comme dans DBZ 😉) plusieurs fichiers de capture en un seul en utilisant l’outil Mergecap, qui fait partie de la boite à outil de Wireshark.
Avant de continuer, voici la liste des précédents articles de cette série sur Wireshark :
- Tutoriel - Installation pas-à-pas de Wireshark
- Tutoriel - Découverte de l'interface Wireshark
- Tutoriel - Astuces pour personnaliser l'interface de Wireshark !
- Tutoriel - Wireshark et les filtres de capture
- Tutoriel - Wireshark et les filtres d'affichage
- Tutoriel - Wireshark et la résolution de noms
- Tutoriel - Wireshark et les commentaires
- Tutoriel - Wireshark : activer la géolocalisation d’adresses IP
- Tutoriel - Wireshark - Comment déchiffrer les flux TLS comme le HTTPS ?
- Tutoriel - Wireshark - Comment décoder un protocole ?
- Tutoriel - Wireshark - Comment anonymiser un fichier de capture avec TraceWrangler ?
- Tutoriel - Wireshark - Créer une capture en continue (sans saturer sa machine)
- Téléchargement - Wireshark
II. Prérequis
A. Vérification de l’installation de Mergecap
Le seul prérequis nécessaire et d’avoir installé Mergecap lors de l’installation de Wireshark, si celui-ci n’est pas disponible, il faut réinstaller Wireshark. Pour rappel, dans le premier épisode de cette série, nous avions vu comment installer Wireshark.
Dans un premier temps, nous allons vérifier ensemble que Mergecap est bien installé sur votre ordinateur.
Pour ce faire, il faut aller dans le répertoire d’installation de Wireshark. Pour y accéder plus rapidement et pour obtenir le chemin d'installation, je vous propose de faire un clic droit sur l’icône de Wireshark sur votre bureau, de cliquer sur "Propriétés" puis sur "Emplacement du fichier". Ici, vous devriez pouvoir visualiser "mergecap.exe".
B. Ajouter Wireshark au Path Windows
Ceci n’est pas un prérequis obligatoire à l’utilisation de Mergecap, mais cette deuxième étape va faciliter l’utilisation de l’ensemble des outils de Wireshark.
Intégrer Wireshark à la variable d'environnement "path" de Windows permet d’appeler les outils de lignes de commande de Wireshark depuis n’importe quel répertoire à partir des consoles Windows, notamment l'Invite de commandes.
Pour ce faire il faut aller sur les « Paramètres » de votre ordinateur ensuite « Système », Paramètres avancés du système » et « Variables d’environnement… ».
La fenêtre de configuration des variables d’environnement s’affiche.
Pour ajouter une entrée à la variable d'environnement "Path" déjà existante sous Windows, il faut modifier la partie « Variables systèmes ».
Vous devez cliquer sur le nom de la variable « Path » et ensuite cliquer sur le bouton « Modifier… ».
Vous arrivez ensuite dans le menu de modification des variables. Cliquez sur « Nouveau » pour créer une nouvelle entrée et ensuite sur « Parcourir… ».
Recherchez le répertoire d’installation de Wireshark et cliquez sur « OK ».
Quand c'est fait, cliquez sur « OK » pour valider la modification sur l’ensemble des fenêtres ouvertes pour prendre en compte ce nouveau chemin dans la variable.
N.B : mon ordinateur est sous Windows 11 donc la procédure peut-être légèrement différente suivant votre système d’exploitation.
C. Vérification de la prise en compte du chemin
Pour valider la prise en compte de Wireshark dans la variable "PATH" de Windows, il suffit d’ouvrir l’invitz de commandes Windows et de taper la commande « path » :
Le répertoire de Wireshark doit s’afficher. Vous pouvez maintenant lancer Wireshark en l'appelant par son exécutable, depuis n'importe où.
N.B : si cela ne fonctionne pas, n’hésitez pas à redémarrer votre ordinateur pour la bonne prise en compte de la nouvelle variable d’environnement système.
III. Utilisation de Mergecap
A. Afficher l’aide
Pour afficher l’aide de mergacap, il faut taper la commande suivante « mergecap -h » qui va renvoyer comme résultat l’ensemble des options disponibles.
Voici quelques options intéressantes :
-a : ignore le timestamps des fichiers de capture, si cette option n’est pas utilisé par mergecap suppose que l’ensemble des fichiers à fusionner se fait chronologiquement suivant la liste des fichiers.
-s : permet de tronquer les paquets, pour supprimer les données applicatives, par exemple
-w : enregistrer dans un fichier de capture
-F : permets d’enregistrer le fichier de capture dans un autre format que celui par défaut qui est pcapng
-V : permets d’avoir un mode verbeux pendant l’utilisation de mergecap
-v : voir la version de mergecap
B. Les formats de fichier de capture supportés
Pour voir les formats de disponibles, il faut taper la commande :
mergecap -F
Mergecap supporte beaucoup de formats différents dont certains propriétaires comme Citrix (Netscaler) ou de la solution NPM de chez Viavi Oberserver et Netmon de Microsoft.
C. Fusion des fichiers de capture
Pour cette démonstration, nous allons utiliser les fichiers de capture créé dans le tutoriel précédent.
Voici la commande que je vais entrer pour fusionner les fichiers de capture :
mergecap -w nom_fichier_sortie nom_fichier_entrée1 nom_fichier_entrée2 nom_fichier_entrée3
Ce qui donne avec les noms de fichiers :
mergecap -w fusion capture_continu_00001.pcapng capture_continu.00002_pcapng capture_continu_00003.pcapng
Si aucun message d’erreur n’apparaît, c’est que mergecap a réussi à fusionner les fichiers de capture.
D. Mode verbeux activé
Avec le mode verbeux activé, on voit les opérations faites par mergecap.
Mergecap va vérifier :
- Le format de chaque fichier de capture : ici, pcapng
- Sélection du type de trame : ici, Ethernet
- Mergecap annonce qu’il est prêt à réenregistrer l’ensemble des paquets
- Mergecap va enregistrer les paquets un par un
- Mergecap annonce qu’il a terminé l’enregistrement des paquets dans un seul fichier
E. Vérification
Les fichiers fusion et fusion2 sont bien présents.
Ouvrez le fichier "fusion" ou "fusion2" avec Wireshark.
Cliquez sur "Statistiques" dans le menu Wireshark puis "Propriétés du fichier de capture".
On peut voir la mention "Application : Mergecap" dans la partie « Capture », ce qui confirme que ce fichier a bien été fait avec l’utilitaire de ligne de commandes Mergecap.
IV. Conclusion
Ce tutoriel va vous permettre de fusionner plusieurs fichiers de capture, ce qui est très pratique quand on souhaite faire une analyse de plusieurs fichiers de capture faits lors d’une capture continue.
Bonne fusion à tous 😊