How Windows Checks for Internet Access (& Why It Sometimes Gets It Wrong) 🌍💻


Ever wondered how Windows knows whether your internet is working or if you’re stuck in the dreaded "No Internet" zone? 🤔 That little network icon in the taskbar doesn’t have magic powers—it relies on a set of checks to determine if you’re truly online or just connected to a dead-end network.
The Secret Behind Windows' Internet Check 🕵️♂️
Windows uses a feature called Network Connectivity Status Indicator (NCSI) to decide if you have internet access. Here’s how it works:
Step 1: DNS Query to Microsoft's Servers 🧑💻
First, Windows tries to resolve dns.msftncsi.com
via DNS.
✅ If the response comes back successfully, Windows knows DNS is working.
❌ If it fails, Windows assumes your internet might be broken (or your IT guy is blocking it 🙃).
Step 2: The Sneaky HTTP Request 📡
Next, Windows makes an HTTP GET request to:
👉 http://www.msftconnecttest.com/connecttest.txt
If this works, Windows gets back a tiny file containing the words:
📝 "Microsoft NCSI"
✅ If the response is correct, Windows confirms you’re online! 🎉
❌ If it fails, Windows gets suspicious… is there a captive portal at play? Is the network restricting access? 🚨
Step 3: The HTTPS Backup Test 🔍
If the HTTP request fails, Windows tries an HTTPS request to https://www.msftconnecttest.com/
. This helps detect captive portals (like those annoying hotel or airport WiFi login pages 🏨✈️).
If the HTTPS request redirects to a login page, Windows knows it’s being hijacked by a captive portal and alerts you to log in.
Why Does This Sometimes Go Wrong? 🤦♂️
Ever had full internet access but Windows says "No Internet"? Here's why:
1️⃣ Firewall Rules or Security Policies 🔥
Some corporate networks block dns.msftncsi.com
or msftconnecttest.com
, causing false "No Internet" warnings.
2️⃣ DNS Hijacking or Filtering 🚔
Some ISPs or network appliances hijack DNS responses, fooling Windows into thinking there’s no internet.
3️⃣ Custom Configurations 🛠️
Admins can disable or redirect NCSI checks using Group Policy or registry tweaks, sometimes unintentionally breaking things.
Can You Change This? 🤓
Yes! If you're an IT admin and want to customize or disable NCSI checks:
🔧 Registry Edit:
Navigate to:
📂 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NlaSvc\Parameters\Internet
Here, you can tweak the settings or point Windows to your own internal NCSI test servers.
🛑 Group Policy:
Go to gpedit.msc → Computer Configuration → Administrative Templates → Network → Network Connectivity Status Indicator and adjust the behavior.
Wrap-up 🎬
Windows' internet check is a nifty trick, but it's not foolproof. Firewalls, captive portals, or even ISP shenanigans can make it misreport your connectivity. If you’ve ever wondered why your PC thinks there’s “No Internet” when everything is fine, now you know! 🔍🚀
Got a network mystery you need solving? Drop a comment below! ⬇️😃
Subscribe to my newsletter
Read articles from Ronald Bartels directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Ronald Bartels
Ronald Bartels
Driving SD-WAN Adoption in South Africa