- 代理 HTTP 和 HTTPS 流量。
- 解密并显示请求和响应数据。
- 按主机、状态代码和方法筛选捕获的流量。
- 运行可修改或终止请求和响应的 C# 脚本。
- 捕获和分析来自 XBOX 开发主机的低级网络流量。
- 分析实时或已保存的捕获,以发现有问题的 XBOX 服务调用模式。
要求
XMAT 需要:- 运行 Windows 10 版本 1809(内部版本 17763)或更高版本或 Windows 11 的开发电脑。
- 开发电脑上的管理员权限。
- 适用于 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”。
- 对于开发电脑上的游戏,选择“Local PC”。
- 选择“Web Proxy”,然后选择“Add Capture”。
- 启动代理:
- 对于 XBOX 开发主机,选择“Enable XBOX Proxy”。主机将重新启动并开始通过 XMAT 发送 Web 流量。
- 对于 Windows 电脑,选择“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”并等待主机重新启动。
