检测不安全的 wifi 网络是否确实可以访问互联网
我需要检测缺乏任何 WPA 或 WEP 保护的 wifi 网络实际上是否是可以访问互联网的可用 wifi 热点。换句话说,我需要区分标准免费热点和 T-mobile 热点等不安全网络但需要通过浏览器窗口登录的热点。
我考虑过向我们的服务器发送 ping 并检查响应,但如果 ping 成功,如何确定他们尚未登录(例如,在这种情况下,如果他们有 T-mobile 帐户并且之前登录过)在)。
如果这很重要的话,它是一个 Android 应用程序。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我建议使用wireshark或类似的东西记录登录过程...也许您可以提取有关登录系统如何工作的模式,并相应地编写您的程序。
我前段时间遇到过一个类似的系统,我认为在这种情况下,该系统“滥用”DNS 系统来重定向到登录页面。
无论如何,我不确定(由于完全无知)您可以使用 android SDK 做多少事情...
我不记得 de WiFi 广播发送任何有关如何或是否连接到互联网,但也许也有一些模式
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
为什么需要知道它是否是热点?
如果他们已经登录了该付费 HotSpot 并且可以访问您的服务器,那又怎样?
我认为您不太可能通过发送或监视网络流量来区分不安全的接入点和已登录的付费接入点。
如果确实需要这样做,最好的办法是查看所连接的 WLAN 网络的 SSID,并将其与已知的付费 SSID 列表进行匹配,例如“tmobile”或“starbucks”等。
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.