2

I need to detect if a wifi network that lacks any WPA or WEP protection is actually a usable wifi hotspot with internet access. In other words I need to discern between standard free hotspots and things like T-mobile hotspots which are unsecured networks but require logging in via a browser window.

I thought about sending a ping to our servers and checking the response, but if the ping was successful how do know for sure that they haven't just logged in already (e.g. in this scenario if they had a T-mobile account and previously logged in).

Its an android app if that matters.

user435281
  • 79
  • 2
  • 6

2 Answers2

0

I'd recommend recording the login process using wireshark or something similar... Maybe then you can extract a pattern regarding how the login system works, and code your program accordingly. I came across a similar system some time ago, i think in that case the system worked "abusing" the DNS system to redirect to the login page.

In any case, I'm not sure (due to complete ignorace) how much you'll be able to do using the android SDK...

I don't remember de WiFi broadcast sending any information about how or if it connects to the internet, but maybe there's some pattern there too

tnacho
  • 148
  • 1
  • 8
0

Why do you need to know whether it's a HotSpot or not?
If they've logged-in to that paid HotSpot and can access your server, then so what?

I think it's unlikely that you would be able to discern between an unsecured access point and a logged-in paid-for access point by sending or monitoring network traffic.

The best bet if this really is required would be to look at the SSID of the attached WLAN network and match it against a list of known paid-for SSIDs, like "tmobile" or "starbucks" etc.

Christopher Orr
  • 110,418
  • 27
  • 198
  • 193
  • Its for a wifi scanning app so we need to specifically gather information on connection types. We've considered you're other suggestion already, ideally we would like to do something programatic. – user435281 Jan 04 '11 at 23:11