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

# 使用 Fiddler 檢查 Web 服務呼叫

> 如何使用 Fiddler Classic 作為 Web 偵錯 Proxy，記錄並檢查您的裝置與 XBOX Live 服務或信賴憑證者 API 之間的 HTTP 與 HTTPS 流量。

Fiddler 是一個 Web 偵錯 Proxy，可記錄您的裝置與網際網路之間的所有 HTTP 與 HTTPS 流量。使用 Fiddler 記錄並檢查進出 XBOX Live 服務與信賴憑證者 Web 服務的流量，以便了解 Web 服務呼叫並進行偵錯。Fiddler 有多個版本。'Fiddler Classic' 是免費軟體。下列章節僅適用於此版本。

## 適用於在 XBOX One 或更新版本上執行的 Microsoft Game Development Kit (GDK) 專案

如需詳細資訊，請參閱 [Fiddler](/zh-TW/build/console-features/networking/tools/fiddler-setup-networking)。

## 適用於 XBOX One (或更新版本) XBOX One Software Development Kit 專案

在正常運作下，透過 Proxy 通訊的主機有通訊內容遭 Proxy 修改的風險。這種修改可能讓玩家作弊。因此，主機不允許透過 Proxy 通訊。若要在 XBOX One (或更新版本) 開發套件上使用 Fiddler，您需要在開發套件上執行一些特殊的設定步驟，讓它能夠使用 Fiddler Proxy。

