- HTTP および HTTPS トラフィックをプロキシする。
- 要求データと応答データを復号して表示する。
- キャプチャしたトラフィックをホスト、状態コード、メソッドでフィルター処理する。
- 要求と応答を変更または終了する C# スクリプトを実行する。
- XBOX 開発コンソールの低レベルのネットワーク トラフィックをキャプチャして分析する。
- ライブまたは保存済みのキャプチャを分析し、問題のある XBOX サービスの呼び出しパターンを検出する。
要件
XMAT には次のものが必要です。- Windows 10 バージョン 1809 (ビルド 17763) 以降、または Windows 11 を実行している開発 PC。
- 開発 PC での管理者アクセス許可。
- Windows x64 用の .NET 10 デスクトップ ランタイムおよび ASP.NET Core ランタイム、または Windows x64 用の .NET 10 SDK。
- コンソール キャプチャの場合、リカバリ 2106 以降を実行している XBOX 開発コンソール。
- XBOX 開発コンソールに接続する XMAT 機能を使用する場合、GDK Extensions for XBOX。
XMAT のインストール
- XMAT リリースから最新の ZIP ファイルをダウンロードします。
- ZIP ファイルをローカル フォルダーに展開します。
- XMAT を管理者として実行します。
- メッセージが表示されたら、XMAT ルート証明書をインストールして信頼します。XMAT はこの証明書を使用して HTTPS トラフィックを復号します。
Web トラフィックのキャプチャ
- XMAT で + タブを選択します。
- タイトルを実行するデバイスを選択します。
- 既定の XBOX 開発コンソールの場合は、[Default XBOX Console] を選択します。
- 別の XBOX 開発コンソールの場合は、[XBOX Console at IP or Hostname] を選択します。
- 開発 PC 上のタイトルの場合は、[Local PC] を選択します。
- [Web Proxy] を選択し、[Add Capture] を選択します。
- プロキシを開始します。
- XBOX 開発コンソールの場合は、[Enable XBOX Proxy] を選択します。コンソールが再起動し、Web トラフィックを XMAT 経由で送信し始めます。
- Windows PC の場合は、[Start Capture] を選択します。
- タイトルを起動し、検査するシナリオを実行します。
- 接続を選択して、その要求と応答のヘッダーと本文を検査します。
[!IMPORTANT] XMAT がキャプチャしていないときに XBOX 開発コンソールが XMAT プロキシを使用するように構成されたままになっていると、XBOX サービスのチェックやその他のネットワーク要求が失敗する可能性があります。テストが完了したら、[Disable XBOX Proxy] を選択してください。変更を適用するためにコンソールが再起動します。
パートナー サービス ホストの特定
サービス停止をシミュレートする前に、タイトルの通常のトラフィックをキャプチャします。- XMAT の Web プロキシ キャプチャを開始します。
- タイトルを起動し、オンライン サービスを使用するすべての機能を実行します。これには次のものが含まれます。
- メニューとランキング。
- マルチプレイヤー セッションの作成と参加。
- フレンドおよびソーシャル機能。
- タイトル内ストア。
- 期間限定イベント。
- [Host] フィルターを使用して、タイトルが接続するすべてのホストを確認します。
- キャプチャしたホストをタイトルのサービス一覧と比較し、テストするパートナー ホスト型サービスを特定します。
パートナー サービスのブロック
XMAT スクリプトを使用すると、選択したホストへの要求を終了しつつ、その他のトラフィックは利用可能なままにできます。- アクティブな Web プロキシ キャプチャで [Script Editor] を開きます。
- [SSL Connection Request] イベントを選択します。
-
サンプル ホストを、ブロックする各パートナー サービス ホストに置き換えます。例:
- [Enable] を選択します。スクリプトが正常にコンパイルされることを確認します。
- 影響を受けるタイトルの機能を実行し、選択したホストへの要求が失敗する一方で、Microsoft、XBOX、PlayFab のサービスは引き続き利用できることを確認します。
Params.Continue を false に設定します。
タイトルの起動前からサービスが利用できない状態をシミュレートするには、タイトルを起動する前にブロック スクリプトを有効にします。
[!CAUTION] XMAT スクリプトは、選択したデバイスのライブ トラフィックに影響します。ブロック スクリプトはテストに必要な特定のパートナー ホストに限定し、テストが完了したらスクリプトを無効にしてください。
キャプチャの停止
- アクティブなスクリプトをすべて無効にします。
- [Stop Capture] を選択します。
- XBOX 開発コンソールがプロキシを使用している場合は、[Disable XBOX Proxy] を選択し、コンソールが再起動するまで待ちます。
