Live data from Hacker News

How does Windows decide whether your computer has full Internet access?

devblogs.microsoft.com

11–20 of 305 posts

Re: How does Windows decide whether your computer has full Internet access?

#11
This really gets on my nerves! Some twit of a programmer (probably via a committee) "knows" whether a system has connectivity.

For some people Facebook is the internet and for others it is Outlook. Somehow a twiddler at MS has decided that a file on a web server at some wanky location is the internet and that's the final answer.

"I cn haz a file" is fine lovely internets! No it bloody well isn't. You should be constructing a response to a challenge from the other end, not a response to a simple GET like it's 1999.

I run quite a few systems/sites that have multiple internet connections - deciding whether the internet is available is quite a nuanced thing and that Windows internet detector is bloody stupid, naive and a fucking hindrance.

Define "internet" and then have a crack at defining "internet accessibility". Those things are quite specific to individuals. orgs and so on. Connectivity is way too complicated for a simple, naive check.

Re: How does Windows decide whether your computer has full Internet access?

#12
post #9

Is it a problem that the URL is not HTTPS or is it the blessing required to defeat it?

One reason for that is explained well in a comment on the article. Note that as with the Windows version, the protocol is HTTP, not HTTPS – because captive portals completely break TLS, but plaintext HTTP will result in a clean redirect to the portal, allowing the network service to detect the presence of the portal and to bring up a browser window to let the user authenticate. ( https://devblogs.microsoft.com/oldnew…

Yeah, and there's also no guarantee the computer's certificates are even up to date (eg. first time you connect a PC after a fresh install off older media)

Re: How does Windows decide whether your computer has full Internet access?

#13
post #5
post #4

Given the sheer volume of connections to the test servers, wouldn't it make sense to have the content of the text file as minimal as possible? Such as "1" or "OK".

21 bytes extra at 1T requests a day = 21TB/day. Probably nothing?

You're correct, at global scale it's still peanuts (and of course it's not a single server but redundant clusters of servers).

I have a problem at your math though, I'm guessing with the overhead and the pretend-IE headers it could be a whole Ethernet packet (which can be up to 1,500TB/day, but realistically it could be around 500TB).

Re: How does Windows decide whether your computer has full Internet access?

#14
post #11

This really gets on my nerves! Some twit of a programmer (probably via a committee) "knows" whether a system has connectivity. For some people Facebook is the internet and for others it is Outlook. Somehow a twiddler at MS has decided that a file on a web server at some wanky location is the internet and that's the final answer. "I cn haz a file" is fine lovely internets! No it bloody well isn't. You should be constr…

> Somehow a twiddler at MS has decided that a file on a web server at some wanky location is the internet and that's the final answer.

Seems like it's the same in many linux distros as well as android and chrome os. It's right there in the article. So it's not really MS specific at all.

Re: How does Windows decide whether your computer has full Internet access?

#15
post #9

Earlier quoted context omitted.

One reason for that is explained well in a comment on the article. Note that as with the Windows version, the protocol is HTTP, not HTTPS – because captive portals completely break TLS, but plaintext HTTP will result in a clean redirect to the portal, allowing the network service to detect the presence of the portal and to bring up a browser window to let the user authenticate. ( https://devblogs.microsoft.com/oldnew…

Yeah, and there's also no guarantee the computer's certificates are even up to date (eg. first time you connect a PC after a fresh install off older media)

This is why (until very recently) Windows updates are distributed over HTTP - the only benefit of TLS is real-time error checking (and only because there are stateful HTTP proxies that can mangle files).

Re: How does Windows decide whether your computer has full Internet access?

#16
post #11

This really gets on my nerves! Some twit of a programmer (probably via a committee) "knows" whether a system has connectivity. For some people Facebook is the internet and for others it is Outlook. Somehow a twiddler at MS has decided that a file on a web server at some wanky location is the internet and that's the final answer. "I cn haz a file" is fine lovely internets! No it bloody well isn't. You should be constr…

[deleted]

Re: How does Windows decide whether your computer has full Internet access?

#17

Earlier quoted context omitted.

Yeah, and there's also no guarantee the computer's certificates are even up to date (eg. first time you connect a PC after a fresh install off older media)

This is why (until very recently) Windows updates are distributed over HTTP - the only benefit of TLS is real-time error checking (and only because there are stateful HTTP proxies that can mangle files).

[deleted]

Re: How does Windows decide whether your computer has full Internet access?

#18
post #11

This really gets on my nerves! Some twit of a programmer (probably via a committee) "knows" whether a system has connectivity. For some people Facebook is the internet and for others it is Outlook. Somehow a twiddler at MS has decided that a file on a web server at some wanky location is the internet and that's the final answer. "I cn haz a file" is fine lovely internets! No it bloody well isn't. You should be constr…

> Define "internet" and then have a crack at defining "internet accessibility". Those things are quite specific to individuals. orgs and so on. Connectivity is way too complicated for a simple, naive check.

This is asking for the true Scotsman. This is designed for the 99% of users where internet access is a ternary "yes, no, needs credentials". The "naive" check is enough for them.

Also, as far as I know only Windows has defined settings to disable this check and assume that there's a connection (https://learn.microsoft.com/en-us/troubleshoot/windows-clien...). At least you could disable this if you need to, because Android don't have a similar setting.

Re: How does Windows decide whether your computer has full Internet access?

#19
post #11

This really gets on my nerves! Some twit of a programmer (probably via a committee) "knows" whether a system has connectivity. For some people Facebook is the internet and for others it is Outlook. Somehow a twiddler at MS has decided that a file on a web server at some wanky location is the internet and that's the final answer. "I cn haz a file" is fine lovely internets! No it bloody well isn't. You should be constr…

> Somehow a twiddler at MS has decided that a file on a web server at some wanky location is the internet and that's the final answer. Seems like it's the same in many linux distros as well as android and chrome os. It's right there in the article. So it's not really MS specific at all.

And even Apple (http://captive.apple.com/) and Firefox (http://detectportal.firefox.com/success.txt or http://detectportal.firefox.com/canonical.html depending on the specific version).

Re: How does Windows decide whether your computer has full Internet access?

#20
post #9

Is it a problem that the URL is not HTTPS or is it the blessing required to defeat it?

One reason for that is explained well in a comment on the article. Note that as with the Windows version, the protocol is HTTP, not HTTPS – because captive portals completely break TLS, but plaintext HTTP will result in a clean redirect to the portal, allowing the network service to detect the presence of the portal and to bring up a browser window to let the user authenticate. ( https://devblogs.microsoft.com/oldnew…

Why not just fire off a DNS request ? Not blocked by captive portals, and you get free caching.
Post reply on HN