Accueil > Divers (et d’été) > Informatique > Trucs et astuces > Visualiser une capture « tcpdump » en temps réel avec Wireshark
Visualiser une capture « tcpdump » en temps réel avec Wireshark
vendredi 11 mai 2012, par
Wireshark est un extraordinaire outil de monitoring réseau. Il est cependant parfois utile de faire la capture avec « tcpdump » (outil en ligne de commande) et pour ensuite utiliser Wireshark en visualisation.
Cependant, il est frustrant d’attendre la fin de la capture pour travailler sur le fichier ainsi constitué ce qui est frustrant.
Il est possible de visualiser la capture en temps réel au prix d’une petite astuce :
- lancer la capture avec tcpdump dans un fichier capture.cap en utilisant l’option -U (écriture immédiate). L’option « -n » (pas de conversion d’adresse, têche réalisée par Wireshark ultérieurement) peut être judicieuse ;
- créer un « tube nommé » (sous Unix) avec la commande « mkfifo CapPipe »
- lancer en tâche de fond un tail -f de la capture vers le pipe : tail -n +0 -f capture.cap > CapPipe &« -* lancer Wireshark sur ce Pipe : »wireshark -i CapPipe -k« La capture peut d’ailleurs avoir lieu sur une machine distance en stockant le fichier »capture.cap« sur un répertoire réseau et en l’exploitant sur une station de travail ou encore en faisant transiter le contenu de la capure via un ssh ( »tail -n +0f capture.cap | ssh moi@mamachine ’cat > CatPipe’").
Et voilà...
On peut même lancer plusieurs instances de Wireshark avec des filtres différents (à condition de créer autant de tubes nommés que d’instance Wireshark).