Windows 10能上網但是顯示無法連接到Internet


 

別的小朋友都沒事,咋就你有問題呢?

問題原因

首先我們看一下為什么會出現這種問題。“我明明能上網,你為什么覺得我上不了網?”

Windows檢測能否上網的評判標准有兩個,一個是能否解析DNS,另一個是能否訪問HTTP。具體來說就是能否正確解析一個域名到指定的IP地址,以及能否訪問指定的HTTP地址獲得指定的內容。

DNS解析這一個,我還是不太清楚具體是怎么樣的。根據我目前的實驗,應該是域名和IP必須是一個DNS服務器,也就是這個地址的53端口要能連接。

設置這些參數,也就是請求哪個域名,哪個HTTP地址是在注冊表里設置的,位置如下

計算機\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet

根據上面說的,只要系統沒有解析到正確的IP,或者沒有獲得HTTP的內容,就判斷你沒有連接網絡。

解決辦法

我們看一下注冊表的內容

 

 

其中最重要的是ActiveDnsProbeContent(6)、ActiveDnsProbeHost(6)、ActiveWebProbeContent(6)和ActiveWebProbeHost(6)這幾個。

如圖里的,DNS驗證就是看dns.google是否對應8.8.8.8我還不是很懂為什么這個域名還要是個DNS服務器,一般的DNS服務器不都是IP嗎。而且我都已經能解析這個域名了,也就是說我已經有DNS服務器了,為什么還要找連接一個DNS服務器(連接他的53端口);HTTP驗證就是訪問 http://www.msftconnecttest.com/connecttest.txt 這個地址,看內容是不是 Microsoft Connect Test 。

