- Fazer proxy de tráfego HTTP e HTTPS.
- Descriptografar e exibir dados de solicitações e respostas.
- Filtrar o tráfego capturado por host, código de status e método.
- Executar scripts C# que modificam ou encerram solicitações e respostas.
- Capturar e analisar o tráfego de rede de baixo nível de um console de desenvolvimento XBOX.
- Analisar capturas ao vivo ou salvas em busca de padrões problemáticos de chamadas aos serviços XBOX.
Requisitos
O XMAT requer:- Um PC de desenvolvimento executando o Windows 10, versão 1809 (build 17763) ou posterior, ou o Windows 11.
- Permissões de administrador no PC de desenvolvimento.
- O .NET 10 Desktop Runtime e o ASP.NET Core Runtime para Windows x64, ou o .NET 10 SDK para Windows x64.
- Para captura no console, um console de desenvolvimento XBOX executando a recovery 2106 ou posterior.
- GDK Extensions for XBOX para os recursos do XMAT que se conectam a um console de desenvolvimento XBOX.
Instalar o XMAT
- Baixe o arquivo ZIP atual em versões do XMAT.
- Extraia o arquivo ZIP para uma pasta local.
- Execute o XMAT como administrador.
- Quando solicitado, instale o certificado raiz do XMAT e confie nele. O XMAT usa esse certificado para descriptografar o tráfego HTTPS.
Capturar tráfego da web
- No XMAT, selecione a guia +.
- Selecione o dispositivo que executa o título:
- Para o console de desenvolvimento XBOX padrão, selecione Default XBOX Console.
- Para outro console de desenvolvimento XBOX, selecione XBOX Console at IP or Hostname.
- Para um título no PC de desenvolvimento, selecione Local PC.
- Selecione Web Proxy e, em seguida, selecione Add Capture.
- Inicie o proxy:
- Para um console de desenvolvimento XBOX, selecione Enable XBOX Proxy. O console é reiniciado e começa a enviar o tráfego da web pelo XMAT.
- Para um PC com Windows, selecione Start Capture.
- Inicie o título e execute os cenários que você deseja inspecionar.
- Selecione uma conexão para inspecionar os cabeçalhos e o corpo da solicitação e da resposta.
[!IMPORTANT] Se um console de desenvolvimento XBOX permanecer configurado para usar o proxy do XMAT quando o XMAT não estiver capturando, as verificações dos serviços XBOX e outras solicitações de rede podem falhar. Selecione Disable XBOX Proxy quando os testes forem concluídos. O console é reiniciado para aplicar a alteração.
Identificar os hosts de serviços de parceiros
Antes de simular uma interrupção de serviço, capture o tráfego normal do título:- Inicie uma captura de proxy da web no XMAT.
- Inicie o título e execute todos os recursos que usam um serviço online, incluindo:
- Menus e leaderboards.
- Criação e entrada em sessões multijogador.
- Amigos e recursos sociais.
- Lojas no título.
- Eventos por tempo limitado.
- Use o filtro Host para revisar todos os hosts com os quais o título se comunica.
- Compare os hosts capturados com o inventário de serviços do título e identifique os serviços hospedados por parceiros a serem testados.
Bloquear um serviço de parceiro
Os scripts do XMAT podem encerrar solicitações para hosts selecionados enquanto mantêm o restante do tráfego disponível.- Abra o Script Editor na captura de proxy da web ativa.
- Selecione o evento SSL Connection Request.
-
Substitua o host de exemplo por cada host de serviço de parceiro que você deseja bloquear. Por exemplo:
- Selecione Enable. Verifique se o script é compilado com êxito.
- Execute o recurso afetado do título e verifique se as solicitações para os hosts selecionados falham enquanto os serviços da Microsoft, do XBOX e do PlayFab permanecem disponíveis.
Params.Continue como false.
Para simular um serviço que fica indisponível antes de o título iniciar, ative o script de bloqueio antes de iniciar o título.
[!CAUTION] Os scripts do XMAT afetam o tráfego ao vivo do dispositivo selecionado. Limite um script de bloqueio aos hosts de parceiros específicos necessários para o teste e desative o script quando o teste for concluído.
Parar a captura
- Desative todos os scripts ativos.
- Selecione Stop Capture.
- Se um console de desenvolvimento XBOX estiver usando o proxy, selecione Disable XBOX Proxy e aguarde a reinicialização do console.
