.
Photo de Gerald Schömbs sur UnsplashWireshark est l’analyseur de protocole réseau le plus utilisé au monde. Il vous permet de plonger dans le trafic capturé et d’analyser ce qui se passe au sein d’un réseau. Aujourd’hui, parlons de la façon dont vous pouvez utiliser l’interface de ligne de commande de Wireshark, Tshark, pour accomplir des résultats similaires.
Nous allons passer par quelques exemples de commandes, alors n’hésitez pas à utiliser un fichier PCAP pour suivre ! Vous pouvez trouver quelques exemples de fichiers de capture ici.
Sans fichier d’entrée, Tshark agit simplement comme Tcpdump. Il va capturer le trafic du premier réseau disponible et afficher ses paquets sur la sortie standard. Alternativement, vous pouvez utiliser le drapeau « -r » pour spécifier le fichier de capture réseau.
tshark -r network.pcap
De cette façon, Tshark affichera les paquets du fichier de capture dans la sortie standard. Jetons un coup d’œil à une ligne de la sortie!
35 29.947879 192.168.0.55 → 192.168.0.91 HTTP 423 HTTP/1.1 200 OK
Cela peut sembler compliqué, mais rappelez-vous que la sortie de la ligne de commande de Tshark reflète l’interface de Wireshark. Les champs de gauche à droite dans la sortie de la ligne de commande sont :
Packet number, Time, Source, Destination, Protocol, Length, Info
35, 29.947879, 192.168.0.55, 192.168.0.91, HTTP, 423, HTTP/1.1 200 OK
Le champ « Time » indique quand le paquet a été capturé. Les champs « Source » et « Destination » affichent l’IP source et l’IP de destination de ce paquet. Le champ « Protocol » affiche le protocole utilisé. Le champ « Longueur » indique la longueur du paquet. Et enfin, le champ « Info » affiche toute information supplémentaire sur le paquet.
Vous pouvez filtrer ces résumés de paquets en faisant passer la sortie de Tshark dans grep. Par exemple, cette commande sortira les paquets avec un code d’état HTTP « 200 OK ».
tshark -r network.pcap | grep "200 OK"
Exportation de paquets intéressants
Vous pouvez examiner le contenu des paquets en exportant ses objets. L’exportation d’objets dans Tshark vous permet d’extraire différents types de données de paquets, comme les objets HTTP et SMB. La syntaxe d’exportation d’objets est la suivante.
tshark -r network.pcap --export-objects PROTOCOL,DESTINATION_DIR
Le PROTOCOL spécifie le type d’objet d’exportation, tandis que le DESTINATION_DIR est le répertoire que Tshark utilisera pour stocker les fichiers exportés. Par exemple, cette commande exportera les fichiers qui ont été transportés par le réseau et les stockera dans le répertoire « exported_files_dir ».
tshark -r network.pcap --export-objects http,exported_files_dir
Utilisation des filtres de paquets
Tout comme dans Wireshark, vous pouvez également filtrer les paquets en fonction de certains critères. Vous pouvez simplement mettre vos filtres entre guillemets à la fin de la commande.
tshark -r network.pcap "http.request.method == POST and http.file_data contains password"
Le format des filtres qui peuvent être appliqués est identique à celui de Wireshark. Vous pouvez trouver une liste des filtres disponibles ici.
Vous pouvez également spécifier le format de sortie des données de paquets décodées en utilisant le drapeau « -T ». Par exemple, cette commande affichera toutes les requêtes HTTP GET au format JSON.
tshark -r network.pcap -T json "http.request.method==GET"
Enfin, vous pouvez traiter la sortie de Tshark en la canalisant dans d’autres outils de ligne de commande tels que grep.
Conclusion
Ce post ne présente qu’une petite fraction de ce que Wireshark et Tshark peuvent faire. Ce sont des outils polyvalents qui sont capables d’effectuer de nombreux types d’analyse différents.
Si vous souhaitez en savoir plus sur ces outils, consultez leur documentation ici.