Tests de panne contrôlés

Simulateur de perte de paquets Clumsy

Le simulateur de perte de paquets Clumsy supprime une part contrôlée des paquets Windows correspondant au filtre. Utilisé avec soin, il aide développement et qualité à observer tentatives, reconnexions, dégradation du streaming, opérations partielles et risques de doublons sans modifier le code.

Télécharger le simulateur de perte de paquets Clumsy Lire le guide complet Clumsy

Informations Drop et drop-throttled de Clumsy 0.3 vérifiées le 20 juillet 2026.

Interface du simulateur de perte de paquets Clumsy pendant un test Windows
Un filtre étroit et une faible probabilité initiale sont indispensables car Clumsy ne récupère pas les paquets supprimés.
Point de départ sûr

Utilisez un filtre étroit autorisé, activez Drop avec une faible probabilité, effectuez une action connue, examinez les journaux client et serveur, arrêtez Clumsy puis prouvez le retour de la référence.

Module ClumsyDrop
Probabilité initialeFaible
Risque principalOpération dupliquée
Preuves requisesClient + serveur

01

Signification de la perte de paquets dans Clumsy

Avec Drop, les paquets correspondants sont supprimés selon la probabilité. Selon protocole et application, l'effet devient nouvelle tentative, pause, qualité réduite, reconnexion, opération incomplète ou expiration. TCP peut retransmettre, mais cela modifie le temps et ne garantit pas une interface claire. UDP expose souvent plus directement la perte.

La perte n'est pas la latence. Un paquet retardé peut encore arriver ; un paquet supprimé non. L'application peut réessayer, utiliser un cache, changer de transport, se reconnecter ou signaler l'échec. Testez Drop séparément avant Lag afin d'identifier la récupération responsable.

Les notes 0.3 mentionnent drop-throttled pour les rafales et une probabilité plus précise. Utilisez les réglages exacts de votre version vérifiée et joignez-les au résultat.

SymptômeExplication possiblePreuve
Requête plus longueNouvelle tentative après perteHorodatages et journaux
Action en doubleLa première a réussi mais la réponse est perdueClé d'idempotence et données serveur
Qualité réduitePaquets multimédia absentsMesures du lecteur
ReconnexionHeartbeat ou contrôle perduCycle de connexion
Erreur définitiveLimite ou délai atteintErreur client et statut serveur

02

Planifier un test avec une limite claire

Commencez par une action au résultat connu. Exemple : avec une faible perte, le chargement d'un historique doit montrer sa progression, réessayer sans créer de doubles messages et terminer ou proposer une action claire. Définissez la réussite et la durée maximale avant échec.

Choisissez un trafic dont vous êtes propriétaire ou autorisé. Une limite étroite d'hôte, protocole ou port protège les autres applications. Fermez les travaux sensibles et préparez Stop. N'utilisez pas de filtre global ou de recette prétendument indétectable.

Collectez les deux côtés. Le client ne sait pas si le serveur a terminé une opération dont la réponse a disparu. Identifiants, clés d'idempotence, enregistrements et horodatages distinguent nouvelle tentative sûre et effet dupliqué.

  • Une opération et un résultat.
  • Faible perte avant la limite sévère.
  • Lag, Tamper et autres modules désactivés.
  • Identifiants client et serveur capturés.
  • Stop et récupération propre exigés.

03

Exécuter le simulateur de perte étape par étape

Téléchargez et extrayez Clumsy 0.3 officiel pour l'architecture Windows. Vérifiez source et checksum. Créez un filtre WinDivert étroit avec la syntaxe officielle et confirmez qu'il cible uniquement l'application autorisée.

Activez Drop avec une faible probabilité et laissez les autres modules inactifs. Cliquez sur Start, effectuez une fois l'action et observez compteurs, client et serveur. Ne changez pas le pourcentage en cours ; arrêtez puis créez un autre scénario.

Cliquez sur Stop et répétez la référence. Confirmez la stabilisation des tentatives, files et connexions. Si l'application reste bloquée, capturez l'état avant redémarrage. Le défaut de récupération n'est interprétable que lorsque la dégradation est terminée.

  1. Vérifier la référenceExécuter normalement et capturer les identifiants.
  2. Limiter le traficUtiliser le filtre autorisé le plus étroit.
  3. Activer DropCommencer faible et sans autre module.
  4. Effectuer une opérationObserver tentatives, messages et effets serveur.
  5. Arrêter et rapprocherRétablir la référence et rechercher doublons ou travaux incomplets.
Interface Clumsy montrant Drop pour tester la perte
Gardez un filtre, Drop et une probabilité consignée par exécution.

