NCSI 常見問題的解答
下一節提供 Windows 中網路連線狀態指標 (NCSI) 的快速常見問題。
重要
先前由 Azure Front Door 裝載的公用 NCSI 探查伺服器自 2023 年 6 月 20 日起由 Akamai 裝載。
Microsoft建議使用防火牆規則來允許 NCSI 流量,且不應以 IP 位址為基礎。 如果您觀察到任何失敗的 NCSI 探查,請先檢查用戶端探查的企業防火牆或 Proxy 並未遭到封鎖。 如果探查在上述日期之前運作無誤,那麼問題在於新增的規則允許輸出 HTTP 請求至 13.107.4.52。
您可以按一下 [開始]>,然後輸入 wf.msc>,並選擇 Enter,以修改 Windows Defender 防火牆進階安全性 中的輸出規則。 應根據原始服務建立輸出規則。
NLS (網路清單服務) 適用於:
- Windows Server 2022 和未來版本
- Windows 11
NLA (網路位置感知) 服務適用於:
- Windows Server 2019 和先前的版本
- Windows 10 和以前的版本
對於外部硬體型防火牆後方的使用者,我們建議客戶與其硬體廠商合作,針對其環境建置適當的規則,因為實作中各有不同的控件和組態。 NCSI 探查滿足與 Windows Update 相同的要求,允許主機名通過,而不對應到特定的 IP 位址。
何時傳送主動探測訊號?
主動探查由 NCSI 監視器檢測後指出可能需要更新網路狀態的下列事件所觸發:
- 一般介面或網路條件變更。
- 代理偵測或變動。
- 熱點檢測或變化。
當符合新的網路條件時,不論是有線、無線或在 VPN 後方,網路介面便準備好可供使用,而且會進行作用中的探查來測試網路連線。 例如,建立無線連線時:
[Microsoft-Windows-NCSI/Analytic ] Transitioning to State: Interface NetReady
Interface Luid: 0x47008000000000
作用中探查成功之後會發生什麼情況?
成功的探測器提供下列輸出:
[Microsoft-Windows-NCSI/Analytic ] Active Internet Probe finished on interface {426b6867-b0e4-4ff9-a14b-dd6a4345c24e} (true) {426b6867-b0e4-4ff9-a14b-dd6a4345c24e}, true, true, false, true, false
- 如果探查未經過代理伺服器,NCSI 會記下此情況。
- 網路介面圖示會變更,以反映可存取因特網連線。
- 如果是在無需提供認證或預設不允許存取網際網路且需要進一步輸入的 Captive 入口網站環境下,它將設定為本機功能。 如需詳細資訊,請參閱 Captive portals。
什麼可以阻止主動探測成功?
許多因素可能會阻止主動探測到達網際網路探測伺服器,或者阻止伺服器成功與客戶端進行溝通並接收回應。 如下所示:
- Proxy 錯誤、設定錯誤、間歇性環境狀況。
- PAC 檔案問題,導致封包無法路由傳送至正確的 Proxy,或客戶端無法辨識傳送探查所需的 Proxy 是否存在。
- VPN 配置、設置處理延遲,以及將探測器錯誤路由到因連線逾時而無法輕易到達網際網路的位置。
- 已知的 NCSI 查詢名稱網域名稱系統 (DNS) 伺服器解析問題。 這些通常是間歇性的問題,而且不會遺漏記錄。
被動探查如何判斷連線能力?
如果針對介面記錄的躍點計數至少達到系統的最小值,系統會將介面的功能更新為網際網路。 除非發生在“何時會發送使用中探查?”中描述的事件,否則這個介面不會再進行任何使用中的探查。 發生。
如果 NCSI 看到連線僅限本機,則以下條件成立:
- 躍點計數不符合系統最小值。
- 無法擷取特定介面的躍點計數資料。
- 路由表中沒有包含連接到網際網路上根伺服器的下一躍點的介面入口。
- 主動探查已啟用,但自介面連線以來,沒有任何主動探查成功完成。
預設系統最小躍點計數為何?
默認躍點計數 8,但這不一定對企業而言是最佳的。 3 的值適用於大部分的企業基礎結構。
注意
Microsoft不建議非企業用戶更改此躍點計數值,因為該值可能會有所更動。
被動探查的執行頻率和頻率為何?
有數個因素會影響被動探針是否應基於被動輪詢數據來執行。 必須符合下列條件:
- 群組原則允許。 未設定組策略時,預設為允許。 在組策略中,您可以流覽至 [計算機設定\系統管理範本\網络\網络連線狀態指標\指定被動輪詢來驗證此情況。
- 使用者已登入,或在過去 30 秒內登入。
如果允許被動探查執行,則每隔 15 秒執行一次。 您可以透過編輯下列註冊表機碼來覆蓋:
HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet\PassivePollPeriod
登錄中 HTTP Web 探查器伺服器路徑的位置在哪裡?
在下列路徑中找到探查內容以及預先定義的 DNS 探查主機:
HKLM\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
註
從 Windows 10 組建 14393 (1607) 開始,Web 探查 (HTTP) 要求會傳送至 www.msftconnecttest.com/connecttest.txt
。
HTTP 200 OK 的預期回應應包含負載內容「Microsoft Connect Test」,例如:
HTTP:Request, GET /connecttest.txt
HTTP:Response, Status: Ok, URL: /connecttest.txt
之前,已使用 www.msftncsi.com/ncsi.txt
,且預期的回應為 HTTP 200 OK,且承載包含 “Microsoft NCSI”。 查詢將傳送至 dns.msftncsi.com
以進行 DNS 探查。 例如:
Query for dns.msftncsi.com of type A on class Internet
Response - Success, 131.107.255.255
注意
4-c-0003.c-msedge.net 通常可辨識為 MSFT 服務網路的進入點,其中包括Microsoft裝載的因特網探查伺服器。 “4” 適用於 IPv4。 6-c-0003.c-msedge.net 適用於 IPv6。
NCSI 如何知道要使用 HTTP 或 DNS 探測?
從 Windows 11 開始,一律會使用 HTTP。 您可能會看到 DNS 活動,但其用途是識別傳送 HTTP 探查的位置。 在此之前,如果沒有 Proxy 存在,則使用 DNS 的 NCSI 探測。 例:
[Microsoft-Windows-NCSI/Analytic ] Active Internet Probe (DNS) started on interface {426b6867-b0e4-4ff9-a14b-dd6a4345c24e}
網路探查失敗的原因
網路探查可能會失敗的原因有數個。 針對所遇到的任何失敗,它會記錄在事件查看器中以供調查。
輸出 | 描述 |
---|---|
Active DNS 探測失敗 | DNS 探查失敗。 透過封包擷取進行驗證。 |
主動HTTP探測失敗 (ActiveHttpProbeFailed) | 探查伺服器的 DNS 名稱未解析。 嘗試傳送 Web 探查要求之前,NSCI 失敗。 這可能是因為 DNS 失敗、無法連線到 Proxy 伺服器等。 透過封包擷取進行驗證。 |
主動 HTTP 探測失敗但 DNS 成功 | 探查伺服器 DNS 名稱已解析,但解析 IP 位址的 HTTP 探查失敗。 使用封包擷取應用程式並確認數據擷取。 |
活動 HTTP 探測失敗,檢測到熱點 | HTTP 探查無法通過熱點或驗證頁面。 這通常是在收到 HTTP 回應 200 時判斷,但響應承載不包含文字檔 connecttest.txt。 或者,可能會收到非 200 HTTP 狀態代碼,例如 302 或 304。 處理無法建立無線連線的問題時,通常會觀察到此狀態代碼。 透過封包擷取進行驗證。 使用者可能需要驗證熱點,或熱點組態可能需要修改。 |
NoAddress | 目標配接器未指派慣用的IP位址。 有一個更大的問題,無法透過 NSCI 解決。 |
NoGlobalAddress | 與 NoAddress 相同,但 IPV6 介面專屬。 |
無路由 | 探查正在通過的介面在路由表中沒有通往網際網路的路由。 在某些情況下,當新連線的 VPN 尚未使用新路由變更路由表,或在 VPN 介面連線之後強制通道 VPN 案例中,實體介面會在修改路由表時捨棄至本機連線。 |
PassivePacketHops |
不是失敗。 收到的封包表示某種程度的連線能力。 當功能 引發時,不會降低此變更原因。 |
以下是探查失敗的輸出:
[Microsoft-Windows-NCSI/Analytic ] Active Internet Probe finished on interface {426b6867-b0e4-4ff9-a14b-dd6a4345c24e} (false) {426b6867-b0e4-4ff9-a14b-dd6a4345c24e}, false, true, false, false, false
[Microsoft-Windows-NCSI/Operational ] Capability change on {426b6867-b0e4-4ff9-a14b-dd6a4345c24e} (0x6008001000000 Family: V4 Capability: Local ChangeReason: SuspectDnsProbeFailed) {426b6867-b0e4-4ff9-a14b-dd6a4345c24e}
注意
如果探查失敗是因為經過代理伺服器,NCSI 會將連線狀態設定為無。 如果失敗的探測未穿越(直接執行),NCSI 會將連線狀態設定為本機。
NCSI 結束熱點模式的時機為何?
當 NCSI 能夠取得與預期內容 "Microsoft Connect Test" 相符的有效探查時。 除了偵測和報告它之外,NCSI 在熱點背後沒有什麼可做的事。 用戶必須向熱點進行驗證,以便允許流量流向因特網。
NCSI 負責在探針被重新導向時,以本地連線方式準確報告系統的連接能力。 只有因特網裝載的探查伺服器應該傳回證明因特網連線的預期內容。
以下是一個探針故障可能傳送的範例:
[Microsoft-Windows-NCSI/Analytic ] Active Internet Probe finished on interface {426b6867-b0e4-4ff9-a14b-dd6a4345c24e} (false)
{426b6867-b0e4-4ff9-a14b-dd6a4345c24e}, false, true, false, false, false
[Microsoft-Windows-NCSI/Operational ] Capability change on {426b6867-b0e4-4ff9-a14b-dd6a4345c24e}
(0x6008001000000 Family: V4 Capability: Local ChangeReason: SuspectDnsProbeFailed){426b6867-b0e4-4ff9-a14b-dd6a4345c24e}
為什麼當我連線到網路時,Windows 有時會開啟瀏覽器?
此行為是設計使然。 Windows 希望使用者知道何時連線到需要 Captive Portal 驗證的網路。 Windows 用來在短時間內顯示小型彈出窗口,鼓勵用戶選取它來開啟瀏覽器。 使用者通常會錯過這一點,因為不知道它會開啟瀏覽器進行驗證。 如需詳細資訊,請參閱 當連接公司或公共網絡時開啟的瀏覽器。
哪裡可以找到公開檔,指出 msftconnecttest.com 必須位於允許清單中?
下列 URL 清單提及或暗示 msftconnecttext.com
:
Microsoft Office 如何使用 NCSI 來判斷因特網連線能力?
這是透過Microsoft Office 對 get_IsConnectedToInternet進行 API 呼叫來完成。 如果像 Microsoft Office 這類應用程式顯示沒有網際網路連線,但您仍能瀏覽網站,這表示存在 NCSI 問題。 如果您無法瀏覽或執行其他基本網路作業,這可能是一般網路問題,而且 NCSI 疑難解答不適用。
任務欄網路圖示依賴 NCSI,即使它指出沒有網路活動,也會套用相同的規則。 這可能是因為 NCSI 以外的較泛型網路問題所造成。
Linux 有自己的 NCSI 嗎?
Linux 沒有內建 API(應用程式程式設計介面),可讓應用程式檢查是否有連續的因特網連線變更。 他們必須從頭開始實作自己的網路檢查,或使用各種 Linux 公用程式持續檢查一段時間,以變更網路狀況。
此外,某些 Linux 應用程式不會執行連線檢查。 它們在事後傳送封包並處理錯誤,而 NCSI 可讓應用程式立即提示用戶連線問題。
注意
企業必須確保其基礎設施不會封鎖 HTTP 或 DNS 主動探測。 如果下列任一項設定錯誤,就可能發生此情況:
- 封鎖的防火牆
- DNS 伺服器
- 強制 VPN 通道
- Proxy 伺服器
- 路由器
- 攔截探測的第三方軟體
對於一般消費者而言,箱外不需要用戶設置的潛在障礙較少。 當使用 VPN 或第三方軟體時,可能會導致攔截、路由錯誤或延遲 NCSI 主動探測,從而發生問題。