Auteur Sujet: Wireshark : Capturer son trafic internet sans perdre de paquets  (Lu 6756 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 216
    • Twitter LaFibre.info
Conseils pour l'analyse avec Wireshark / TcpDump
Mode d'emploi pour Windows / Linux / MacOS

Vous vous êtes peut etre intéressé à analyser votre trafic ?
En ADSL, l'utilisation de Wireshark (nouveau nom pour Ethereal) ne pose pas de problème particulier si votre PC est puissant.

En fibre optique avec des débits de 50 Mb/s ou 100 Mb/s Wireshark n'arrive pas à capturer tous les paquets.

Comment voir que l'on ne capture pas tous les paquets ?
Après avoir terminé la capture, vous avez "Drop : 0" qui s'affiche en abs de la fenetre wireshark.

Si c'est 0, c'est bon, aucun paquet na été ignoré. Si vous avez "Drop : 5473", vous avez 5473 paquets qui ne sont pas présents  :'(

Quelques suggestions :

  • Décocher la case "Update list of packets in real time" dans la fenetre d'option de capture
  • Ne pas mettre de filtre lors de la capture (ne pas utiliser les "read filters" ni les "capture filters")
  • Arrêter les programmes inutiles afin de libérer de la puissance CPU et de la RAM qui pourra "cacher" les écriturres disque
  • Pour les PC avec 2 disques dur, utiliser un disque pour le transfert http / ftp et un pour Wireshark (changer l'emplacement du fichier temporaire)
  • Windows uniquement : augmenter la tailler du buffer "Buffer size" dans la fenêtre d'option de capture
  • Si vous avez plusieurs carte réseau, tester avec un autre, elle ne consomme pas toute autant de CPU pour un même trafic


Si malgré ces conseils vous perdez encore des paquets, il reste encore 6 solutions a utiliser éventuellement ensemble :

- Réduire la taille des paquet capturé au strict minimum pour votre usage. Par exemple en n'enregistrant que les 100 premiers octets de chaque paquet contre plus de 1500 habituellement, vous limitez fortement les écriture sur le disque qui sont critique pour la perte de paquets lors de la capture.

- Si vous avez beaucoup de RAM, vous pouvez créer un RAMdisk ou vous demanderez à wireshark d'écrire son fichier. Un RAMdisk est un disque de quelques centaines de Mo qui va puiser l'espace en RAM (c'est donc d'accès immédiat avec un débit de plusieurs Go par seconde). Attention, la mémoire réservée au Ramdisk n´est plus utilisable comme mémoire vive centrale par votre système d'exploitation. Faite donc attention a laisser au moins 512 Mo à Windows XP / linux sans quoi il va swaper et la c'est la catastrophe pour la capture. (pour vista laissez 1 Go au système est un minimum)
Mode d'emploi pour crée un ramdisque : pour Windows / pour linux / Pour MacOS


- Utiliser un outil spécialisé dans la capture (Wireshark n'est pas optimiser la capture, pour ne pas avoir de perte, il est conseillé de passer par un outil qui fait de la capture uniquement, source : http://wiki.wireshark.org/Performance). Une fois la capture réalisée vous pourez l'ouvrir avec Wireshark pour apliquer vos filtres et analyser la trace. Ces outils sont :

- Sous linux prioriser l'application tcpdump :
# Ecriture du cache sur le disque pour que dump ne se produise pas pendant l'écriture
/bin/sync

# Démarrage de la capture
/usr/bin/sudo /usr/bin/nice -n -10 /usr/bin/ionice -c1 /usr/sbin/tcpdump -i eth0 -n -s 0 -w $1/Capture.pcap host 87.88.87.88 or 87.88.87.87 and udp -c 90000 2> $1/drop_pendant_capture.txt

Le fait de mettre /usr/bin/sudo /usr/bin/nice -n -10 devant la commande tcpdump priorise le CPU pour tcpdump
Le fait de mettre /usr/bin/sudo /usr/bin/ionice -c1 devant la commande tcpdump priorise l'accès disque pour tcpdump


- Utiliser un système d'exploitation Linux serveur : les OS en ligne de commande ont moins de taches faisant des accès au disque et créant des pertes de paquets.

- Sous linux supprimer la crontab afin de ne laisser que le process de capture :

sudo nano -w /etc/crontab => commenter les différentes lignes
sudo nano -w /etc/cron.d/anacron => commenter la ligne
sudo nano -w /etc/cron.d/update-motd => commenter les différentes lignes