Cloudflare One Client(前称为 WARP)提供诊断日志,您可以使用它们来排查设备上的连接问题。
Chapters
要在桌面设备上查看客户端日志:
- 打开终端窗口。
- 运行
warp-diag工具:warp-diag
这将在您的桌面上放置一个 warp-debugging-info-<date>-<time>.zip 文件。
- 打开命令提示符或 PowerShell 窗口。
- 运行
warp-diag工具:C:\Users\JohnDoe>warp-diag
这将在您的桌面上放置一个 warp-debugging-info-<date>-<time>.zip 文件。
- 打开终端窗口。
- 运行
warp-diag工具:warp-diag
这将在您运行该命令的同一个文件夹中放置一个 warp-debugging-info-<date>-<time>.zip 文件。
功能可用性
| 客户端模式 | Zero Trust 计划 ↗ |
|---|---|
|
所有计划 |
| 系统 | 可用性 | 最低客户端版本 |
|---|---|---|
| Windows | ✅ | 2024.12.492.0 |
| macOS | ✅ | 2024.12.492.0 |
| Linux | ✅ | 2024.12.492.0 |
| iOS | ❌ | |
| Android | ❌ | |
| ChromeOS | ❌ |
您可以使用数字体验监测(DEX)的远程捕获(remote captures)功能,直接从 Zero Trust 仪表板远程收集客户端诊断日志。
设备必须主动连接到互联网才能运行远程捕获。
要从远程设备捕获数据:
- 在 Cloudflare One ↗ 中,前往 DEX > Remote captures(远程捕获)。
- 选择最多 10 台您要运行捕获的设备。设备必须已在您的 Zero Trust 组织中 注册。
- 配置要运行的捕获类型。
-
Packet capture (PCAP)(分组捕获):对 WARP 隧道之外的流量(默认网络接口)和 WARP 隧道之内的流量(虚拟接口)进行分组捕获。
-
Device diagnostics(设备诊断日志):生成过去 96 小时的 Cloudflare One Client 诊断日志。要在您的 分流隧道配置 中包含针对所有 IP 和域的路由测试,请选择 Test all routes(测试所有路由)。
-
- 选择 Run diagnostics(运行诊断)。
DEX 现在将向配置的设备发送捕获请求。如果 Cloudflare One Client 已断开连接,则捕获将在 10 分钟后超时。
- 在 Cloudflare One ↗ 中,前往 DEX > Remote captures(远程捕获)。
- 找到一次成功的捕获。
- 选择三点菜单并选择 Download(下载)。
这将在您的本地计算机上下载一个名为 <capture-id>.zip 的 ZIP 文件。DEX 将根据我们的 日志保留策略 存储捕获数据。
诊断分析器突出显示了 Cloudflare 确定在 warp-diag 日志中最重要的检测事件。您可以使用检测报告来帮助解析您的 日志文件 并确定客户端问题的根本原因。诊断分析器仅适用于 通过仪表板收集的 日志。
要访问诊断分析器:
-
在 Cloudflare One ↗ 中,前往 DEX > Remote captures(远程捕获)。
-
从列表中找到现有的
warp-diag日志,或选择 Run diagnostics(运行诊断) 生成新的warp-diag日志。 -
对您要分析的
warp-diag日志选择三点图标,然后选择 View Device Diag(查看设备诊断)。Overview(概览) 选项卡将显示结果的 AI 生成的摘要、检测事件列表以及基本设备信息。
字段说明
字段 描述 检测类型 诊断日志中可能出现的常见 Cloudflare One Client 问题。 出现次数 在日志中检测到问题的次数。 严重性级别 指示问题对 Cloudflare One Client 功能的影响。严重性级别为: - Critical(严重):问题导致功能完全丧失。
- Warning(警告):问题导致功能下降,但核心功能应仍可工作。
- No detection(未检测到):日志中未检测到问题。
操作系统 设备的 OS 和 OS 版本。 Cloudflare One Client 版本 Cloudflare One Client 发布版本 配置文件 ID 设备配置文件 UUID 服务模式 客户端模式 配置名称 Cloudflare One Client 连接到的 Zero Trust 组织 的名称。 设备 ID 由 Cloudflare One Client 生成的 ID。 -
选择检测类型以获取有关该事件的更多信息以及推荐的后续步骤。
Cloudflare DEX 将根据我们的 日志保留策略 存储 warp-diag 日志及其检测报告。要将副本保存到本地计算机,请 下载日志文件 并前往 JSON file(JSON 文件) 选项卡复制 JSON 格式的报告。
warp-debugging-info-<date>-<time>.zip 压缩包中包含以下文件:
| 文件名 | 描述 |
|---|---|
.qlog |
用于调试 MASQUE 连接问题的 QLog 文件。 |
.pcap |
使用 warp-cli debug pcap 命令手动生成的,或通过额外调试日志记录自动生成的数据包捕获(PCAP)文件。 |
.etl |
仅限 Windows 的跟踪文件,由额外调试日志记录生成,包含数据包捕获、netsh TCPIP 跟踪和 Windows 过滤平台(WFP)捕获。 |
.xml |
仅限 Windows 的 WFP 跟踪文件,由额外调试日志记录生成。 |
alternate-networks-check.txt |
每个托管网络的连接状态。 |
boringtun.log |
负责将流量从设备传输到 Cloudflare 全球网络的 WARP 隧道日志。 |
bound-dns-ports.txt |
端口 53 上的活动进程。 |
captive-portal-hotspot-detect.txt |
captive.apple.com 的 HTTP 响应。 |
connectivity.txt |
对 DNS 解析和 HTTP 跟踪请求进行检测以验证连接是否成功。可用于确定流量是否正通过 WARP 隧道路由。 |
*-checks-*.txt |
首次启用额外调试日志记录时运行的一次性连接性检查。包含与 connectivity.txt 相同的信息。 |
daemon_dns.log |
如果在 Cloudflare One Client 中启用了记录 DNS 查询,则包含详细的 DNS 日志。 |
daemon.log |
Cloudflare One Client 执行的所有操作的详细日志,包括设备与 Cloudflare 全球网络之间的所有通信。注意: 这是最实用的调试日志。 |
date.txt |
您运行 warp-diag 命令时的日期和时间(UTC)。 |
dex.log |
与 DEX 测试 执行相关的日志。 |
dhcp-lease-plists.txt |
每个有 DHCP 租约的接口的来自 /var/db/dhcpclient/leases/ 的 DHCP 租约信息。 |
dhcp-lease.txt |
来自 ipconfig (macOS) 或 nmcli (Linux) 的 DHCP 租约信息。 |
dig.txt |
针对 cloudflare.com 和 apple.com 的 DNS 查找查询输出。 |
dns_stats.log |
由 Cloudflare One Client 接收并解析的 DNS 查询的统计信息,每两分钟生成一次。 |
dns-check.txt |
验证 Cloudflare One Client DNS 服务器是否被设置为系统默认值。对于启用了 DNS 过滤的运行模式,此文件包含本地 DNS 代理的 IP(127.0.2.2:0、127.0.2.3:0、[fd01:db8:1111::2]:0 和 [fd01:db8:1111::3]:0)。 |
dynamic.log |
保留供 Cloudflare 支持团队使用。 |
etc-hosts.txt |
设备的静态 DNS 配置。 |
firewall-pfctl-all.txt |
数据包过滤(pf)防火墙配置(仅限 macOS)。 |
firewall-rules.txt |
由 Cloudflare One Client 配置的系统防火墙规则。 |
gui-launcher.log |
显示应用程序启动的 macOS 控制台日志。 |
gui-log.log |
终端用户交互的 GUI 应用程序的日志文件。 |
hostname.txt |
设备名称。 |
ifconfig.txt ipconfig.txt |
每个网络接口的 IP 配置。 |
installed_applications.txt |
已安装应用程序列表。 |
installed_cert.pem |
系统上安装的根证书。 |
installer.log msi-installer.log |
MSI 或 PKG 安装日志。 |
InstallHistory.plist macos_installer.log |
macOS 软件安装日志。 |
ipc.log |
记录 GUI 与守护进程之间的 IPC 通信。适用于 GUI 崩溃或无法与守护进程通信的情况。 |
kernel-modules.txt |
已加载的内核模块(macOS 和 Linux)或驱动程序(Windows)列表。 |
launchd-dumpstate.txt |
macOS launchd 系统的当前状态,包括已加载的作业、其状态和依赖关系。 |
local_policy.redacted.txtmdm.plist mdm.xml |
设备上的托管部署参数。 |
lsb-release.txt |
来自 lsb_release 命令的输出(仅限 Linux)。 |
netstat.txt routetable.txt |
设备使用的路由表。 |
netstat-v6.txt |
IPv6 路由表(仅限 Linux)。 |
platform.txt |
设备的操作系统。 |
ps.txt processes.txt |
运行 warp-diag 时设备上所有活动进程的列表。 |
resolv.conf |
Mac/Linux 上配置了系统 DNS 服务器的 /etc/resolv.conf 文件的内容。 |
route.txt |
来自 ip route get 命令的输出,用于验证网络流量是否通过正确的接口流出。您可以选择使用 warp-diag --enable-all-routes 标志,以包含对分流配置中所有 IP 和域名的测试。 |
route-change.log |
IP 路由表变更日志。 |
scutil-dns.txt |
macOS/Linux 上的 DNS 配置(在 Windows 上可在 ipconfig.txt 中查看)。 |
scutil-networkinfo.txt |
macOS 上的 IPv4 和 IPv6 network 接口配置(在 Windows 上可在 interfaces-config.txt 中查看)。 |
scutil-proxy.txt |
macOS/Linux 上的代理配置(在 Windows 上可在 ipconfig.txt 中查看)。 |
snapshots-collection.log |
收集 snapshots/*.log 时生成的日志。用于排查 Cloudflare One Client 无法收集快照的原因。 |
snapshots/*.log |
发生错误时生成的诊断信息。 |
stats.log |
WARP 隧道的运行时间和吞吐量统计信息,每两分钟生成一次。 |
sw-vers.txt |
设备的操作系统。 |
sysinfo.json |
运行 warp-diag 时 CPU 和内存的使用情况。此信息有助于确定速度慢是否是由系统负载过高引起的。 |
system-extension-diagnostics.txt |
已加载的系统扩展的状态和健康状况(仅限 macOS)。 |
systeminfo.txt system-profile.txt |
系统软件概览。 |
System.evtx |
Windows 系统事件日志。 |
taskdump.log |
If the daemon hangs, this file will contain a dump of the currently running processes. This is helpful in debugging hangs, deadlocks, and tasks. |
timezone.txt |
设备的本地时区,指定为 UTC 偏移量。 |
traceroute.txt |
指向 WARP 入站 IP 的 Traceroute 路由跟踪,显示从设备到 Cloudflare 全球网络的路径。 |
*-traceroute-*.txt |
针对隧道边缘连接 IP、设备 API 端点主机名与 IP 以及 DNS 解析器主机名与 IP 的一次性 traceroute 路由跟踪;在发觉额外调试日志记录时开始。 |
uname.txt |
仅限 Linux 的系统信息,包括内核版本。 |
updater/ |
包含针对客户端版本分配的单次尝试安装程序日志和下载的软件包元数据的目录。有助于诊断从 Cloudflare 仪表板触发的失败更新。 |
v4interfaces.txt v4subinterfaces.txt v6interfaces.txt v6subinterfaces.txt |
Windows 上的 IPv4 和 IPv6 网络配置。 |
version.txt |
设备上安装的 Cloudflare One Client 版本。 |
warp-account.txt |
Cloudflare One Client 设备注册信息。 |
warp-bus-metrics.txt |
Cloudflare One Client 使用的内部消息总线框架的指标。 |
warp-device-posture.txt |
当前的设备状态(device posture)状态。 |
warp-dex-data.txt |
当前配置的 DEX 测试 及其最新状态。 |
warp-dns-fallbacks.txt |
WARP DNS 代理使用的默认 DNS 回退列表。 |
warp-dns-lock.json |
默认 DNS 提供商和网络接口信息。 |
warp-dns-stats.txt |
自生成 dns-stats.log 以来设备上最近 DNS 查询的摘要。 |
warp-network.txt |
由 Cloudflare One Client 检测到的设备上的网络设置。 |
warp-settings.txt |
应用到设备的 Cloudflare One Client 设置。 |
warp-stats.txt |
自生成 stats.log 以来 WARP 隧道的运行时间和吞吐量。 |
warp-status.txt |
Cloudflare One Client 的连接状态(Connected 或 Disconnected)。 |
wdutil-info.txt |
Wi-Fi 诊断(仅限 macOS)。 |
xpc-launchd.log |
macOS 上 launchd 进程的最新日志文件。 |
warp-debugging-info 文件夹可能包含同一日志的多个版本,例如 daemon.log、daemon.1.log 和 daemon.2.log。由于日志可能会变得非常长,因此它们要么每天轮转一次,要么在超过一定大小时进行轮转。
<logfile>.log是最新的日志。这几乎总是您应该查看的日志,因为它显示了您运行warp-diag命令当天发生的事件。<logfile>.1.log显示前一天的事件。<logfile>.2.log显示前两天的事件。
从版本 2026.5.0 开始,您可以使用命令 warp-cli debug extra start 启用额外调试日志记录。
额外调试日志记录将在 10 分钟后超时,除非您使用 warp-cli debug extra stop 手动停止它。
这将启用以下几项额外的日志记录功能:
- 所有接口上的数据包捕获(PCAP)(在 Windows 上,保留原始
.etl文件;其他 PCAP 命令在删除之前将其转换为.pcap) - 用于 MASQUE 隧道连接的 QLog 文件
- 针对带有 DNS 过滤的服务模式的 DNS 日志
- 一次性连接性检查(与
connectivity.txt的信息相同,在额外调试日志记录启动时收集,而不是在运行warp-diag时收集) - 一次性 traceroute 路由跟踪到:
- DNS 解析器 IP
- DNS 解析器主机名
- 设备 API 端点 IP
- 设备 API 端点主机名
- 隧道边缘连接 IP
- 在 Windows 上,如果您是管理员:
- 带有
Microsoft-Windows-TCPIP提供程序的netsh跟踪 ↗ - WFP 捕获 ↗
- 带有
如果启用了额外调试日志记录,命令 warp-cli debug extra reconnect 将强制隧道连接重新启动。
如果隧道连接失败,这对于收集日志信息会很有用。
每个客户端日志文件(如 connection_stats.log、dns_stats.log、daemon.log、boringtun.log、daemon_dns.log、dex.log 和 captive-portal.log)均受到大小和时间的限制:
- 最大文件大小: 10 MB
- 最大文件保留时间: 24 小时
- 每个日志的最大保留版本数: 4(例如,
daemon.log、daemon.1.log、daemon.2.log和daemon.3.log)
日志文件可能包括运行 warp-diag 之前长达 96 小时(四天)的数据,但仅限于日志活动极少的情况。在日志量较大(例如重复出现错误)的环境中,日志可能会更频繁地轮转,并且捕获的时间窗口可能会短得多(仅有几小时)。
请务必检查每个日志文件末尾的时间戳,以验证诊断归档文件涵盖的时间范围。
要在移动设备上查看客户端日志:
- 打开 Cloudflare One Agent 应用程序。
- 前往 Settings(设置) > Advanced(高级) > Diagnostics(诊断)。
- 收集扩展程序日志:
- 在 Diagnostics(诊断) 页面中,选择 Console logs(控制台日志) > Extension logs(扩展程序日志)。
- 选择 Share(分享) 并选择一种文件分享方式。
- 输入描述性的文件名(如
extension.log,如果您的分享方式支持)。然后分享或保存文件。
- 收集应用程序日志:
- 在 Diagnostics(诊断) 页面中,选择 Console logs(控制台日志) > Application logs(应用程序日志)。
- 选择 Share(分享) 并选择一种文件分享方式。
- 输入描述性的文件名(如
application.log,如果您的分享方式支持)。然后分享或保存文件。
- (可选)针对使用 MASQUE 隧道协议的设备收集 qlog:
- 在 Diagnostics(诊断) 页面中,开启 Enable qlog(启用 qlog)。
- 选择 Export QLog(导出 QLog)。
- 输入描述性的文件名(如
qlogs.zip,如果您的分享方式支持)。然后分享或保存文件。
- 打开 Cloudflare One Agent 应用程序。
- 前往 Settings(设置) > Advanced(高级) > Diagnostics(诊断)。
- 向下滚动至 Debug logs(调试日志) 部分。
- (可选)针对使用 MASQUE 隧道协议的设备开启 Enable qlog(启用 qlog)。
- 选择 Download logs(下载日志)。
- 通过电子邮件、Google 云端硬盘或其他已安装的应用程序分享
warp-debugging-info-<date>-<time>.zip文件。
以下日志文件适用于 iOS、Android 和 ChromeOS 设备。
| 名称 | 描述 |
|---|---|
| 扩展程序日志 | 来自核心 VPN 隧道服务的日志,包括连接状态变更以及设备与 Cloudflare 网络之间的数据包流操作。类似于桌面端的 daemon.log 文件。 |
| 应用程序日志 | 来自 iOS 应用程序进程的日志,包括 GUI 事件、设置变更和 API 调用。 |
| Qlog | 用于调试 MASQUE/HTTP3 隧道连接的 QUIC 协议事件日志。归档文件包含最多 10 个以连接 ID 命名的 .sqlog 文件。 |
warp-debugging-info-<date>-<time>.zip 压缩包中包含以下文件:
| 名称 | 描述 |
|---|---|
unhandled_exception.log |
捕获 Android 应用程序层中未被捕获并可能导致应用崩溃的错误。 |
console.log |
来自 Android 应用程序层的日志,包括 VPN 服务事件、API 调用、失败的 DNS 查询、GUI 交互和设置变更。 |
native_tunnel.log |
来自核心 VPN 隧道服务的日志,包括连接状态变更以及设备与 Cloudflare 网络之间的数据包流操作。类似于桌面端的 daemon.log 文件。 |
<connection_id>.sqlog |
用于调试 MASQUE/HTTP3 隧道连接的 QUIC 协议事件日志。 |