Tout sur la fibre optique : FTTH Gpon - FTTH P2P - FTTLA   
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.
Avez-vous perdu votre courriel d'activation?

Connexion avec identifiant, mot de passe et durée de la session
04 Juillet 2009 à 05:39:59
8 842 Messages dans 1 138 Fils de discussion par 583 Membres
Dernier membre: ALeX856
+  La Fibre
|-+  Les tests de débit IPERF - optimiser son PC
| |-+  Les tests de débit IPERF - optimiser son PC
| | |-+  Tutoriels
| | | |-+  Capturer son trafic internet (pour analyse) sans perdre de paquets
  0 Membres et 1 Invité sur ce fil de discussion. « sujet précédent | | sujet suivant »
Pages: [1] Bas de page Imprimer
Auteur
Fil de discussion: Capturer son trafic internet (pour analyse) sans perdre de paquets  (Lu 3067 fois)
vivien
Administrateur
*
Messages: 2 174



Voir le profil WWW
« le: 17 Avril 2008 à 20:39:06 »

Conseils pour l'analyse avec Wireshark / TcpDump
Mode d'emploi pour Windows / Linux / MacOS

Également disponible dans la catégorie Optimisation des débits :

Autres catégories disponible :



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  Pleurs

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 3 solutions :

- 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
- DumpPcap sous linux (et windows ?) installé avec Wireshark
- WinDump sous windows
- TcpDump sous linux.
Journalisée

  • Testez votre débit avec IPERF
 
vivien
Administrateur
*
Messages: 2 174



Voir le profil WWW
« Répondre #1 le: 20 Avril 2008 à 17:34:29 »

Mode d'emploi TcpDump

Pour installer TcpDump sous Debian / Ubuntu :
sudo aptitude install tcpdump

Attention, pour utiliser TcpDump, il faut être root. Sous Ubuntu, il suffit de mettre sudo devant le nom de la commande. (sudo tcpdump ....)


Voici les lignes de commande que j'utilise pour TcpDump :

Pour capturer la totalité des paquets (-s 0 = illimité) :
# tcpdump -i eth0 -n -s 0 -w fichier.cap

Pour ne capturer que les 100 premiers octets de chaque paquets :
# tcpdump -i eth0 -n -s 100 -w fichier.cap

Pour capturer la totalité des paquets qui viennent de l'IP 192.168.1.1 et du port 5001 :
# tcpdump -i eth0 -n -s 0 -w fichier.cap host 192.168.1.1 and port 5001

Pour ne capturer que les 100 premiers octets de chaque paquets qui viennent de l'IP 192.168.1.1 et du port 5001 :
# tcpdump -i eth0 -n -s 100 -w fichier.cap host 192.168.1.1 and port 5001

Pour ne capturer que les paquets IGMP (en totalité) :
# tcpdump -i eth0 -n -s 0 -w fichier.cap igmp

