Your new topic does not fit any of the above??? Check first. Then post here. Thanks.

Moderator: igrr

User avatar
By AndyReischle
#21577 I have started extensive debugging with IOS last night and found the effect that it checks for internet access before and after every request. That has also been described here: http://stackoverflow.com/questions/19055502/facebook-com-and-the-ios7-captive-portal-detection. This makes sense because the device is waiting for the internet to become available when someone interacts with the portal page. However silly for my purpose, it doesn't seem to derail single thread http servers.

This morning I grabbed an android tablet in the office and tried it against my CaptiveIntraweb portal. I had to manually open Chrome and request a non-https page to get the portal page. I tried the same device against our Cisco WCS guest-network. This showed exactly the same behaviour.
It shows a Wifi symbol with an "!" in the upper right corner, so it knows there is no connection to the internet. Still it does not try to load a portal page.
The mechanism outlined here: https://www.chromium.org/chromium-os/chromiumos-design-docs/network-portal-detection suggests that many portals answer with a 302. That's worth a try.

So I haven't seen Android working against a captive portal yet. Has anyone? If so can you provide a tcpdump?
User avatar
By blackie
#21628 I am seeing a similar behavior with iOS working, but not any Windows web browsers.

nslookup works on windows. But ping to a URL does not. "I believe that nslookup opens a winsock connection on the DNS port and issues a query, whereas ping uses the DNS Client service."

when I look at the developer tools in Chrome (chrome://net-internals/#dns) I see:
error: -105 (ERR_NAME_NOT_RESOLVED)

Edit: just saw this:

http://android.stackexchange.com/questi ... k-on-wi-fi

http://blog.superuser.com/2011/05/16/wi ... awareness/
User avatar
By SwiCago
#21646
blackie wrote:I am seeing a similar behavior with iOS working, but not any Windows web browsers.

nslookup works on windows. But ping to a URL does not. "I believe that nslookup opens a winsock connection on the DNS port and issues a query, whereas ping uses the DNS Client service."

when I look at the developer tools in Chrome (chrome://net-internals/#dns) I see:
error: -105 (ERR_NAME_NOT_RESOLVED)

Edit: just saw this:

http://android.stackexchange.com/questi ... k-on-wi-fi

Can't expect visitors to issue an adp command....It has to work somehow without that, because Hotels use captive portals too and those portals redirect fine.

blackie wrote:http://blog.superuser.com/2011/05/16/wi ... awareness/

This is fine, if the client actually makes a web call for the page...

I am suspecting that some clients are not fully understanding the response created by DNSServer.ccp and thus just hanging so to say. They never actually make web calls...If I type test.com in the URL of my browser, I see a DNS lookup and DNS returning IP, but the browser never tries a port 80 connection after...which is what I would expect CaptivePortal or not.

Thanks for also helping look into a solution.
User avatar
By blackie
#21664 nslookup on OSX
Code: Select allgot recursion not available from 192.168.4.1, trying next server



Tried dig on windows while connected to my normal AP
Code: Select allC:\tmp\BIND9.10.2-P1.x64>dig test.com

; <<>> DiG 9.10.2-P1 <<>> test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 858
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test.com.                      IN      A

;; ANSWER SECTION:
test.com.               2272    IN      A       23.91.14.101

;; Query time: 589 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Thu Jun 25 15:18:01 Eastern Daylight Time 2015
;; MSG SIZE  rcvd: 53


dig on windows when attached to the captive portal
Code: Select allC:\tmp\BIND9.10.2-P1.x64>dig test.com
;; Warning: Message parser reports malformed message packet.

; <<>> DiG 9.10.2-P1 <<>> test.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 6348
;; flags: qr rd ad; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1
;; WARNING: recursion requested but not available

;; Query time: 157 msec
;; SERVER: 192.168.4.1#53(192.168.4.1)
;; WHEN: Thu Jun 25 15:18:58 Eastern Daylight Time 2015
;; MSG SIZE  rcvd: 12