> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fiddler を使用した Web サービス呼び出しの検査

> Fiddler Classic を Web デバッグ プロキシとして使用し、デバイスと XBOX Live サービスまたはリライング パーティ API との間の HTTP および HTTPS トラフィックをログに記録して検査する方法。

Fiddler は、デバイスとインターネット間のすべての HTTP および HTTPS トラフィックをログに記録する Web デバッグ プロキシです。Fiddler を使用して、XBOX Live サービスおよび証明書利用者 Web サービスとの間のトラフィックをログに記録し検査することで、Web サービス呼び出しを理解およびデバッグできます。Fiddler には複数のバージョンがあります。「Fiddler Classic」はフリーウェアです。以降のセクションはこのバージョンのみを参照しています。

## XBOX One 以降で実行される Microsoft Game Development Kit (GDK) プロジェクトの場合

詳細については、「[Fiddler](/build/console-features/networking/tools/fiddler-setup-networking)」を参照してください。

## XBOX One (以降) の XBOX One Software Development Kit プロジェクトの場合

通常の動作では、プロキシ経由で通信するコンソールは、プロキシによって通信が変更されるリスクがあります。この変更により、プレイヤーが不正行為を行える可能性があります。そのため、コンソールはプロキシ経由の通信を許可しません。XBOX One (以降) の開発キットで Fiddler を使用するには、開発キットが Fiddler プロキシを使用できるように、開発キットで特別な構成手順を実行する必要があります。