知道了這些,就可以根據情況來對這些值進行更改。那原來的默認值為啥老是檢測失敗捏?大概是因為牆吧(攤手

這些值具體改成什么,或者說用什么其他方法來讓網絡檢測通暢,網上已經有大量的帖子了。我就不再贅述了。這里只提一下思路吧,改HOST文件(沒試過);自建驗證服務器;學校封53端口並且只能用學校的DNS服務器(說你呢大連理工),把自己的域名解析到學校的DNS服務器。

嗚嗚嗚,為什么我還是不行

那既然網上已經有很多帖子說這件事,我為什么還要寫這篇文章呢?那當然是因為我試了無數遍上面的方法,但還是沒有解決。嗚嗚嗚,哭死

終於,今天忽然想起來一件事,可能是導致這個問題的原因。先看一下這篇文章:https://www.cnblogs.com/roadwide/p/10479723.html

簡單總結就是,先前因為寫了自動連接校園網的腳本但系統還是彈出登錄頁面感覺很煩就把“網絡檢測”這個功能給關了。

當我想到這個問題的時候我真是哭笑不得,雖然目前還沒完全確定就是這個原因,但我覺得基本上就是了。

我們看一眼這個“關閉 Windows 網絡連接狀態指示器活動測試”的具體描述是什么

1、按下“Win+R”組合鍵呼出運行,在框中輸入“gpedit.msc”按下回車鍵打開“本地組策略編輯器”;

2、在本地策略組中依次展開:“計算機配置”-“管理模板”-“系統”-“Internet 通信管理”—“internet 通信設置”;

3、找到“關閉 Windows 網絡連接狀態指示器活動測試

此策略設置會關閉由 Windows 網絡連接狀態指示器(NCSI)執行的活動測試,這些測試可以確定計算機是連接到了 Internet 還是連接到了受較多限制的網絡。

NCSI 作為確定連接級別的一部分,會執行以下兩種活動測試之一: 從專用 Web 服務器下載頁面,或對專用地址執行 DNS 請求。

如果啟用此策略設置,則 NCSI 不會運行這兩種活動測試的任何一種。這可能會降低 NCSI 以及使用 NCSI 的其他組件確定 Internet 訪問的能力。

如果禁用或未配置此策略設置,NCSI 將運行這兩種活動測試之一。

 也就是說,我之前的設置讓系統不進行網絡檢測。那就能解釋的通我之前實驗的離奇結果了

1、系統的疑難問題解決工具檢測,然后重置網絡,然后能正常顯示網絡連接兩天,然后過兩天就又壞了。

因為我關閉了網絡檢測,導致網絡檢測只在網絡重置的時候進行檢測。然后我猜測,關了那個檢測功能之后,就是隔幾天檢測一次,然后碰上能連接就顯示能連接幾天,檢測失敗就顯示無法連接。也可能是其他的什么機制,總之就是他不檢測我是不是聯網了。

2、我在重置網絡后顯示能連接的時候以及顯示無網絡連接的時候對注冊表的檢測選項進行更改,無論是正確的檢測域名還是錯誤的,都不會導致網絡連接狀態的變化

我當時真是怎么想也想不通,為什么這個連接狀態跟我設置的檢測參數完全無關,完全不同步。因為他根本不檢測啊!

3、使用https://github.com/crazy-max/WindowsSpyBlocker 這個工具檢測,無論他通不通過,系統都保持原來的樣子

原因還是同上。並且根據這個軟件的檢測結果讓我一度懷疑是學校禁止其他DNS服務器導致的,但是我把自己的域名解析到學校的DNS,並且在軟件里檢測通過時,系統狀態仍然顯示沒有網

總之,就是無數次的疑惑,無數次的嘗試,無數次的失敗,煩死了要。今天終於靈光一現,我日哦。

然后我又進行了一些實驗,證實了我的猜測

1、關掉檢測網絡連接狀態,設置正確的檢測參數,重啟 --> 顯示已連接
2、關掉檢測網絡連接狀態,設置錯誤的檢測參數,重啟 --> 顯示已連接
3、開啟檢測網絡連接狀態,設置正確的檢測選項,重啟 --> 顯示已連接
4、開啟檢測網絡連接狀態,設置錯誤的檢測選項,重啟 --> 顯示無網絡

所以,最終的解決辦法就是把上面的那個組策略禁用掉。(微軟怎么喜歡用這種雙重否定表肯定呢

我覺得我的問題應該解決了,但是還得再等兩天觀察觀察。要是還有問題,那真是可以殺了我了

其他想說的話

1、為什么能上網了你還非要管系統的那個顯示狀態?不是我非要管,而是微軟旗下的軟件他就只認那個狀態,他不像瀏覽器,你企圖上網他就試一試,能上就上,不能上拉到。微軟的軟件,包括但不限於office、xbox、微軟商店,只要系統狀態顯示無連接,他連試都不試,直接告訴你“我不管,系統告訴我你沒網,你就是沒網,你沒網那我也不連了”,結果就是office等軟件,在需要聯網的情況下直接擺爛。最致命的就是等登錄賬號的時候,他一旦檢測到你系統的網絡連接是沒網,就直接賬號都不讓你輸入,彈一個“你沒有網,還想登錄”的窗口。(真是MMP了

2、網上有人說DNS和HTTP兩個驗證都要通過系統才認為你有網,但是根據組策略里的描述,兩個檢測只要通過一個就可以了

3、別的小朋友都沒事,咋就你有問題呢?這也是我經常遇到的問題,網上所有的解決辦法都試過了,但是就是不行。或者直接就是我碰到的問題根本沒人碰到過,沒人提過。為什么?因為有些事,正常用戶根本不干,就比如組策略這個,誰沒事改這個啊。這就導致,有些問題,我的花很多時間才能排查出來,然后最后才弄明白,原來是因為我之前改了這里,所以別的小朋友都沒事,就我有問題。我忽然感覺程序員也沒有那么容易失業。大家都說醫生是越老越吃香,因為經驗積累越來越多,碰到的情況足夠多,就有不可替代性了,有些病有些手術就是比別的或者年輕的醫生好。說程序員是吃青春飯的,但是我現在覺得這句話不對,程序員也在不斷積累經驗,積累解決各種疑難雜症的經驗,這跟醫生有什么區別嗎。當然,如果每天都是在重復搬磚,不學習,沒有經驗的積累,那確實容易被淘汰。

4、前幾天跟導師討論問題,老師說了一句:“不是咱的想法不行,而是時候還不到,積累還不夠。可以先放着,等以后再解決”。我曾面臨過很多問題,很多想解決了無數次但最終都以失敗告終的問題,但在一而再,再而三,三而四的嘗試下,最終都解決了。因為在這些嘗試的間隙,在我進行其他問題的探索的時候,我對原先問題的認知也在潛移默化的上升。有些東西解決不動,就是積累的還不夠。只要一直報着要解決這個問題的想法,最終都會解決的。

參考鏈接:

https://sspai.com/post/69390


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM