Simuler des problèmes réseau avec Clumsy

I. Présentation de Clumsy

Les pannes réseau sont parfois difficiles à prévoir et leurs effets également. Comment savoir comment réagiront vos systèmes, vos applications, vos serveurs en cas de problème ou de dysfonctionnement du réseau ? La pire des choses est bien entendu d'attendre que cela arrive pour le savoir, c'est pourquoi il est utile de connaître Clumsy, un outil qui tourne sous Windows et qui permet de simuler des dysfonctionnements réseau.

II. Télécharger et lancer Clumsy

La première chose à faire est bien entendu de récupérer cet outil sur son site officiel : http://jagt.github.io/clumsy/download.html

Selon votre système, vous pourrez récupérer Clumsy pour Windows 32 ou 64 bits. Une fois cela fait, il suffira de le lancer en cliquant sur l'exécutable. Nous aurons alors cette fenêtre :

clumsy-reseau
Interface Clumsy

III. Utilisation de Clumsy

Comme vous pourrez le voir, Clumsy propose de nombreuses possibilités. On pourra simuler :

  • du lag qui est opéré en retardant l'arrivée des paquets
  • des pertes de paquet au hasard (Drop)
  • un engorgement du réseau (Throttle) qui a pour effet de bloquer le trafic pendant une courte période pour ensuite tout envoyer d'un coup
  • une duplication de certains paquets
  • un out of order, qui a un changement dans l'ordre d'arrivée des paquets
  • un Tamper, qui consiste en l’altération du contenu de certains paquets.

Chacun de ces paramètres peut recevoir un "dosage" plus ou moins accentué une fois qu'il est sélectionné. Également, on pourra utiliser plusieurs de ces dysfonctionnements en même temps :

clumsy03

Pour lancer un dysfonctionnement du réseau, il suffit de cocher les dysfonctionnements que nous souhaitons voir actifs, arranger les valeurs chiffrées comme on le souhaite, puis cliquer sur "Start". Voici en exemple un simple ping que j'ai effectué pendant que je simulais la perte de 50% de mes paquets avec Clumsy :

clumsy-windows
Simulation de perte de paquets avec Clumsy

Une chose dont je ne vous ai pas encore parlé, les Presets. Ceux-ci consistent en des filtres qui permettent, par exemple, de cibler une interface, un sens de flux (entrée, sortie) ou un protocole (comme IPv4 ou IPv6). Certains sont présents par défaut, vous pourrez les trouver dans le dossier où se situe l'exécutable, qui contient également un fichier "config.txt" :

# loopback packets can only be filtered using 'outbound'.
localhost ipv4 all: outbound and ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255
localhost ipv4 tcp: tcp and outbound and ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255
localhost ipv4 udp: udp and outbound and ip.DstAddr >= 127.0.0.1 and ip.DstAddr <= 127.255.255.255

# more general
all sending packets: outbound
all receiving packets: inbound

Tout cela est possible par l'utilisation de la librairie "WinDivert", un système similaire à NetFilter sous Linux. Voici la documentation du projet : WinDivert

Vous pourrez trouver, au chapitre 7, des indications relatives aux filtres vus plus haut.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Fondateur d'IT-Connect.fr et d'Information-security.fr. Auditeur sécurité chez Amossys.

    mickael has 478 posts and counting.See all posts by mickael

    2 pensées sur “Simuler des problèmes réseau avec Clumsy

    • C’est vraiment interressant !!!

      Répondre
    • cet utilitaire a l’air très intéressant comme laboratoire.

      Répondre

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

     

    Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.