Wireshark (Français)
Wireshark est un analyseur de paquets gratuit et open-source. Il est utilisé pour le dépannage des réseaux, l'analyse, le développement de logiciels et de protocoles de communication, et l'éducation.
Installation
Installez le paquet wireshark-qt pour l'interface graphique de Wireshark ou wireshark-cli pour la CLI simple tshark(1).
termshark est une interface utilisateur alternative pour le terminal.
Privilèges de capture
N'exécutez pas Wireshark en tant que root, ce n'est pas sûr. Wireshark a implémenté la séparation des privilèges, ce qui signifie que l'interface graphique de Wireshark (ou la CLI de tshark) peut s'exécuter en tant qu'utilisateur normal tandis que l'utilitaire de capture dumpcap s'exécute en tant que root [1].
Le script d'installation du paquet wireshark-cli définit les capacités de capture de paquets sur l'exécutable /usr/bin/dumpcap
.
/usr/bin/dumpcap
ne peut être exécuté que par root et les membres du groupe wireshark
, donc pour utiliser Wireshark en tant qu'utilisateur normal vous devez ajouter votre utilisateur au groupe d'utilisateurs wireshark
.
Quelques techniques de capture
Il existe plusieurs façons de capturer exactement ce que vous recherchez dans Wireshark, en appliquant des filtres de capture ou des filtres d'affichage.
Filtrage des paquets TCP
Si vous voulez consulter tous les paquets TCP actuels, tapez tcp
dans la barre Filtre ou dans le CLI, entrez :
$ tshark -f "tcp"
Filtrer les paquets UDP
Si vous voulez consulter tous les paquets UDP actuels, tapez udp
dans la barre Filtre ou dans la CLI, entrez : $ tshark -f "tcp" ===
$ tshark -f "udp"
Filtrer les paquets vers une adresse IP spécifique
- Si vous souhaitez consulter tout le trafic allant vers une adresse spécifique, entrez display filter
ip.dst == 1.2.3.4
, en remplaçant1.2.3.4
par l'adresse IP vers laquelle le trafic sortant est envoyé. - Si vous souhaitez consulter tout le trafic entrant pour une adresse spécifique, entrez le filtre d'affichage
ip.src == 1.2.3.4
, en remplaçant1.2.3.4
par l'adresse IP vers laquelle le trafic entrant est envoyé. - Si vous souhaitez consulter tout le trafic entrant et sortant pour une adresse spécifique, saisissez un filtre d'affichage
ip.addr == 1.2.3.4
, en remplaçant1.2.3.4
par l'adresse IP concernée.
Exclure les paquets provenant d'une adresse IP spécifique
ip.addr != 1.2.3.4
Filtrer les paquets vers le LAN
Pour consulter uniquement le trafic du réseau local et pas celui d'Internet, exécutez
(ip.src==10.0.0/8 AND ip.dst==10.0.0/8) OR (ip.src==172.16.0.0/12 AND ip.dst==172.16.0.0/12) OR (ip.src==192.168.0.0/16 and ip.dst==192.168.0.0/16)
Cela permettra de filtrer le trafic dans n'importe quel espace du réseau privé.
Filtrer les paquets par port
Consultez tout le trafic sur deux ports ou plus :
tcp.port==80||tcp.port==3306 tcp.port==80||tcp.port==3306||tcp.port==443
Capture «headless» avec dumpcap
dumpcap fait partie de Wireshark et peut être utilisé pour capturer des paquets sans l'interface graphique. Utilisé en combinaison avec tmux, il permettra la capture de paquets dans une session détachée.
Pour voir toutes les options de dumpcap, utilisez le paramètre -h
.
L'exemple suivant fournira une capture de ringbuffer. Il capture vingt fichiers .pcap
de 100 Mo chacun, en remplaçant le fichier le plus ancien par le vingt-et-unième et ainsi de suite... Cela permet une capture continue sans épuiser l'espace disque.
# dumpcap -i 1 -b filesize:100000 -b files:20 -w mycapture.pcapng
-
-i
— numéro d'interface (listé à partir dedumpcap -D
)
-
-b filesize:
— taille du fichier en kB avant le démarrage d'un nouveau fichier.pcap
.
-
-b files:
— le nombre de fichiers à capturer avant d'écraser le plus ancien
-
-w
— écrit la sortie dans le fichiermycaptureidentifiant.pcap