まず通常時の基準を取り、障害条件を一つだけ選び、質問に答えられる最小のフィルターを設定します。同じ操作を一度実行し、クライアントとサーバーの証拠を保存してから Stop を選び、基準操作を繰り返します。シナリオが決まったら、遅延、パケット損失、帯域幅、パケット順序の個別ガイドへ進みます。
01
この Clumsy ネットワークテストガイドの範囲
最初に決めるべきなのは派手な割合ではなく、テストで答えたい質問です。
Clumsy は WinDivert を通じて、選択した Windows 通信を変更します。モジュールによって、該当パケットの遅延、破棄、複製、並べ替え、変更、帯域制限ができます。これにより、実際のアプリを再現可能な条件で観察できます。仮想ルーターを作成したり、ISP を診断したり、モバイル環境の動作を保証したりするツールではありません。
このガイドハブは 6段階のセットアップ手順を補完します。このページでは、開発者や QA エンジニアがシナリオ、記録すべき項目、最も狭い個別レシピを選べます。実際の障害を先に調べ、その後で既知の条件を再現するという順序を守ってください。
Clumsy は、自分が所有する、または明示的にテストを許可された端末、アプリ、ネットワーク経路でのみ使用します。広いフィルターで低レベルのパケットを変えると、リモートアクセス、更新、通話、無関係なブラウザータブにも影響することがあります。責任あるテストは、元に戻せて、観察でき、別の人が再現できます。
- 所有または承認済みアプリの一つの操作フロー。
- 一回の実行につき一つの条件と記録済みの値。
- 障害を入れる前後で測定した基準値。
- 副作用があり得る操作では、クライアント、サーバー、ユーザー表示の証拠。

02
Windows のネットワークテストシナリオを選ぶ
観察したい製品の挙動に条件を合わせます。この Clumsy ネットワークテストガイドでは選択理由を明確にします。最初から Lag、Drop、Throttle を組み合わせないでください。失敗したときに原因が分からなくなります。質問に答えられる最小のプロファイルから始め、強い条件が必要な場合だけ別の境界テストを作ります。
ネットワークエミュレーターガイドでは、エミュレーションとシミュレーションの違いを説明しています。一つのタブならブラウザーのスロットリング、HTTP ルールならプロキシを使い、コードを変更せずに Windows アプリへ実通信条件を与えたい場合に Clumsy を使います。
| 確認したい質問 | 最初に使う条件 | 集める証拠 |
|---|---|---|
| 画面は遅い応答を説明できるか | 一つの宛先へ Lag 200~300 ms | 即時確認、読み込み表示、タイムアウト、キャンセル |
| 欠落した通信から再試行で復旧できるか | 低い確率の Drop | リクエスト ID、再試行回数、再接続、重複副作用 |
| 大きな転送を利用できる状態に保てるか | 一つの転送へ Throttle または Bandwidth | 進捗、キュー、キャンセル、最終バイト数 |
| クライアントは重複配信を処理できるか | 安全なテスト記録へ Duplicate | 冪等性の結果とサーバー記録数 |
| ストリームは順序を保てるか | 破棄可能なストリームへ Out of order | シーケンス番号、バッファ、再構成、復旧ログ |
03
パケットを変える前に基準状態を作る
制御された Clumsy テストは、あとで比較できる通常動作から始まります。
質問を観察可能な文章にします。例えば「ステージング API に 300 ms の遅延を追加したとき、注文ページはクリックを確認し、フィルターを保持し、重複リクエストなしで一件を表示する」と書きます。アプリのビルド、対象ホストまたはポート、期待する表示状態、復旧を証明する操作を記録してください。「ネットワークを悪くする」だけでは証拠になりません。
Clumsy を停止した状態で操作を実行し、応答時間、読み込み動作、ステータスコード、リクエスト ID、サーバーログ、転送サイズを保存します。無関係なダウンロードを止め、書き込み操作にはステージングデータを使います。
トラブルシュートの前にアーカイブを確認します。公式の jagt/clumsy 0.3 Release は Win64 と Win32、A/B/C の署名バリエーションを含むポータブル Windows ZIP です。公式マニュアルでフィルターと方向を確認し、ブロックされた ZIP を出所不明の改変ビルドに置き換えないでください。
- 定義製品の質問、対象、条件、合格状態を一つずつ書きます。
- 基準同じ操作を通常状態で行い、比較する証拠を保存します。
- 確認公式アーカイブ、アーキテクチャ、チェックサムをテスト記録に残します。
- 保護副作用のある操作にはステージングデータや使い捨てアカウントを使います。
04
フィルターと方向の範囲を絞る
フィルターは実験の境界です。すべてのパケットに一致するルールは、認証、監視、リモートサポート、無関係なアプリまで壊れたように見せます。アプリを表す既知の宛先、プロトコル、ポートから始めます。ポート式は複数アプリを含む可能性があるため、アプリ専用だと決めつけず、テスト記録に範囲を書きます。
方向によって観察結果が変わります。送信側の遅延はリクエスト経路、受信側の遅延は読み込みとタイムアウト表示を調べます。一方向から始め、両方が重要なら二回目の実行を作ります。
フィルターが何に一致するか説明できない場合、フォーラムや動画からそのまま貼り付けないでください。Stop を選び、式を単純化し、フィルター、方向、時刻を結果と一緒に保存します。
| 範囲の選択 | 役立つ場面 | よくある間違い |
|---|---|---|
| 既知のホストまたはサービス | 一つのステージングエンドポイントが対象 | そのホストが全依存先を表すと思う |
| プロトコルとポート | フローの転送境界が明確 | 同じポートを使う別アプリまで障害を入れる |
| 受信のみ | 応答時間または描画が質問 | リクエスト経路は正常なままだと忘れる |
| 送信のみ | リクエスト遅延や送信側の挙動が質問 | 追加遅延を往復遅延全体と扱う |
| 全通信 | 承認済みで破棄可能なシステム全体テスト | 仕事用端末や共有回線で実行する |

