安卓设备上的“Captive Portal”

24
我正在使用我的Android设备作为移动Web服务器。我希望将连接到我的便携式Android热点的每个用户引导到特定的欢迎页面。
有人知道如何在我的设备上实现这种技术吗(我相信这被称为captive portal技术)?

你好,Panayotis,你现在知道答案吗?我想现在知道。你能告诉我怎么做吗?谢谢。 - mmm2006
如果您的设备没有Root权限,那么就没有运气了。 - Panayotis
嗨,Panayotis,我有一个已经root的设备,请告诉我该怎么做?需要任何软件吗?它让我被封了几天。请帮帮我。谢谢。 - mmm2006
4个回答

14

我将回答自己的问题,直到有人分享如何在非Root设备上实现强制门户的一些有用信息。

目前我不知道这样的可行解决方案。

强制门户通过拦截大多数网络数据包(使用防火墙),无论地址或端口如何,直到用户打开浏览器并尝试访问Web时才起作用。此时,浏览器将被重定向到可能需要身份验证等的网页。

因此,对于强制门户解决方案的存在,许多部分,如软件防火墙/路由器/ Web服务器需要集成和协作。考虑到非root手机中的当前限制/权限,我现在相信这样的应用程序可能不会存在。

@mmm2006:但是,如果您确实拥有Root设备,则可以使用像Paywall这样的应用程序来完成操作。

您还可以尝试实现自己的强制门户解决方案。这并不是微不足道的,但由于Android基于Linux内核,因此您可以尝试类似以下内容:


@Panayotis,你找到任何方法了吗?Paywall只适用于他们的开发人员,并且不可定制,我更喜欢开源程序! - Amirreza Nasiri
有人做到了吗?如果是,那么在 Android Rooted 设备上需要更改哪些文件? - pravingaikwad07
嗨!我想做同样的事情,如果需要root设备,我也不在乎,而且我认为现在有了新的RFCCaptive-Portal Identification in DHCP and Router Advertisements,这将是可能的。 - Diego Meza
我正在发布另一个问题,以重新开放该主题 https://android.stackexchange.com/questions/247548/how-to-run-captive-portal-server-on-android-device-using-hotspot-softap-and-dhcp - Diego Meza
还有这里 https://stackoverflow.com/questions/72998503/run-captive-portal-server-on-android - Diego Meza

2

1
我不确定在Android设备上是否可以这样做(我在搜索如何禁用Captivate的Android检查时找到了这里),但我在树莓派上设置了dnsmasq,作为一个使用hostapd的WiFi接入点,以便所有流量都会传输到该设备(然后使用nginx提供默认页面或特定于域名的虚拟主机设置)。

这似乎会触发我的Android 7.0认为存在一个captivate门户网站(奇怪的是,它将我重定向到captivate.apple.com,显示我的默认URL)。

也许这将帮助您评估实施类似功能所需的底层Linux系统组件。很抱歉它并没有完全回答您的问题。


-3

1
他想在手机上运行一个强制门户。 "android.net.CaptivePortal" 不能做到这一点。 - Ajay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接