Whenever you start a PC running Windows, an Internet connection test is run automatically to test the Internet availability.
The test tries to connect to a Microsoft website -- http://www.msftncsi.com/ -- to download the ncsi.txt text file from the server the website is hosted on.
Windows knows then if your computer has Internet access, local area network access, or no network access at all.
To be precise, NCSI, that is the Network Connectivity Status Indicator, tries to connect to the domain name to check the contents of the text file.
It will also make a request for the DNS name resolution of dns.msftncsi.com and expects the result to be 18.104.22.168.
The text file itself does not contain lots of information, just the text Microsoft NCSI to be precise, but since a connection attempt is being made, it can be recorded by the server.
So, whenever Windows checks for Internet connectivity successfully, the time of the connection and the IP address is recorded by Microsoft's server.
This is confirmed on this Microsoft Technet page where the feature is described in detail:
IIS logs are stored on the server at www.msftncsi.com. These logs contain the time of each access and the IP address recorded for that access. These IP addresses are not used to identify users, and in many cases, they are the address of a network address translation (NAT) computer or proxy server, not a specific client behind that NAT computer or proxy server.
According to the information, the IP address that gets recorded by the server is not used to identify users.
A -- not so recent -- post on the Superuser forum highlights two options to block the testing of the Internet connection and the sending of data to Microsoft's server.
The first disables the check in the Windows Registry, the second changes the server to a custom hosted one so that checks are performed on a server under your control.
This is the easier option. All it takes is to change the value of a single Registry key and be done with it for good.
- Use the Windows-R combination to bring up the run box on your system.
- Type regedit and hit enter.
- Confirm the UAC prompt that appears.
- Navigate to the following folder: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\NlaSvc\Parameters\Internet
- Double-click on EnableActiveProbing and change its value from 1 to 0.
- This disables the feature. Should you wish to enable it again at a later point in time, change its value back to 1.
The custom server
You can modify the values that you find here to use a custom server instead for the look-ups. This requires that you have access to such a server.
- First thing that you have to do is save the nsci.txt file and upload it to an Internet server. Make sure it can be accessed as a plain text file.
- Then it is necessary to change the following values that are all listed under the same Registry folder as above.
- ActiveWebProbeHost needs to be set to your web host that you want to use.
- If you use IPv6, you need to change ActiveWebProbeHostV6 as well.
- Change ActiveDnsProbeContent to the DNS server IP used by your domain.
- Change ActiveDnsProbeContentV6 to the IPv6 address of the DNS server used by the domain.
- Make sure that EnableActiveProbing is set to 1.
Yes, there is a third option available that is not mentioned in the guide. If you have access to the Group Policy Editor, you may modify the feature there as well.
- Use Windows-R to bring up the run box.
- Type gpedit.msc and hit enter.
- Navigate to the following folder: Local Computer Policy > Computer Configuration > Administrative Templates > Network > Network Connectivity Status Indicator.
- Here you find five settings.
- Corporate DNS Probe Host Address defines the expected address of the host name used for the DNS probe.
- Corporate DNS Probe Host Name defines the host name of a PC known to be on the corporate network.
- Corporate Site Prefix List defines the list of IPv6 corporate site prefixes that you want monitored for connectivity.
- Corporate Website Probe URL defines the address of the website that you want to perform an active probe against.
- Domain Location Determination URL defines the HTTPS url of the corporate website used to determine the domain's location.
- To simply turn off the feature, you need to navigate to another folder: Local Computer Policy > Computer Configuration > Administrative Templates > System > Internet Communication Management > Internet Communication Settings.
- Here you find Turn off Windows Network Connectivity Status Indicator active tests.