我的目标是通过网站为某些设备制作用户界面。设备具有无线热点运行,用户可以连接到它。然后,我想做一些“事情”,我在几个机场看到,但不知道如何做。
当我在机场使用免费的wifi时,有时是在与hotspot连接之后,我的智能手机上会自动打开网页,并允许我注册,以便使用通过这个热点提供的互联网。
如果我也能这样做,这将是伟大的用户,他将不必输入ip地址(或DNS服务器名称,如果我运行DNS)来驱动这个设备后,连接。使用场景将是:连接热点和适当的网站将自动出现在设备上。
你能告诉我如何做到这一点吗?
这个热点不提供任何互联网连接,没有伪装,没有路由,只是连接到自己。它运行在嵌入式linux上。
发布于 2018-10-20 09:27:41
你想要的是一个被囚禁的入口。事实上,提供互联网连接并不是强制性的。
但是,例如,iOS、Windows、Mac和Android测试都知道用于测试Wifi是否工作的通用URL,而且您可能必须在客户端设置wifi图标标记为健康的URL。
您所要求的是可行的,但是完全在Linux中执行而不需要安装很多软件,这涉及到一些web服务器/服务和DNS服务器/服务欺骗(+DCHP和hostpad)。
为了有一个自动网页/登录警告,您需要在第一个页面中放置WISPr标记,捕获端口将设备重定向到。对于没有这方面经验的人来说,主要的警告是,WISPr标记不能再次指向同一个页面,因为那时您将有递归请求。
关于如何做的面包屑线索,请访问以下有关U&L的问题
我可以让dnsmasq删除/拒绝/重定向除一个以外的任何地址查询吗?
有关:
发布于 2018-10-20 09:27:31
你想要一个入口。根据我假设您已经拥有的硬件,hostapd可能是一个相当标准的驱动AP的软件。
您需要一个具有标准设置的DHCP服务器将IP提供给客户端。
您希望配置DNS服务器来解析对设备的IP:https://serverfault.com/questions/351108/using-dnsmasq-to-resolve-all-hosts-to-the-same-address的任何请求
您需要一个响应所有请求的HTTP服务器,而不管客户机实际请求哪个主机。默认情况下,Apache将这样做(禁用虚拟主机)。
当然,这不会自动打开客户端设备上的浏览器。但是,如果用户打开浏览器,它通常会尝试导航到默认主页,该主页(在您的设置中)将显示设备的页面。
https://unix.stackexchange.com/questions/476701
复制相似问题