04

Construire une matrice de perte de paquets

Utilisez des scénarios progressifs plutôt qu'une connexion immédiatement inutilisable. Une faible perte teste la résilience, une limite modérée révèle les problèmes de tentatives et une perte sévère vérifie un échec clair plutôt qu'un blocage éternel. Les pourcentages dépendent du protocole et du produit.

Répétez chaque scénario pour distinguer comportement déterministe et hasard. Une requête réussie ne prouve pas la résilience. Notez tentatives, opérations terminées, doublons, erreurs et temps de récupération.

Séparez les requêtes. Lecture, envoi de fichier, mutation de type paiement, flux direct et heartbeat présentent des risques différents. Un résultat générique ne valide pas tout le produit.

ScénarioButPreuve de réussite
Faible perteRésilience normaleNouvelle tentative transparente
Perte modéréeLimite de récupérationAucun doublon et erreur exploitable
Perte en rafaleCoupure courteReconnexion et rapprochement
Perte sévèreComportement d'échecDélai borné, état conservé et nouvelle tentative sûre

05

Surveiller tentatives et opérations dupliquées

Le défaut le plus important peut survenir lorsque le serveur réussit mais que la réponse disparaît. Le client ne voit pas le succès et réessaie. Sans idempotence, une deuxième demande crée une autre commande, un autre message, travail ou paiement. Le symptôme peut être une attente suivie de deux enregistrements.

Utilisez des identifiants stables et examinez le serveur après chaque mutation. Un système robuste reconnaît la tentative comme la même opération ou permet de rapprocher l'état. Clumsy crée le symptôme réseau mais ne remplace pas le traçage.

Testez aussi l'écran après réouverture ou reconnexion. Un état final clair importe autant que l'erreur immédiate. Si l'opération a pu réussir, l'interface ne doit pas encourager une répétition aveugle.

La perte peut masquer la réussite

Une réponse absente ne prouve pas l'échec serveur. Rapprochez mutations, identifiants et données serveur.

06

Interpréter TCP, UDP et l'application avec prudence

TCP retransmet et ordonne, donc une faible perte peut ressembler à un délai supplémentaire. Les applications UDP gèrent souvent récupération et temps elles-mêmes, rendant les symptômes temps réel plus visibles. Ces généralités ne remplacent pas la télémétrie du protocole.

Les bibliothèques ajoutent leurs politiques. Un client peut réessayer GET mais pas une mutation, ou un websocket se reconnecter en perdant un état non envoyé. Consignez versions et politiques, sinon deux environnements identiques dans Clumsy peuvent diverger.

Utilisez Clumsy comme une couche de preuve avec compteurs réseau, journaux client, traces serveur et observation de l'interface. Vous expliquerez ainsi la réponse du système complet.

07

Éviter les tests dangereux ou trompeurs

Ne commencez pas avec un Drop élevé sur tout le trafic. Cela déconnecte les outils et masque le comportement étudié. Ne combinez pas plusieurs modules avant une référence simple et n'acceptez pas une seule réussite comme preuve statistique.

Ne désactivez pas la sécurité pour un fork inconnu et n'utilisez pas la perte pour manipuler jeux ou services tiers. Portée autorisée, hypothèse écrite et récupération distinguent le test légitime de la perturbation.

Après chaque exécution, Stop et preuve de référence. Si l'environnement reste instable, capturez les journaux, fermez Clumsy et inspectez les autres outils. Un test responsable se termine par la restauration.

Questions fréquentes

Questions sur le simulateur de perte de paquets Clumsy

Quel pourcentage tester d'abord ?

Commencez bas et augmentez uniquement selon le besoin. La valeur dépend du protocole, de la référence et du risque.

Pourquoi la perte ressemble-t-elle à la latence ?

TCP ou l'application peuvent récupérer les données, mais la tentative ajoute du temps. Consultez journaux et compteurs.

Clumsy teste-t-il les rafales ?

Les notes 0.3 mentionnent drop-throttled. Consignez la configuration exacte de votre version.

Pourquoi l'opération a-t-elle eu lieu deux fois ?

Le serveur a pu réussir puis perdre la réponse, poussant le client à réessayer. Vérifiez clés d'idempotence et données.

Est-ce un lag switch sûr pour les jeux ?

Ce site ne prend en charge ni lag switch, ni contournement, ni perturbation. Utilisez Clumsy seulement pour des tests autorisés.

Version GitHub vérifiée

Préparation du téléchargement

Préparation du téléchargement

Le fichier sera lancé depuis la version jagt/clumsy vérifiée sur GitHub après le compte à rebours. Gardez cette page ouverte.