Wireshark est un outil open source de capture et d'analyse de paquets réseau. Cet outil est principalement utilisé pour réaliser des captures de trafic réseau sur les interfaces d'une machine. Ces captures peuvent ensuite être enregistrées dans des fichiers PCAP (extension .pcap) pour analyse.
sudo apt-get install wireshark
TShark est une version CLI de Wireshark qui permet les mêmes actions d'enregistrement et d'analyse de captures réseau mais au travers de la ligne de commande uniquement. TShark peut se montrer utile dans de nombreux cas :
Supposons que vous êtes confronté à des problèmes de latence sur un réseau local, vous pouvez lancer Wireshark et sélectionner l'interface réseau à surveiller.
En appliquant un filtre pour ne capturer que le trafic pertinent et en filtrant le trafic vers ou depuis une adresse IP spécifique par exemple, vous pourrez, en analysant les résultats, identifier les sources de latence telles que des retards de transmission ou des pertes de paquets.
Voici un exemple d'usage de tshark. Imaginons une importante capture réseau comprenant un très grand nombre de paquets, mais seuls les protocoles DNS et HTTP nous intéressent. Nous pouvons extraire les paquets comprenant ces protocoles dans une nouvelle capture en utilisant Tshark :
tshark -r capture_example.pcapng -Y 'http || dns' -w out.pcapng
Nous pouvons ensuite lire la capture avec tshark :
tshark -r out.pcapng
1 0.000000000 192.168.121.3 → 192.168.202.49 DNS 103 Standard query response 0x6f3d A perdu.com A 104.21.5.178 A 172.67.133.176 2 0.000000209 192.168.121.3 → 192.168.202.49 DNS 127 Standard query response 0x8802 AAAA perdu.com AAAA 2606:4700:3033::6815:5b2 AAAA 2606:4700:3037::ac43:85b0 3 0.009499422 192.168.5.74 → 104.21.5.178 HTTP 141 GET / HTTP/1.1 4 0.377068826 104.21.5.178 → 192.168.5.74 HTTP 73 Continuation