TShark est conçu comme une CLI ou une interface de ligne de commande de Wireshark pour capturer et analyser des paquets directement à partir de la CLI. La plupart des gens ne connaissent pas TShark, contrairement à Wireshark couramment utilisé. TShark est inclus avec Wireshark. Ceci est particulièrement utile lorsqu'une interface graphique n'est pas disponible. Toutes les options utilisées dans Wireshark sont également prises en charge ici. Par ex. les paquets capturés peuvent être stockés dans un fichier et récupérés ultérieurement pour analyse. Le format de fichier de capture par défaut est pcapng qui est le même que celui utilisé par Wireshark. L'avantage d'utiliser TShark est qu'il peut être inclus dans des scripts (il peut être utilisé dans un script python) et peut être utilisé sur des systèmes distants via SSH. L'inconvénient est bien sûr qu'il n'a pas d'interface graphique.
Comme Wireshark, TShark est disponible pour les principaux systèmes d'exploitation :Linux, Mac OS, Windows.
Qu'allons-nous couvrir ici ?
Dans ce tutoriel, nous vous expliquerons TShark et vous présenterons quelques cas d'utilisation de base. Plongeons avec TShark. Pour ce guide, nous utiliserons Kali Linux qui est pré-livré avec WireShark et TShark.
De quoi aurez-vous besoin ?
En fait, vous devez avoir une compréhension approfondie des concepts des réseaux informatiques et des protocoles associés tels que TCP/IP, etc. De plus, dans certains cas, des droits d'administrateur peuvent être requis.
Installation de TShark
TShark est pré-installé sur Kali Linux. Pour l'installation sur le système Ubuntu/Debian, utilisez la commande :
$ sudo apt install tshark
Pour les autres distributions, utilisez la méthode d'installation par défaut pour installer TShark. Pour vérifier la version de TShark sur votre système, ouvrez un terminal et entrez :
$ tshark -v
TShark contre Tcpdump
TShark a la même capacité que celle de Wireshark. TShark fonctionne de la même manière que tcpdump lorsqu'aucune option n'est utilisée. Même TShark est capable de remplacer tcpdump. Comparons un instant les deux outils. Regardez la capture d'écran ci-dessous, nous avons exécuté les deux outils sans aucune option :
Si vous observez attentivement, vous remarquerez que la sortie de TShark est plus lisible par l'homme que tcpdump. TShark utilise la bibliothèque pcap pour capturer les paquets. Par défaut, il écrira le fichier de sortie au format pcapng. Si vous voulez un autre format, utilisez l'option '-F' pour lister et sélectionner parmi les formats disponibles.
Travailler avec TShark
Voyons maintenant quelques cas d'utilisation de TShark. Nous commençons d'abord par vérifier l'interface disponible pour la capture de TShark. Selon votre méthode d'installation, vous devrez peut-être disposer des privilèges "sudo". Exécutez la commande ci-dessous pour obtenir la liste des interfaces disponibles :
$ tshark –D
Choisir l'interface sur laquelle écouter
Par défaut, TShark capture sur la première interface qu'il voit. Par conséquent, à partir de la liste ci-dessus, TShark définira sa cible sur "eth0". Par conséquent, si nous ne spécifions pas l'interface, il utilisera automatiquement l'interface "eth0". Cependant nous voulons définir explicitement l'interface, nous devrons utiliser l'option '-i' :
$ tshark -i eth0
De cette manière, TShark capturera tout ce qui le traverse. Si nous le voulons, nous pouvons limiter la limite de capture à quelques paquets, disons à 10 paquets, en utilisant l'option "-c" ou nombre de paquets :
$ tshark -i eth0 -c 10
Stocker les fichiers de capture
Une bonne chose que TShark a est que nous pouvons enregistrer les captures dans un fichier pour une utilisation ultérieure. Dans la commande ci-dessus, utilisez une option "-w" pour enregistrer la capture dans un fichier, dites mycapture.pcap :
$ tshark -c 500 -w macapture.pcap
Pour lire le fichier ci-dessus, utilisez la commande :
$ tshark -r mycapture.pcap
La sortie de la commande ci-dessus sera affichée sur le terminal.
Spécification d'un hôte cible
Nous pouvons configurer TShark pour filtrer le trafic entrant et sortant d'un hôte spécifique, par ex. google.com. Pour le démontrer, envoyons une requête ping à "google.com"
$ ping google.com
Nous exécutons maintenant la commande TShark pour capturer le trafic ci-dessus :
$ tshark -i eth0 -c 10 hôte google.com
Remarque : Nous pouvons également utiliser l'adresse IP de l'hôte au lieu du nom d'hôte.
La commande ci-dessus contient toutes les requêtes ping envoyées vers et depuis l'hôte (google.com). Pour filtrer le trafic entrant, utilisez la commande :
$ tshark -i eth0 src hôte google.com
De la même manière, utilisez la commande ci-dessous pour filtrer le trafic sortant :
$ tshark -i eth0 dst hôte google.com
Semblable à une requête ping, nous pouvons également exécuter une analyse Nmap et enregistrer nos résultats dans un fichier ou les analyser directement avec TShark.
Conclusion
TShark est un outil essentiel pour les analyseurs de sécurité. Cet article ne fait qu'effleurer la surface pour vous faire savoir ce que vous pouvez faire avec TShark. Il y a tout un monde de grandes possibilités avec TShark. Pour en savoir plus sur TShark, rendez-vous sur https://www.wireshark.org/docs/ où vous trouverez des vidéos de formation, des guides, etc. Les pages de manuel pour TShark stockent également d'énormes sources d'informations.