Pour ne capturer qu'un certain nombre de paquets, rajouter l'option -c suivi du nombre de paquets
-c 10000 : 10 000 paquets vidéos UDP (MPEG2-TS) = 13,2 Mo
-c 100000 : 100 000 paquets vidéos UDP (MPEG2-TS) = 132,1 Mo

  • eth0 représente l'interface Ethernet sur laquelle je capture le trafic
  • fichier.cap le chemin/nom du fichier crée
  • -n = Ne pas convertir les adresses (comme l'IP, le port, ect...) vers des noms.


Mode d'emploi Tshark

Attention :
- Sur les systèmes 32 bits ne pas dépasser 2 Go de capture (sur un système 64 bits cette limitation n'est pas présente)
- Si vous ne spécifier pas de nom de fichier un fichier avec un nom aléatoire est crée dans /tmp
- Sur certains linux il est nécessaire de spécifier un dossier où root est le propriétaire du dossier => il faut faire la capture dans /tmp avant de la déplacer

Pour installer Tshark :
- sous Windows : Installer tout simplement wireshark
- sous Debian / Ubuntu : # sudo aptitude install tshark

Pour capturer la totalité des paquets et faire des fichier horodatés de 100 Mo sans limite :

Sous windows : "c:\Program Files\Wireshark\tshark.exe" -i 2 -n -w c:\captures\fichier.cap -b filesize:100000
Sous linux : # tshark -i eth0 -n -w fichier.cap -b filesize:100000

Créer un buffer circulaire de 10 fichiers de 100000 Mo :

Sous windows : "c:\Program Files\Wireshark\tshark.exe" -i 2 -n -w c:\captures\fichier.cap -b filesize:100000 -b files:10
Sous linux : # tshark -i eth0 -n -w fichier.cap -b filesize:100000 -b files:10

La capture change de fichier tous les 100 Mo et seuls les 10 derniers fichiers sont conservés.
Attention, si tshark est arrêté et redémarré, on a 10 nouveaux fichiers (les 10 de la précédente commande sont gardés indéfiniment)

Faire une capture de 100 Mo puis arrêter en affichant les statistiques RTP (perte de paquets) :

Sous windows : "c:\Program Files\Wireshark\tshark.exe" -i 2 -n -w tmp.cap -a filesize:100000 -z rtp,streams
Sous linux : # tshark -i eth0 -n -w tmp.cap -a filesize:100000 -z rtp,streams

Code:
# tshark -i eth0 -n -w tmp.cap -a filesize:100000 -z rtp,streams
Running as user "root" and group "root". This could be dangerous.
Capturing on eth4
73938 packets captured
========================= RTP Streams ========================
    Src IP addr  Port    Dest IP addr  Port       SSRC          Payload  Pkts         Lost   Max Delta(ms)  Max Jitter(ms) Mean Jitter(ms) Problems?
  84.96.146.150  5000   233.136.0.116 65000 0x1324FE6A MPEG-II transport streams 73879     0 (0.0%)            7.39            0.58            0.17
==============================================================


Faire une capture de 10 min puis arrêter en affichant les statistiques RTP (perte de paquets) :

Sous windows : "c:\Program Files\Wireshark\tshark.exe" -i 2 -n -w tmp.cap -a duration:600 -z rtp,streams
Sous linux : # tshark -i eth0 -n -w tmp.cap -a duration:600 -z rtp,streams


Vérifier les pertes de paquets du flux TV pendant 10minutes (statistiques RTP) :

Sous windows : "c:\Program Files\Wireshark\tshark.exe" -i 2 -n -w tmp.cap -a duration:600 -q -z rtp,streams
Sous linux : # tshark -i eth0 -n -w tmp.cap -a duration:600 -q -z rtp,streams

Code:
# tshark -i eth0 -n -w tmp.cap -a duration:600 -q -z rtp,streams
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
141961 packets captured
========================= RTP Streams ========================
    Src IP addr  Port    Dest IP addr  Port       SSRC          Payload  Pkts         Lost   Max Delta(ms)  Max Jitter(ms) Mean Jitter(ms) Problems?
  84.96.146.150  5000   233.136.0.116 65000 0x1324FE6A MPEG-II transport streams 141656   639 (0.4%)          922.74            2.27            0.26 X
==============================================================

En cas de zapping, on voit apparaitre plusieurs flux :
Code:
# tshark -i eth0 -n -w tmp.cap -a duration:600 -q -z rtp,streams
Running as user "root" and group "root". This could be dangerous.
Capturing on eth0
139774 packets captured
========================= RTP Streams ========================
    Src IP addr  Port    Dest IP addr  Port       SSRC          Payload  Pkts         Lost   Max Delta(ms)  Max Jitter(ms) Mean Jitter(ms) Problems?
   86.65.232.22 49152    233.136.0.66  7500 0x033DE189 MPEG-II transport streams 23229     0 (0.0%)           21.14            1.87            0.27
  84.96.146.150  5000   233.136.0.184 65000 0x614D3E1D MPEG-II transport streams  3224     0 (0.0%)           24.42            2.18            0.27
  84.96.146.150  5000   233.136.0.150 65000 0xD9D890F5 MPEG-II transport streams  6006     0 (0.0%)            6.55            0.58            0.26
  84.96.146.150  5000   233.136.0.121 65000 0xC234BC1F MPEG-II transport streams 106901   953 (0.9%)          960.40            2.28            0.26 X


Ne pas afficher les paquets capturés (pour batch) : rajouter l'option -q
Journalisée

  • Testez votre débit avec IPERF
 
vivien
Administrateur
*
Messages: 2 174



Voir le profil WWW
« Répondre #2 le: 20 Avril 2008 à 17:35:14 »

Mode d'emploi pour faire un RamDisk sous linux

Sous Debian / Ubuntu :

Pour créer un RamDisk dans /tmp/ramdisk, une fois (au prochain redémarrage, il n'y aura pas de ramdisk), vous devez taper les commande suivantes :

  • sudo mkdir /tmp/ramdisk0    (créer un point de montage)
  • sudo mke2fs /dev/ram0    (créer / formater un système de fichiers)
  • sudo mount /dev/ram0 /tmp/ramdisk0    (monter le ramdisk)
  • sudo chmod ugoa+rwx /tmp/ramdisk0    (Donner tous les droits d'exécutions pour que root ne soit pas le seul autorisé a écrire)

Pour qu'a chaque démarrage, le RamDisk soit crée (souvenez-vous que les informations étant en ram, tout est pderdu si le PC est éteint), ces informations doivent être incorporé au fichier /etc/rc.local

sudo nano -w /etc/rc.local

Placez les lignes suivantes devant le exit 0 :
Code:
mkdir /tmp/ramdisk0
mke2fs /dev/ram0
mount /dev/ram0 /tmp/ramdisk0
chmod ugoa+rwx /tmp/ramdisk0
exit 0



Pour modifier la taille max du RamDisk (par default le ramdisk est limité à 64 Mo) à 500 Mo sous linux, on doit modifier le fichier de menu ( /boot/grug/menu.lst ) de grub, l'utilitaire qui permet de démarrer linux :

sudo nano -w /boot/grub/menu.lst

Il faut rajoutez à la fin de la ligne ramdisk_size=500000 :

Vous avez une ligne du type :
Code:
kernel          /boot/vmlinuz-2.6.22-14-generic root=UUID=247a6bba-fe61-4f09-b6ee-1aa973cd3996 ro quiet splash locale=fr_FR
ou
Code:
kernel          /boot/vmlinuz-2.6.24-16-generic root=UUID=8111005e-9c1a-479d-b482-a6cee206795b ro quiet splash

Il faut donc le modifier comme ceci :
Code:
kernel          /boot/vmlinuz-2.6.22-14-generic root=UUID=247a6bba-fe61-4f09-b6ee-1aa973cd3996 ro quiet splash locale=fr_FR ramdisk_size=500000
ou
Code:
kernel          /boot/vmlinuz-2.6.24-16-generic root=UUID=8111005e-9c1a-479d-b482-a6cee206795b ro quiet splash ramdisk_size=500000

Information importante : Sous linux un RamDisk ne prend de la place en RAM qu'a hauteur des fichiers copiés dessus. Si vous avez 1 Go de RAM, la création de ce RamDisk de taille maximum de 500 Mo ne prendras pas de place en RAM tant que vous n'y metterez pas de fichiers. Par contre il sera impossible d'écrire plus de 500 Mo, comme si c'était une clef USB de 500 Mo.

PS : J'ai des problèmes a monter des ramdisk de taille > 500 Mo (PC avec 2 go de ram). Le formatage se passe bien mais impossible de monter la partition :
Code:
# mount -t ext2 /dev/ram1 /tmp/ramdisk0
mount: wrong fs type, bad option, bad superblock on /dev/ram1, missing codepage or helper program, or other error
Par contre aucun problème pour utiliser plusieurs de 500 Mo simultanément.
Journalisée

  • Testez votre débit avec IPERF
 
Pages: [1] Haut de page Imprimer 
« sujet précédent | | sujet suivant »
Aller à:  

Partenaires : PauBC | DigitalBitrate | Soluce-ADSL
HADOPI - Le Net en France : black-out
Propulsé par MySQL Propulsé par PHP XHTML 1.0 Transitionnel valide ! CSS valide ! Ig-Oh Theme by koni.
Page générée en 0.075 secondes avec 21 requêtes.