Fiddler4でモバイル回線の帯域をシミュレートする


Fiddlerでモバイル回線の3Gとか4Gをシミュレートするにはどうしたらいいか。

Simulate Modem Speed

RulesメニューのPerformanceメニューアイテムに`Simulate Modem Speed'があって、これを有効化する。

すると、FiddlerScriptの下記を設定することでシミュレートできる。

if (m_SimulateModem) {
    // Delay sends by 300ms per KB uploaded.
    oSession["request-trickle-delay"] = "300"; 
    // Delay receives by 150ms per KB downloaded.
    oSession["response-trickle-delay"] = "150"; 
}

ただし、これは固定でDelay時間を付加するだけなので、ネットワーク品質のゆらぎを作ったりとか、パケットロスを再現させたりということはできない。

また、ここで設定できるのはDelayなので、他のProxyツール、例えばCharlesにあるような3G, 4Gといった形で設定はできない。
下記、Charlesのダイアログ。こちらはわかりやすい。

Fiddler Connection Simulator

すこし探した所、Fiddler Connection Simulatorというアドオンがあった。

インストールするには、Downloadsのリンクをクリック。
インストーラーを実行するだけで、Fiddlerのメニューに追加される。

メニューを選択して、Configureを選択するとダイアログが表示される。

このダイアログでFiddlerScriptよりは高機能に設定が可能。

UploadとDownloadで帯域を分けることはできないので変えようと思うと、結局Simulate Modem Speedをいじる必要ががあるか。

なお、帯域のVisualizeもできる。

Charlesのようなプリセットが準備されていれば言うことはないのだけれど、すごく助かるツール。