使用Fiddler和Wireshark诊断HoloLens 2网络问题
使用Fiddler和Wireshark诊断HoloLens 2网络问题
在开发或使用HoloLens 2时,网络问题可能会导致应用程序无法正常运行。本文将详细介绍如何使用Fiddler和Wireshark诊断HoloLens 2的网络问题,帮助开发者快速定位和解决问题。
Fiddler 无处不在
假设自定义业务线 (LOB) 应用程序存在身份验证问题。 在HoloLens 2上安装后,应用无法通过 HTTPS 向后端服务器进行身份验证。 若要解决此问题,可以使用 Fiddler 捕获和解码 HTTPS 会话,从而发现网络级别问题。
配置 Fiddler 以捕获来自HoloLens 2的 HTTP 流量
先决条件:
- HoloLens 2设备和电脑必须位于同一网络上
- 记下电脑的 IP 地址
步骤:
在电脑上,安装并启动 Fiddler。 配置 Fiddler 以允许远程计算机连接:
转到“Fiddler设置”,然后选择“Connections”。
请注意,Fiddler 的侦听端口 (默认值为 8866,Fiddler 经典) 为 8888。
选择“允许远程计算机连接”。
注意:在**“工具 -> 选项 -> HTTPS”下,选择“仅捕获远程客户端的HTTPS 连接/解密**”。 这样,我们不会捕获本地流量,而只会捕获来自 HoloLens 的流量。
- 选择“保存”。
在HoloLens 2上,将 Fiddler 配置为代理服务器*。 如果HoloLens 2设备运行的是 Windows Holographic 内部版本 20279.1006 及更高版本, (预览体验成员和即将发布的) ,请使用以下步骤配置代理:
打开“开始”菜单,然后转到**“设置”-> “网络 & Internet”-> “状态”-> Wi-Fi 网络的“属性**”。
向下滚动到“代理”。
更改为“手动设置”。
输入安装了 Fiddler 的电脑的 IP 地址。
输入上面提到的端口号。 (默认值为 8866) 。
选择“应用”。
解密来自HoloLens 2的 HTTPS 流量
在电脑上,导出 Fiddler 证书。
转到 Fiddler设置> HTTPS 并展开“高级设置”。
选择“导出 Fiddler 证书”。 证书将保存到桌面。
- 将证书移动到HoloLens 2上的“下载”文件夹。
在HoloLens 2上,导入 Fiddler 证书。
转到**“设置 > 更新和安全 > 证书**”。
选择“安装证书”,浏览到“下载”文件夹,然后选择“Fiddler 证书”。
将“存储位置”更改为“本地计算机”。
将证书存储更改为根。
选择“安装”。
确认证书是否显示在证书列表中。 如果没有,请重复上述步骤。
检查 HTTP (S) 会话
在你的电脑上,Fiddler 将显示HoloLens 2的实时 HTTP (S) 会话。 Fiddler 中的“检查器”面板可以在不同的视图中显示 HTTP (S) 请求/响应,例如,“原始”视图以纯文本形式显示原始请求或响应。
Fiddler 经典版
假设自定义业务线 (LOB) 应用程序存在身份验证问题。 在HoloLens 2上安装后,应用无法通过 HTTPS 向后端服务器进行身份验证。 若要解决此问题,可以使用 Fiddler 捕获和解码 HTTPS 会话,从而发现网络级别问题。
配置 Fiddler 以捕获来自HoloLens 2的 HTTP 流量
先决条件:
- HoloLens 2设备和电脑必须位于同一网络上
- 记下电脑的 IP 地址
步骤:
在电脑上,安装并启动 Fiddler。 配置 Fiddler 以允许远程计算机连接:
转到“Fiddler设置”,然后选择“Connections”。
请注意,Fiddler 的侦听端口 (默认值为 8866,Fiddler 经典) 为 8888。
选择“允许远程计算机连接”。
注意:在**“工具 -> 选项 -> HTTPS”下,选择“仅捕获远程客户端的HTTPS 连接/解密**”。 这样,我们不会捕获本地流量,而只会捕获来自 HoloLens 的流量。
- 选择“保存”。
在HoloLens 2上,将 Fiddler 配置为代理服务器*。 如果HoloLens 2设备运行的是 Windows Holographic 内部版本 20279.1006 及更高版本, (预览体验成员和即将发布的) ,请使用以下步骤配置代理:
打开“开始”菜单,然后转到**“设置”-> “网络 & Internet”-> “状态”-> Wi-Fi 网络的“属性**”。
向下滚动到“代理”。
更改为“手动设置”。
输入安装了 Fiddler 的电脑的 IP 地址。
输入上面提到的端口号。 (默认值为 8866) 。
选择“应用”。
解密来自HoloLens 2的 HTTPS 流量
在电脑上,导出 Fiddler 证书。
转到 Fiddler设置> HTTPS 并展开“高级设置”。
选择“导出 Fiddler 证书”。 证书将保存到桌面。
将证书移动到HoloLens 2上的“下载”文件夹。
在HoloLens 2上,导入 Fiddler 证书。
转到**“设置 > 更新和安全 > 证书**”。
选择“安装证书”,浏览到“下载”文件夹,然后选择“Fiddler 证书”。
将“存储位置”更改为“本地计算机”。
将证书存储更改为根。
选择“安装”。
确认证书是否显示在证书列表中。 如果没有,请重复上述步骤。
检查 HTTP (S) 会话
在你的电脑上,Fiddler 将显示HoloLens 2的实时 HTTP (S) 会话。 Fiddler 中的“检查器”面板可以在不同的视图中显示 HTTP (S) 请求/响应,例如,“原始”视图以纯文本形式显示原始请求或响应。
Wireshark
Dynamics 365 Remote Assist和 VPN 插件等应用程序使用非 HTTPS 流量。 如果HoloLens 2这些类型的应用存在任何问题,可以使用 Wireshark 捕获和检查 IP 流量,以便对内部 OS 级网络堆栈进行故障排除。
配置 Wireshark 以捕获来自HoloLens 2的网络流量
先决条件:
你的电脑必须具有 Internet 访问权限,并支持通过 Wi-Fi 共享 Internet。
步骤:
在电脑上:
安装 Wireshark。
在“移动热点设置”中,将“与其他设备共享我的 Internet 连接”设置为“打开”。
- 启动 Wireshark 并从移动热点接口捕获流量。
在HoloLens 2上,将 Wi-Fi 网络更改为电脑的移动热点。 HoloLens 2 IP 流量现在将显示在 Wireshark 中。
注意
打开 Wi-Fi 热点后,将使用 Microsoft Wi-Fi Direct 虚拟适配器创建新的局域网连接。
分析 Wireshark 日志
Wireshark 筛选器可帮助筛选出感兴趣的数据包。 例如,“tcp.stream eq 1”显示日志中的第二个 TCP 流, (流索引以 0 开头) ,“ip.addr == 192.168.137.1 && tcp.port == 80”筛选掉源/目标 IP 等于 192.168.137.1 的端口 80 上的 TCP 数据包。