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

# Utiliser XBOX Multiplayer Analysis Tool pour inspecter et modifier le trafic réseau

> Utilisez XMAT pour capturer, inspecter, analyser et modifier le trafic réseau provenant des consoles de développement XBOX et des PC Windows.

[XBOX Multiplayer Analysis Tool (XMAT)](https://github.com/microsoft/xbox-multiplayer-analysis-tool/blob/main/README.md) capture, inspecte et modifie le trafic réseau provenant des consoles de développement XBOX et des PC Windows. Téléchargez la [dernière version de XMAT](https://github.com/microsoft/xbox-multiplayer-analysis-tool/releases).

XMAT peut :

* Servir de proxy pour le trafic HTTP et HTTPS.
* Déchiffrer et afficher les données des requêtes et des réponses.
* Filtrer le trafic capturé par hôte, code d'état et méthode.
* Exécuter des scripts C# qui modifient ou interrompent les requêtes et les réponses.
* Capturer et analyser le trafic réseau de bas niveau d'une console de développement XBOX.
* Analyser des captures en direct ou enregistrées afin de détecter des modèles d'appel problématiques aux services XBOX.

## Configuration requise

XMAT nécessite :

* Un PC de développement exécutant Windows 10, version 1809 (build 17763) ou ultérieure, ou Windows 11.
* Des autorisations d'administrateur sur le PC de développement.
* Le [.NET 10 Desktop Runtime et ASP.NET Core Runtime pour Windows x64](https://dotnet.microsoft.com/download/dotnet/10.0), ou le SDK .NET 10 pour Windows x64.
* Pour la capture sur console, une console de développement XBOX exécutant la recovery 2106 ou ultérieure.
* Les extensions GDK pour XBOX, pour les fonctionnalités de XMAT qui se connectent à une console de développement XBOX.

## Installer XMAT

1. Téléchargez le fichier ZIP actuel depuis les [versions de XMAT](https://github.com/microsoft/xbox-multiplayer-analysis-tool/releases).
2. Extrayez le fichier ZIP dans un dossier local.
3. Exécutez XMAT en tant qu'administrateur.
4. Lorsque vous y êtes invité, installez le certificat racine de XMAT et accordez-lui votre confiance. XMAT utilise ce certificat pour déchiffrer le trafic HTTPS.

## Capturer le trafic web

1. Dans XMAT, sélectionnez l'onglet **+**.
2. Sélectionnez l'appareil qui exécute le titre :
   * Pour la console de développement XBOX par défaut, sélectionnez **Default XBOX Console**.
   * Pour une autre console de développement XBOX, sélectionnez **XBOX Console at IP or Hostname**.
   * Pour un titre sur le PC de développement, sélectionnez **Local PC**.
3. Sélectionnez **Web Proxy**, puis **Add Capture**.
4. Démarrez le proxy :
   * Pour une console de développement XBOX, sélectionnez **Enable XBOX Proxy**. La console redémarre et commence à envoyer son trafic web via XMAT.
   * Pour un PC Windows, sélectionnez **Start Capture**.
5. Lancez le titre et exécutez les scénarios que vous voulez inspecter.
6. Sélectionnez une connexion pour inspecter les en-têtes et le corps de sa requête et de sa réponse.

Utilisez les filtres **Host**, **Status** et **Method** pour isoler le trafic pertinent. Sélectionnez **Save Captures** dans le menu **File** pour enregistrer la capture sous forme de fichier XMATCAP.

> [!IMPORTANT]
>
> Si une console de développement XBOX reste configurée pour utiliser le proxy XMAT alors que XMAT n'effectue pas de capture, les vérifications des services XBOX et les autres requêtes réseau peuvent échouer. Sélectionnez **Disable XBOX Proxy** une fois les tests terminés. La console redémarre pour appliquer la modification.

## Identifier les hôtes des services partenaires

Avant de simuler une panne de service, capturez le trafic normal du titre :

1. Démarrez une capture de proxy web XMAT.
2. Lancez le titre et utilisez chaque fonctionnalité qui fait appel à un service en ligne, notamment :
   * Les menus et les classements.
   * La création et la jonction de sessions multijoueur.
   * Les amis et les fonctionnalités sociales.
   * Les boutiques intégrées au titre.
   * Les événements à durée limitée.
3. Utilisez le filtre **Host** pour examiner chaque hôte contacté par le titre.
4. Comparez les hôtes capturés avec l'inventaire des services du titre et identifiez les services hébergés par des partenaires à tester.

Ne bloquez pas les hôtes des services Microsoft, XBOX ou PlayFab lorsque vous testez la connectivité des services partenaires. Vérifiez à qui appartient chaque hôte au lieu de vous fier uniquement à une sous-chaîne de son nom.

## Bloquer un service partenaire

Les scripts XMAT peuvent interrompre les requêtes vers des hôtes sélectionnés tout en laissant le reste du trafic disponible.

1. Ouvrez le **Script Editor** dans la capture de proxy web active.

2. Sélectionnez l'événement **SSL Connection Request**.

3. Remplacez l'hôte d'exemple par chaque hôte de service partenaire que vous voulez bloquer. Par exemple :

   ```csharp theme={null}
   string host = Params.Request.Host.ToLowerInvariant();

   if (host == "api.publisher.example" ||
       host.EndsWith(".api.publisher.example"))
   {
       Params.Continue = false;
   }
   ```

4. Sélectionnez **Enable**. Vérifiez que le script se compile correctement.

5. Utilisez la fonctionnalité concernée du titre et vérifiez que les requêtes vers les hôtes sélectionnés échouent, tandis que les services Microsoft, XBOX et PlayFab restent disponibles.

L'événement **SSL Connection Request** bloque les connexions HTTPS. Si le service partenaire utilise HTTP non chiffré, appliquez la même condition d'hôte à l'événement **Web Request** et définissez `Params.Continue` sur `false`.

Pour simuler un service indisponible avant le démarrage du titre, activez le script de blocage avant de lancer le titre.

> [!CAUTION]
>
> Les scripts XMAT affectent le trafic en direct de l'appareil sélectionné. Limitez un script de blocage aux hôtes partenaires spécifiques nécessaires au test, et désactivez le script une fois le test terminé.

## Arrêter la capture

1. Désactivez tous les scripts actifs.
2. Sélectionnez **Stop Capture**.
3. Si une console de développement XBOX utilise le proxy, sélectionnez **Disable XBOX Proxy** et attendez que la console redémarre.

Pour connaître les problèmes connus et les options de support, consultez la [documentation du projet XMAT](https://github.com/microsoft/xbox-multiplayer-analysis-tool/blob/main/README.md#known-issues) et la [politique de support de XMAT](https://github.com/microsoft/xbox-multiplayer-analysis-tool/blob/main/SUPPORT.md).


## Related topics

- [Débogage des piles HTTP personnalisées](https://docs.xbox.com/fr/build/console-features/networking/web-requests/debugging-custom-http-stacks.md)
- [Exigences XBOX testées lors de la certification pour les jeux XBOX](https://docs.xbox.com/fr/publishing/certification/console-cert-tested-requirements.md)
- [XR-074 Perte de connectivité aux services XBOX et partenaires](https://docs.xbox.com/fr/publishing/certification/xr/xr-074.md)
- [Capture du trafic réseau sur Xbox One](https://docs.xbox.com/fr/build/console-features/networking/tools/netcap-networking.md)
- [Utilisation de Fiddler pour inspecter les appels de services web](https://docs.xbox.com/fr/tools/tools-services/live-fiddler-inspect-web-calls.md)
