如何收集用于诊断 NCSI 问题的数据

我们通常会使用数据包捕获数据来排查 NCSI(网络连接状态指示器)问题,但问题与数据包流量相关时,NCSI 事件日志也可能是有用的工具。 本指南旨在帮助用户诊断常见场景中出现的 NCSI 问题。

使用事件查看器查看 NCSI 数据

  1. 若要打开“事件查看器”,请右键单击“开始”并选择“事件查看器”。
    或者,按 Win+R 打开“运行”提示框,然后键入 eventviewer.exe。 Screenshot of the Start button context menu with Event Viewer highlighted.

  2. 展开“应用程序和服务日志”>“Microsoft”>“Windows”>“NCSI”。 Screenshot of the Event Viewer with expanded Applications and Service Logs, Microsoft, Windows, and NCSI highlighted.

  3. 右键单击“NCSI”并选择“查看”>“显示分析和调试日志”。 Screenshot of the Event Viewer with NCSI highlighted with Show Analytic and Debug Logs enabled.

  4. 右键单击“NCSI”文件夹下的“分析”并选择“启用日志”。
    此时可能会出现一个对话框,通知你如果启用日志记录,可能会丢失分析和调试日志事件。 选择“确定”以继续。Screenshot of the Event Viewer with the NCSI Analytic event logging enabled.

使用事件查看器检索 NCSI 数据

执行上述操作将有助于检索数据。 为了便于分析,请将生成的日志转换为文本格式。 在“事件查看器”中执行以下步骤:

  1. 展开“应用程序和服务日志”>“Microsoft”>“Windows”>“NCSI”。

  2. 右键单击“分析”并选择“将所有事件另存为”。 Screenshot of the Event Viewer with the NCSI Analytic event with save all events being enabled.

  3. 此时将打开“另存为”对话框。 将“保存类型”设置为“文本(*.txt)”,为文件命名并选择位置。 选择“保存”。 Screenshot of the save as dialog window with NCSI logs being saved to the documents folder.

下面是成功连接输出的示例:

Information    4/26/2023 12:17:46 PM    Microsoft-Windows-NCSI    4013    Internet Connectivity Detection    Active Internet Probe started on interface {611346db-8fbb-473d-808b-6c7573b3ef4d}
Information    4/26/2023 12:17:46 PM    Microsoft-Windows-NCSI    4017    Internet Connectivity Detection    Active Internet Probe (HTTP) started on interface {611346db-8fbb-473d-808b-6c7573b3ef4d}
Information    4/26/2023 12:17:48 PM    Microsoft-Windows-NCSI    4005    Wait for Internet Connectivity     Entered State: Internet Connectivity Interface Luid: 0x6008001000000
Information    4/26/2023 12:18:07 PM    Microsoft-Windows-NCSI    4018    Internet Connectivity Detection    Active Internet Probe (HTTP) finished on interface {611346db-8fbb-473d-808b-6c7573b3ef4d}
Information    4/26/2023 12:18:07 PM    Microsoft-Windows-NCSI    4014    Internet Connectivity Detection    Active Internet Probe finished on interface {611346db-8fbb-473d-808b-6c7573b3ef4d} (false)

下面是失败连接输出的示例:

Information    4/26/2023 12:01:02 PM    Microsoft-Windows-NCSI    4013    Internet Connectivity Detection    Active Internet Probe started on interface {611346db-8fbb-473d-808b-6c7573b3ef4d}
Information    4/26/2023 12:01:02 PM    Microsoft-Windows-NCSI    4017    Internet Connectivity Detection    Active Internet Probe (HTTP) started on interface {611346db-8fbb-473d-808b-6c7573b3ef4d}
Information    4/26/2023 12:01:04 PM    Microsoft-Windows-NCSI    4005    Wait for Internet Connectivity     Entered State: Local Connectivity Interface Luid: 0x6008001000000
Information    4/26/2023 12:03:23 PM    Microsoft-Windows-NCSI    4018    Internet Connectivity Detection    Active Internet Probe (HTTP) finished on interface {611346db-8fbb-473d-808b-6c7573b3ef4d}
Warning        4/26/2023 12:03:23 PM    Microsoft-Windows-NCSI    4051    None                               Active probe result code on interface {611346db-8fbb-473d-808b-6c7573b3ef4d} (0x6008001000000 Family: V4) = 12007

将“分析”和“操作”NCSI 事件与数据包捕获时间戳相关联,以确定主动探测是否已触发、是否已完成以及失败的原因。 若要详细了解 Winhttp 错误代码,请参阅错误消息 (Winhttp.h)

如何重现问题场景

可以强制执行主动探测来查看它能否完成,从而以这种方式排查问题。 最简单的方法是造成一个网络更改事件。 下面针对有线和无线连接演示此操作:

有线

  1. 断开以太网线。 (或者,可以在“高级”网络设置中禁用网络适配器)。
  2. 使用数据包捕获软件(例如 wireshark),并等待 30 秒再收集数据。
  3. 重新连接以太网线。 (或者如果之前禁用了网络适配器,则在“高级”网络设置中启用网络适配器)。
  4. 在停止捕获之前等待 60 秒,以确保有足够的时间尝试主动探测。

无线

  1. 在连接之前启动数据包捕获。
  2. 连接到无线网络。
  3. 等待 60 秒以确保主动探测活动已全面发生。
  4. 停止网络捕获。

其他参考