您可以從 [Fiddler 網站](https://www.telerik.com/download/fiddler)下載 Fiddler Classic。

Fiddler 可能會影響主機所回報的網路狀態。如果您停用執行 Fiddler 之電腦的上游連線，主機可能要等到主機的驗證到期後才會偵測到此中斷連線。如果您使用 Fiddler，請務必中斷主機與執行 Fiddler 之電腦之間的連線，而不是使用 Fiddler 模擬中斷連線。更好的做法是，使用網路壓力工具模擬中斷連線以進行測試。

### 在開發電腦上安裝並啟用 Fiddler

若要安裝並啟用 Fiddler 以監視來自開發套件的流量，請依照下列步驟執行。

1. 依照 [Fiddler 網站](https://www.telerik.com/download/fiddler)上的指示，在開發電腦上安裝 Fiddler Classic。
2. 啟動 Fiddler，並從 **Tools** 功能表選取 **Fiddler Options**。
3. 選取 **Connections** 索引標籤，並確定已勾選 **Allow remote computers to connect** 核取方塊。
4. 選取 **OK** 以接受您對設定所做的變更。您會看到一個對話方塊，指出必須重新啟動 Fiddler 才能使變更生效，而且您可能需要手動設定防火牆。在此對話方塊上選取 **OK**，但先不要重新啟動 Fiddler。
5. 設定必要的防火牆規則，以允許遠端電腦連線。啟動 Windows 防火牆控制台小程式。選取 **進階設定**，然後選取 **輸入規則**。找到名為 **FiddlerProxy** 的規則，然後向右捲動，確認該規則顯示下列每一項設定。

| 設定 | 建議值 |
| - | - |
| Name | FiddlerProxy |
| Group | (不要為 Group 設定值) |
| Profile | All |
| Enabled | Yes |
| Action | Allow |
| Override | No |
| Program | fiddler.exe 的路徑 |
| LocalAddress | Any |
| RemoteAddress | Any |
| Protocol | TCP |
| LocalPort | Any |
| RemotePort | Any |
| AllowedUsers | Any |
| AllowedComputers | Any |

6. 設定 Fiddler 以擷取並解密 HTTPS 流量。
   1. 為了達到最佳效能，請選取按鈕列上的 **Stream** 按鈕，將 Fiddler 設定為使用串流模式。
   2. 在 Fiddler 中，選取 **Tools**，然後選取 **Fiddler Options**，再選取 **HTTPS**。
   3. 勾選 **Decrypt HTTPS traffic** 核取方塊。如果出現訊息方塊詢問是否要設定 Windows 信任 CA 憑證，請選取 **Yes**。
   4. 選取 **Export Root Certificate to Desktop** 按鈕。
7. 結束 Fiddler 並再次啟動。

### 設定開發套件使用 Fiddler 作為連線至網際網路的 Proxy

開發套件上的 Fiddler 設定比先前版本所使用的方法更簡單。

1. 將您匯出至桌面的 Fiddler 根憑證複製到開發套件，並命名為 `xs:\Microsoft\Cert\FiddlerRoot.cer`。使用下列命令：`xbcp [local Fiddler Root directory]\FiddlerRoot.cer xs:\Microsoft\Cert\FiddlerRoot.cer`。
2. 建立名為 `ProxyAddress.txt` 的文字檔，檔案中唯一的內容為執行 Fiddler 之開發電腦的 IP 位址或主機名稱，以及 Fiddler 正在接聽的連接埠號碼。請依下列格式撰寫名稱/IP 位址與連接埠：`HOST:PORT`。(根據預設，Fiddler 使用連接埠 8888。) 例如，`10.124.220.250:8888` 或 `my_dev_pc.contoso.com:8888`。
3. 將該檔案複製到開發套件，並命名為 `xs:\Microsoft\Fiddler\ProxyAddress.txt`。使用下列命令：`xbcp [local Proxy Address file directory]\ProxyAddress.txt xs:\Microsoft\Fiddler\ProxyAddress.txt`。
4. 在命令提示字元中輸入 `xbreboot` 以重新開機開發套件。

### 停止使用 Fiddler

若要停止使用 Fiddler 作為連線至網際網路的 Proxy (也就是停止在 Fiddler 中追蹤開發套件的所有網路流量)，請重新命名或刪除開發套件上的 `FiddlerRoot.cer` 檔案，然後重新開機開發套件。

### 運作方式

如果開機時 `xs:\Microsoft\Cert\FiddlerRoot.cer` 檔案與 `xs:\Microsoft\Fiddler\ProxyAddress.txt` 檔案都存在，開發套件就會將自己設定為使用 `ProxyAddress.txt` 中指定的 Proxy 伺服器。如果缺少任一檔案，開發套件就不會將自己設定為透過 Fiddler Proxy 運作。

每台安裝 Fiddler 的電腦都使用不同的 Fiddler 根憑證。如果您有一台以上的電腦可能為開發套件提供 Fiddler Proxy，您可以將每台電腦的 Fiddler 根憑證複製到 `xs:\Microsoft\Cert` 目錄中，只要其中一個命名為 `FiddlerRoot.cer` 即可。

開發套件在驗證 Fiddler Proxy 時，會檢查 Cert 目錄中的所有憑證。只要位址列於 `ProxyAddress.txt` 中之電腦的憑證存在於 Cert 目錄中，開發套件就會使用該電腦上的 Fiddler 執行個體。

## 適用於 XBOX One (或更新版本) UWP 專案

請依照 UWP 文件中 <a href="https://learn.microsoft.com/en-us/windows/uwp/xbox-apps/uwp-fiddler" target="_blank">How to use Fiddler with XBOX One when developing for UWP ⬀</a> 一文中的步驟操作。

## 適用於 Windows UWP PC 應用程式

1. 確定目前的使用者屬於電腦上的系統管理員群組。
2. 從 [https://www.telerik.com/fiddler](https://www.telerik.com/fiddler) 下載 Fiddler。
3. 請確定您選取的是 **Built for .NET 4** 的版本。
4. 安裝完成後，前往 **Tools** > **Fiddler Options**，並啟用 **Capture HTTPS CONNECTs** 與 **Decrypt HTTPS traffic**。執行階段與 XBOX 服務之間的所有通訊都使用 SSL 加密。若未啟用此選項，您將看不到任何有用的內容。接受 Fiddler 跳出的所有對話方塊 (共有五個對話方塊，包括 UAC)。
5. 前往 **WinConfig**，選取 **Exempt All**，然後選取 **Save Changes**。否則，Fiddler 將無法與 Store 應用程式搭配運作。
6. 現在如果您執行應用程式，就會看到應用程式、執行階段與 XBOX 服務之間的要求與回應。

若要對 UWP OS 層級的呼叫進行偵錯 (這通常不需要，但在對登入與遊戲內事件進行偵錯時可能很有幫助)，請使用下列命令設定 Fiddler 擷取 WinHTTP 流量：

```cpp theme={null}
    netsh winhttp set proxy 127.0.0.1:8888 "<-loopback>"
```

連接埠號碼必須與 Fiddler **Tools** | **Options** | **Connections** 索引標籤上設定的連接埠相符。預設連接埠號碼為 8888。

使用下列命令復原此設定：

```cpp theme={null}
    netsh winhttp reset proxy
```


## Related topics

- [XBOX 服務追蹤分析器 (XblTraceAnalyzer.exe)](/zh-TW/tools/tools-services/live-trace-analyzer.md)
- [XBOX 服務的開發工具](/zh-TW/tools/tools-services/live-tools.md)
- [XBOX 服務的工具](/zh-TW/tools/tools-services/live-tools-nav.md)
- [Windows PC 上的 Fiddler](/zh-TW/build/console-features/networking/tools/fiddler-pc.md)
- [來賓使用者概觀](/zh-TW/build/core-features/common/user/users-guest-overview.md)