Fiddler Classic は [Fiddler Web サイト](https://www.telerik.com/download/fiddler) からダウンロードできます。

Fiddler は、コンソールが報告するネットワーク状態に影響を与える可能性があります。Fiddler を実行しているマシンから上流の接続を無効にした場合、コンソールの認証が期限切れになるまで、コンソールがこの切断を検出しない場合があります。Fiddler を使用する場合は、Fiddler で切断をシミュレートするのではなく、コンソールと Fiddler を実行しているコンピューターとの接続を切断するようにしてください。さらに良いのは、テスト目的で切断をシミュレートするために、ネットワーク ストレス ツールを使用することです。

### 開発 PC への Fiddler のインストールと有効化

開発キットからのトラフィックを監視するために Fiddler をインストールして有効にするには、次の手順に従います。

1. [Fiddler Web サイト](https://www.telerik.com/download/fiddler)の指示に従って、開発 PC に Fiddler Classic をインストールします。
2. Fiddler を起動し、**\[Tools]** メニューから **\[Fiddler Options]** を選択します。
3. **\[Connections]** タブを選択し、**\[Allow remote computers to connect]** チェック ボックスがオンになっていることを確認します。
4. **\[OK]** を選択して設定の変更を受け入れます。変更を有効にするには Fiddler を再起動する必要があり、ファイアウォールを手動で構成する必要がある場合があるという旨のダイアログ ボックスが表示されます。このダイアログで **\[OK]** を選択しますが、まだ Fiddler を再起動しないでください。
5. リモート コンピューターの接続を許可するために必要なファイアウォール規則を構成します。Windows ファイアウォール コントロール パネル アプレットを起動します。**\[Advanced Settings]** を選択し、次に **\[Inbound Rule]** を選択します。**FiddlerProxy** という名前の規則を見つけ、右にスクロールして、その規則に対して次の各設定が表示されていることを確認します。

| 設定               | 推奨値               |
| ---------------- | ----------------- |
| Name             | FiddlerProxy      |
| Group            | (Group には値を設定しない) |
| Profile          | All               |
| Enabled          | Yes               |
| Action           | Allow             |
| Override         | No                |
| Program          | fiddler.exe のパス   |
| LocalAddress     | Any               |
| RemoteAddress    | Any               |
| Protocol         | TCP               |
| LocalPort        | Any               |
| RemotePort       | Any               |
| AllowedUsers     | Any               |
| AllowedComputers | Any               |

6. HTTPS トラフィックをキャプチャして復号するように Fiddler を構成します。
   1. パフォーマンスを最適化するために、ボタン バーの **\[Stream]** ボタンを選択して、Fiddler がストリーミング モードを使用するように設定します。
   2. Fiddler で、**\[Tools]** > **\[Fiddler Options]** > **\[HTTPS]** を選択します。
   3. **\[Decrypt HTTPS traffic]** チェック ボックスをオンにします。CA 証明書を信頼するように Windows を構成するかどうかを尋ねるメッセージ ボックスが表示された場合は、**\[Yes]** を選択します。
   4. **\[Export Root Certificate to Desktop]** ボタンを選択します。
7. Fiddler を終了して再起動します。

### 開発キットが Fiddler をインターネットへのプロキシとして使用するように構成する

開発キット上での Fiddler の構成は、以前のリリースで使用されていた方法よりも簡単です。

1. デスクトップにエクスポートした Fiddler ルート証明書を、`xs:\Microsoft\Cert\FiddlerRoot.cer` として開発キットにコピーします。次のコマンドを使用します: `xbcp [ローカルの Fiddler ルート ディレクトリ]\FiddlerRoot.cer xs:\Microsoft\Cert\FiddlerRoot.cer`。
2. Fiddler を実行している開発 PC の IP アドレスまたはホスト名と、Fiddler がリッスンしているポート番号のみを内容とする、`ProxyAddress.txt` という名前のテキスト ファイルを作成します。名前/IP アドレスとポートを次のように書式設定します: `HOST:PORT`。(既定では、Fiddler はポート 8888 を使用します。) 例: `10.124.220.250:8888` または `my_dev_pc.contoso.com:8888`。
3. そのファイルを `xs:\Microsoft\Fiddler\ProxyAddress.txt` として開発キットにコピーします。次のコマンドを使用します: `xbcp [ローカルのプロキシ アドレス ファイルのディレクトリ]\ProxyAddress.txt xs:\Microsoft\Fiddler\ProxyAddress.txt`。
4. コマンド プロンプトで `xbreboot` を入力して開発キットを再起動します。

### Fiddler の使用を停止する

Fiddler をインターネットへのプロキシとして使用することを停止し、Fiddler で開発キットのすべてのネットワーク トラフィックをトレースするのを停止するには、開発キット上の `FiddlerRoot.cer` ファイルの名前を変更または削除してから、開発キットを再起動します。

### 動作の仕組み

起動時に `xs:\Microsoft\Cert\FiddlerRoot.cer` ファイルと `xs:\Microsoft\Fiddler\ProxyAddress.txt` ファイルの両方が存在する場合、開発キットは `ProxyAddress.txt` で指定されたプロキシ サーバーを使用するように自身を構成します。どちらかのファイルが不足している場合、開発キットは Fiddler プロキシ経由で動作するように自身を構成しません。

Fiddler がインストールされた各 PC は、それぞれ異なる Fiddler ルート証明書を使用します。開発キットに Fiddler プロキシを提供する PC が複数ある可能性がある場合は、いずれか 1 つが `FiddlerRoot.cer` という名前である限り、各 PC の Fiddler ルート証明書を `xs:\Microsoft\Cert` ディレクトリにコピーできます。

開発キットは、Fiddler プロキシを認証するときに Cert ディレクトリ内のすべての証明書をチェックします。開発キットは、証明書が Cert ディレクトリに存在する限り、`ProxyAddress.txt` にアドレスがある PC 上の Fiddler インスタンスを使用します。

## XBOX One (以降) の UWP プロジェクトの場合

UWP ドキュメントの記事「<a href="https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/uwp-fiddler" target="_blank">How to use Fiddler with XBOX One when developing for UWP ⬀</a>」の手順に従ってください。

## Windows UWP PC アプリの場合

1. 現在のユーザーが PC の管理者グループに含まれていることを確認します。
2. [https://www.telerik.com/fiddler](https://www.telerik.com/fiddler) から Fiddler をダウンロードします。
3. **\[Built for .NET 4]** のバージョンを選択していることを確認します。
4. インストール後、**\[Tools]** > **\[Fiddler Options]** に移動し、**\[Capture HTTPS CONNECTs]** と **\[Decrypt HTTPS traffic]** を有効にします。ランタイムと XBOX サービス間のすべての通信は SSL で暗号化されています。このオプションがないと、有用な情報は何も表示されません。Fiddler が表示するすべてのダイアログを受け入れます (UAC を含む 5 つのダイアログがあります)。
5. **\[WinConfig]** に移動し、**\[Exempt All]** を選択して **\[Save Changes]** します。そうしない場合、Fiddler は Store アプリで動作しません。
6. アプリを実行すると、アプリ、ランタイム、および XBOX サービス間の要求と応答が表示されます。

UWP OS レベルの呼び出しをデバッグするには (通常は必要ありませんが、サインインおよびゲーム内イベントのデバッグには役立つ場合があります)、次のコマンドを使用して、WinHTTP トラフィックをキャプチャするように Fiddler を構成します。

```cpp theme={null}
    netsh winhttp set proxy 127.0.0.1:8888 "<-loopback>"
```

ポート番号は、Fiddler の **\[Tools]** | **\[Options]** | **\[Connections]** タブで構成されているポートと一致する必要があります。既定のポート番号は 8888 です。

この構成を元に戻すには、次のコマンドを使用します。

```cpp theme={null}
    netsh winhttp reset proxy
```


## Related topics

- [XBOX サービス Trace Analyzer (XblTraceAnalyzer.exe)](/ja-jp/tools/tools-services/live-trace-analyzer.md)
- [XBOX サービス向け開発ツール](/ja-jp/tools/tools-services/live-tools.md)
- [XBOX サービス向けツール](/ja-jp/tools/tools-services/live-tools-nav.md)
- [XBOX services 呼び出しのベストプラクティス](/ja-jp/services/xbox-services/develop/best-practices/live-best-practices-calling-xbl.md)
- [S2S 呼び出し](/ja-jp/services/xbox-services/fundamentals/s2s-auth-calls/s2s-calls/index.md)
