できるだけかんたんに Windows / macOS / iOS / Android を低速な回線（帯域制限）状態にする方法

##Windows

1.[www.netlimiter.com](https://www.netlimiter.com/ "netlimiter")からNetLimiter 4（有料$29.95：試用期間30日）をダウンロードしてインストール。

2.NetLimiter 4 の画面上から、対象のアプリケーションの　Limit　にチェックすると帯域制限が実行される![win_n_001-2.png](https://qiita-image-store.s3.amazonaws.com/0/41095/9571a028-05fd-3ed4-77af-60062b76d11e.png)

3.DL　Limit / UL　Limit　の速度表示をダブルクリックすると設定値の変更画面が呼び出せる
![win_n_002-2.png](https://qiita-image-store.s3.amazonaws.com/0/41095/c684b5f5-1774-2c45-a7c5-a55f0f2f1d6f.png)

##macOS

1.[developer.apple.com](https://developer.apple.com/download/more/  "developer.apple.com") から「additional tools for xcode」の最新版を入手。

2.今回は「Additional_Tools_for_Xcode_9.3.dmg」を展開、「Hardware」フォルダの「Network Link Conditioner.prefPane」をクリックしてmacOSのシステム環境設定にインストール

3.「システム環境設定」の「Network Link Conditioner」をクリックする
<img width="780" alt="macOS_001.png" src="https://qiita-image-store.s3.amazonaws.com/0/41095/0fe502e0-9696-4a3a-0e6e-5047918fd5f8.png">

4.Profile を選択し、画面の左側のスイッチを ON にすると帯域制限が実行される
<img width="780" alt="macOS_002.png" src="https://qiita-image-store.s3.amazonaws.com/0/41095/eb718692-4610-765c-2c9f-685b868f0105.png">

##iOS
1.macOS に 最新版 Xcode をインストール

2.Xcode を起動し、Shift + Command + 2 キーで「Devices and Simulators」を表示

3.iPhone / iPad と macOS を接続し、デバイス登録する
![iOS_001-2.png](https://qiita-image-store.s3.amazonaws.com/0/41095/d7059ca4-791c-6df3-b3af-e3b94af7c2ac.png)

4.登録後に、iPhone / iPad で、「設定」→「デベロッパ」→「Network Link Conditioner」で帯域制限をする

4-1.iPhone 「設定」内の「デベロッパ」を選択する
<img width="375" alt="iOS_011.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/41095/8e32e613-fa5b-4f27-259b-ff8383ba8ec1.png">

4-2.「Developer」内の「Network Link Conditioner」を選択する
<img width="375" alt="iOS_012.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/41095/e673f785-8064-a06d-7d35-1fb9242300ce.png">

4-3.Profile を選択し Enable　のスイッチをオンにすると帯域制限が実行される
<img width="375" alt="iOS_013.PNG" src="https://qiita-image-store.s3.amazonaws.com/0/41095/9fc8ce87-061d-c0cf-f47c-36ef30792ee8.png">



##Android

macOS ユーザーならこちら
（有料：試用期間30日、１起動あたり30分までの接続制限あり）
[低速ネットワーク環境を用意してアプリをテストする](https://qiita.com/yst_i/items/8be5b2d01f241ef7733b) の記事がオススメ

Windows ユーザーならこちら
[www.telerik.com](https://www.telerik.com/download/fiddler "https://www.telerik.com/download/fiddler")から、Fiddler 4 （無料）をダウンロードしてインストール

###Fiddler 4 に設定する
1.Fiddler 4 のメニューの「Tools」→「Options...」を選択し、Options画面を表示

2.Options画面内の「Connections」→「Allow remote computers to connect」にチェックを入れる![win_003.PNG](https://qiita-image-store.s3.amazonaws.com/0/41095/13cf8ef6-f91a-5aaf-c26c-5714a655e126.png)

3.Fiddler 4 のメニューの「File」→「Capture Traffic」にチェックが入っているか確認する
![win_002.PNG](https://qiita-image-store.s3.amazonaws.com/0/41095/bc178d4c-7daa-c0bc-4a22-19acc3ec3174.png)

4.Fiddler 4 を再起動して設定を反映させる

###Android 端末にプロキシ設定を行う
1.「設定」→「ネットワークとインターネット」→「Wi-Fi」→「接続が可能なWi-Fi設定を長押し」→「ネットワークを変更」→「詳細設定」→「プロキシ」→「手動」→

2.「プロキシのホスト名」に　Fiddler　4　起動　PCの　IP　アドレスを入力

3.「プロキシポート」に　8888　を入力

4.「保存」

5.Android 端末のブラウザでウェブページを表示

6.Fiddler　4　でトラフィックがキャプチャできているか確認する

###Fiddler 4 に帯域制限の設定を行う
1.Fiddler 4 のメニューの「Rules」→「Customize Rules...」で設定ファイル「CustomRules.js」を開き、「m_SimulateModem」の行を検索して、遅延時間の値を変更。

![win_004.PNG](https://qiita-image-store.s3.amazonaws.com/0/41095/a1c77360-eda3-54f1-e4d8-a58b3519d0b4.png)


```js:CustomRules.js
if (m_SimulateModem){
    // Delay sends by 300ms per KB uploaded.
    // request-trickle-delayがアップロードの遅延時間
    // アップロード1KBで300msの遅延：3.33KB/s、27.3kbps 程度
    oSession["request-trickle-delay"] = "300";

    // Delay receives by 150ms per KB downloaded.
    // response-trickle-delayがダウンロードの遅延時間
    // ダウンロード1KBで150msの遅延：6.66KB/s、54.6kbps 程度
    oSession["response-trickle-delay"] = "150";

    // 1KB 毎の遅延時間は、数字が大きいほど低速、数字が小さいほど高速になる
    // 遅延時間の計算方法：1024*(1000/???)*8/1000=
    // ???に遅延時間を入力すると nn.n(kbps)で出力
}
```

2.編集が終わったら保存して閉じる

3.Fiddler 4 のメニューの「Rules」→「Performance」→「Simulate Modem speeds」にチェックを入れると帯域制限が実行される
![win_001.PNG](https://qiita-image-store.s3.amazonaws.com/0/41095/8b9002e0-dcf9-a58b-5b58-fe9d26d54bc0.png)

###作業終了後の後始末
1.Android 端末の Wi-Fi 設定のプロキシ設定を解除する

2.Fiddler 4 のメニューの「Rules」→「Performance」→「Simulate Modem speeds」のチェックを外す

3.Fiddler 4 を終了させる