Edited at

Fiddler2を使ってAndroidで3G回線再現

More than 5 years have passed since last update.


環境


  • Windows7(Fiddler2を起動しているホストになるマシン)

  • Nexus5(3G回線を再現したいリモートの端末)

  • 上記2つを同じWi-Fiで接続しています。


  • 当然のことながらWi-Fiは3G回線よりも高速でないとFiddler2で3G回線は再現できません。


    • Fiddler2をダウンロード



  • http://fiddler2.com/get-fiddler



インストールしてFiddler2を起動したら…


Fiddler2側の設定


  • リモートからのコネクションを許可する


    • Tools -> Fiddler Options -> Connections -> Allow remote computers to connect にチェック

    • (Connectionsタブ内にある Fiddler listens on port: 8888 がリモートからアクセスする際に指定するポートになる)




Android側の設定


  • ipconfigか何かでFiddler2を起動しているマシンのIPアドレスを調べて下さい

  • Androidからホストにつなげる


    • 設定 -> WiFi -> 接続済みのWiFiを長押し -> ネットワークを変更 -> 詳細オプションを表示 -> プロキシ(手動) -> プロキシホスト名に先ほど調べたIPアドレス -> プロキシポート(変えてなきゃ8888)を設定



これでFiddler2のプロセスにAndroidの通信が表示されたはず


さあここからが本番だ!

そもそも3G回線って何Mbpsだよ。

※回線速度に関しては適当に調べてるので、詳しい人は怒らないでね(´・ω・`)

とりあえずメーカのサイトで…IS14SHでいいか

http://www.au.kddi.com/mobile/product/archive/smartphone/dp/is14sh/

3G 受信最大/送信最大(Mbps)3.1/1.8

まあ理論値なので実際は7、8割程度でしょう。多分。

なので受信 2M、送信 1.3M でいきます!適当。


Fiddler2で回線速度を設定


  • Rules -> Customize Rules

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";
}

request-trickle-delayが送信、response-trickle-delayが受信です。

 // Delay sends by 300ms per KB uploaded.

送信だと300ms(0.3秒)当たり1KBバイトなので1秒間に3.3KB(26.4Kbps)ですね。

受信は1秒間に6.6KB(52.8Kbps)ですね。

送信は1.3Mbpsにしたいので6ms当たり1KB(小数点以下切り捨て)

受信は2.0Mbpsにしたいので4ms当たり1KB

if (m_SimulateModem) {

// Delay sends by 300ms per KB uploaded.
oSession["request-trickle-delay"] = "4";
// Delay receives by 150ms per KB downloaded.
oSession["response-trickle-delay"] = "6";
}

最後に…


  • 回線速度を設定したものにします


    • Rules -> Performance -> Simulate Modern Speeds



あとはFiddler2を再起動して終わり。

確認したいかたはAndroidでブラウザを開いて以下のサイトとかで測定してみると良いかと

http://www.rapidnet.jp/ (Rapidnet)

先人の方がいたので↓


  • Android開発で3G回線速度を再現する

http://blog.loadlimits.info/2012/10/android%E9%96%8B%E7%99%BA%E3%81%A73g%E5%9B%9E%E7%B7%9A%E9%80%9F%E5%BA%A6%E3%82%92%E5%86%8D%E7%8F%BE%E3%81%99%E3%82%8B/