05
一つの条件を実行して証拠を集める
良いテストが作るのは、遅い画面ではなく比較可能な結果です。
一つのモジュールを有効にし、記録した値を入力します。Lag は一致パケットを意図的に破棄せず遅らせるため、最初の条件として分かりやすい選択です。重要度の低いフローなら 200~300 ms から始め、要件が境界を求める場合だけ増やします。Start を選び、基準時と同じ操作を行い、実行中は値を変えません。
最初に見える確認と最終応答の両方を観察します。ボタンは進捗を表示するか、ユーザーはキャンセルできるか、フォーム状態は維持されるか、どのタイマーが先に切れるかを確認します。再試行や繰り返しが可能な操作では、画面の観察にリクエスト ID、時刻、ステータスコード、サーバーログを組み合わせます。応答がないことは、サーバーが元のリクエストを完了していない証明にはなりません。
各実行を短くし、名前を付けます。アプリと Windows のバージョン、Clumsy のバージョン、アーカイブの出所、フィルター、方向、モジュール値、基準、結果、復旧確認を保存し、一時的な障害を恒久的な不具合と取り違えないようにします。
- 確認Start の直前にフィルター、方向、モジュール一覧を見直します。
- 実行一つの条件と記録済みの値で既知の操作を一度行います。
- 観察ユーザー表示、クライアント時間、サーバー側証拠を記録します。
- 停止値を変える前、または別シナリオへ移る前に Stop を選びます。
- 比較基準操作を繰り返し、通常動作に戻ったかを記録します。

06
ハブから Clumsy の個別レシピへ進む
質問が明確になったら、最小限の個別ガイドを使います。遅延ガイドは遅延とタイムアウト、パケット損失ガイドは Drop と再試行を扱います。転送の進捗には帯域幅ガイド、順序には順不同パケットガイドを使います。
個別レシピには、何を変えるか、何を証明できないか、どう復旧するかを明記します。実際の接続問題なら損失をシミュレートする前に Windows パケット損失診断ガイドを確認し、ドライバー障害なら Error Code 3 トラブルシュートを使います。
| 目的 | 次のページ | 分けて扱うこと |
|---|---|---|
| 最初の実行を理解する | Clumsy の使い方 | 強い効果を得るためだけにフィルターを広げない |
| 固定遅延をテストする | 遅延シミュレーター | 遅延を帯域制限と呼ばない |
| 欠落パケットをテストする | パケット損失シミュレーター | 応答がないだけでサーバー障害と判断しない |
| 遅い転送をテストする | 帯域幅制限 | 一回の実行に複数レートを混ぜない |
| 順序をテストする | 順不同パケット | 順序の挙動を確認する前に Drop を混ぜない |
07
復旧し、限界を記録して別のツールを選ぶ
復旧はテストの一部です。この Clumsy ネットワークテストガイドでは、復旧を必須の結果として扱います。観察が終わったらすぐ Stop を選び、必要なら Clumsy を閉じ、基準操作を繰り返します。対象と無関係な通常操作が戻ったことを確認してください。ネットワークが不安定なままなら、Clumsy が実行中か、別のパケットツールや VPN が動いているか、フィルターが広すぎなかったかを調べます。基準が不明な状態で実験を続けないでください。
Clumsy は完全なネットワーク研究室ではありません。仮想ルーターにはシミュレーター、HTTP の書き換えにはプロキシ、一つのタブにはブラウザーのスロットリング、自動化したマルチプラットフォーム構成にはプログラム可能なコントローラーを使います。
このガイドを不正行為、アンチチート回避、隠れた lag switch、第三者サービスの妨害に使わないでください。安全な記述は具体的です。ステージングの一つのエンドポイントへ 250 ms の遅延を加え、読み込み状態を観察し、再試行ポリシーを確認し、Stop 後の復旧を証明します。
Clumsy のセッションは、障害を停止し、基準操作を繰り返し、フィルターとモジュール設定と一緒に復旧証拠を保存したときにだけ完了します。
よくある質問
Clumsy ネットワークテスト FAQ
Clumsy で最初に行うテストは何ですか?
重要度の低いアプリ、一つの狭いフィルター、200~300 ms 程度の控えめな Lag 値を使います。通常動作を先に記録し、既知の操作を観察して、Stop 後に復旧したことを確認します。
パケット損失をシミュレートする前に診断すべきですか?
はい。まずローカルゲートウェイと外部宛先に対して固定サンプルを比較します。その後、許可されたアプリのテストで制御された損失を Clumsy で再現します。
Clumsy のフィルターを狭くする理由は何ですか?
狭いフィルターは影響範囲を小さくし、結果の説明と復旧を簡単にします。広いルールはリモートアクセス、更新、通話、無関係なアプリにも影響します。
現在の Clumsy 公式バージョンは何ですか?
このガイドで確認した公式 jagt/clumsy リリースは 0.3 で、2023年10月21日に公開されています。ミラーの大きな番号を信頼せず、公式のリリース履歴と既存の 0.3 ページでファイルを確認してください。