> ## 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.

# XMAT를 사용하여 네트워크 트래픽 검사 및 수정

> XMAT를 사용하여 XBOX 개발 콘솔 및 Windows PC의 네트워크 트래픽을 캡처, 검사, 분석 및 수정합니다.

[XBOX Multiplayer Analysis Tool(XMAT)](https://github.com/microsoft/xbox-multiplayer-analysis-tool/blob/main/README.md)은 XBOX 개발 콘솔 및 Windows PC의 네트워크 트래픽을 캡처, 검사 및 수정합니다. [최신 XMAT 릴리스](https://github.com/microsoft/xbox-multiplayer-analysis-tool/releases)를 다운로드하세요.

XMAT로 다음을 수행할 수 있습니다.

* HTTP 및 HTTPS 트래픽을 프록시합니다.
* 요청 및 응답 데이터를 해독하고 표시합니다.
* 호스트, 상태 코드 및 메서드별로 캡처된 트래픽을 필터링합니다.
* 요청 및 응답을 수정하거나 종료하는 C# 스크립트를 실행합니다.
* XBOX 개발 콘솔에서 하위 수준 네트워크 트래픽을 캡처하고 분석합니다.
* 라이브 또는 저장된 캡처를 분석하여 문제가 있는 XBOX 서비스 호출 패턴을 찾습니다.

## 요구 사항

XMAT에는 다음이 필요합니다.

* Windows 10 버전 1809(빌드 17763) 이상 또는 Windows 11을 실행하는 개발 PC.
* 개발 PC에 대한 관리자 권한.
* [Windows x64용 .NET 10 Desktop Runtime 및 ASP.NET Core Runtime](https://dotnet.microsoft.com/download/dotnet/10.0) 또는 Windows x64용 .NET 10 SDK.
* 콘솔 캡처의 경우 복구 2106 이상을 실행하는 XBOX 개발 콘솔.
* XBOX 개발 콘솔에 연결하는 XMAT 기능을 위한 GDK Extensions for XBOX.

## XMAT 설치

1. [XMAT 릴리스](https://github.com/microsoft/xbox-multiplayer-analysis-tool/releases)에서 현재 ZIP 파일을 다운로드합니다.
2. ZIP 파일을 로컬 폴더에 압축을 풉니다.
3. 관리자 권한으로 XMAT를 실행합니다.
4. 메시지가 표시되면 XMAT 루트 인증서를 설치하고 신뢰합니다. XMAT는 이 인증서를 사용하여 HTTPS 트래픽을 해독합니다.

## 웹 트래픽 캡처

1. XMAT에서 **+** 탭을 선택합니다.
2. 타이틀을 실행하는 디바이스를 선택합니다.
   * 기본 XBOX 개발 콘솔의 경우 **Default XBOX Console**을 선택합니다.
   * 다른 XBOX 개발 콘솔의 경우 **XBOX Console at IP or Hostname**을 선택합니다.
   * 개발 PC의 타이틀인 경우 **Local PC**를 선택합니다.
3. **Web Proxy**를 선택한 다음 **Add Capture**를 선택합니다.
4. 프록시를 시작합니다.
   * XBOX 개발 콘솔의 경우 **Enable XBOX Proxy**를 선택합니다. 콘솔이 다시 시작되고 XMAT를 통해 웹 트래픽을 보내기 시작합니다.
   * Windows PC의 경우 **Start Capture**를 선택합니다.
5. 타이틀을 실행하고 검사하려는 시나리오를 수행합니다.
6. 연결을 선택하여 요청 및 응답 헤더와 본문을 검사합니다.

**Host**, **Status** 및 **Method** 필터를 사용하여 관련 트래픽을 분리합니다. **File** 메뉴에서 **Save Captures**를 선택하여 캡처를 XMATCAP 파일로 저장합니다.

> \[!IMPORTANT]
> XMAT가 캡처하지 않을 때 XBOX 개발 콘솔이 XMAT 프록시를 사용하도록 구성된 상태로 남아 있으면 XBOX 서비스 확인 및 기타 네트워크 요청이 실패할 수 있습니다. 테스트가 완료되면 **Disable XBOX Proxy**를 선택하세요. 변경 사항을 적용하기 위해 콘솔이 다시 시작됩니다.

## 파트너 서비스 호스트 식별

서비스 중단을 시뮬레이션하기 전에 타이틀의 정상 트래픽을 캡처합니다.

1. XMAT 웹 프록시 캡처를 시작합니다.
2. 타이틀을 실행하고 온라인 서비스를 사용하는 모든 기능을 수행합니다. 예:
   * 메뉴 및 순위표.
   * 멀티플레이어 세션 만들기 및 참가.
   * 친구 및 소셜 기능.
   * 타이틀 내 스토어.
   * 기간 한정 이벤트.
3. **Host** 필터를 사용하여 타이틀이 접속하는 모든 호스트를 검토합니다.
4. 캡처된 호스트를 타이틀의 서비스 인벤토리와 비교하고 테스트할 파트너 호스팅 서비스를 식별합니다.

파트너 서비스 연결을 테스트할 때 Microsoft, XBOX 또는 PlayFab 서비스 호스트를 차단하지 마세요. 호스트 이름에 포함된 부분 문자열에만 의존하지 말고 각 호스트의 소유권을 확인하세요.

## 파트너 서비스 차단

XMAT 스크립트는 다른 트래픽은 사용 가능한 상태로 두면서 선택한 호스트에 대한 요청을 종료할 수 있습니다.

1. 활성 웹 프록시 캡처에서 **Script Editor**를 엽니다.

2. **SSL Connection Request** 이벤트를 선택합니다.

3. 샘플 호스트를 차단하려는 각 파트너 서비스 호스트로 바꿉니다. 예:

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

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

4. **Enable**을 선택합니다. 스크립트가 성공적으로 컴파일되는지 확인합니다.

5. 영향을 받는 타이틀 기능을 수행하고, Microsoft, XBOX 및 PlayFab 서비스는 계속 사용할 수 있는 상태에서 선택한 호스트에 대한 요청이 실패하는지 확인합니다.

**SSL Connection Request** 이벤트는 HTTPS 연결을 차단합니다. 파트너 서비스가 암호화되지 않은 HTTP를 사용하는 경우 **Web Request** 이벤트에 동일한 호스트 조건을 적용하고 `Params.Continue`를 `false`로 설정합니다.

타이틀이 시작되기 전에 사용할 수 없는 서비스를 시뮬레이션하려면 타이틀을 실행하기 전에 차단 스크립트를 사용하도록 설정합니다.

> \[!CAUTION]
> XMAT 스크립트는 선택한 디바이스의 라이브 트래픽에 영향을 줍니다. 차단 스크립트는 테스트에 필요한 특정 파트너 호스트로 제한하고, 테스트가 완료되면 스크립트를 사용하지 않도록 설정하세요.

## 캡처 중지

1. 활성 스크립트를 모두 사용하지 않도록 설정합니다.
2. **Stop Capture**를 선택합니다.
3. XBOX 개발 콘솔이 프록시를 사용하는 경우 **Disable XBOX Proxy**를 선택하고 콘솔이 다시 시작될 때까지 기다립니다.

알려진 문제 및 지원 옵션은 [XMAT 프로젝트 설명서](https://github.com/microsoft/xbox-multiplayer-analysis-tool/blob/main/README.md#known-issues) 및 [XMAT 지원 정책](https://github.com/microsoft/xbox-multiplayer-analysis-tool/blob/main/SUPPORT.md)을 참조하세요.


## Related topics

- [XBOX One 개발 키트에서 네트워크 트래픽 캡처](/ko/build/console-features/networking/tools/netcap-networking.md)
- [게임 저장 개요](/ko/build/core-features/common/game-save/game-saves-overview.md)
- [Fiddler를 사용하여 웹 서비스 호출 검사](/ko/tools/tools-services/live-fiddler-inspect-web-calls.md)
- [게임 저장 도구](/ko/build/core-features/common/game-save/game-saves-tools.md)
- [네트워크 초기화 상태 감지](/ko/build/console-features/networking/initialization-connectivity-networking.md)
