我有一个疯狂的想法,我不知道是否可行...我想做的是将我的手机设置为 wifi 接入点,然后允许人们连接到它,但处理所有传入的 http 流量我自己。
所以:
接入点模式下的手机 wifi;打开 wifi 网络(这个花絮有效 - 是的,我知道它没有得到官方支持,但我无意将这个应用程序发布到公开市场左右,它可以在我的手机上运行,这对我来说已经足够了)。
客户端可以连接到手机(例如我的笔记本电脑:这也可以)。
当客户端尝试打开到任何随机服务器的 http 连接时,这必须被我的应用拦截并由本地网络服务器处理。这是我坚持的观点。
网络服务器部分应该不会太难;有(开源)网络服务器可用。但是让流量到达该 Web 服务器,就会出现问题。
我所追求的行为有点类似于连接到某些开放热点(如酒店热点)时所获得的行为,然后将您重定向到登录页面。这种对连接请求的拦截(我怀疑我必须查看 DNS 请求?)就是我所追求的。
我看到有一个应用程序可以执行此操作,但它们需要手机获得 root 权限。我希望找到一种无需对手机进行 root 操作的方法。
最佳答案
Wifi 热点通常会使用 IPTables 将端口 80/443 流量重定向到本地 Web 服务器。
我过去在 linux 机器上的 3128 端口上运行过 squid,然后将所有 80/443 端口的流量发送到 squid。然后我使用 squid 将我没有明确允许的任何 url 重定向到本地 Web 服务器。
IPTables 只能在 root 的安卓设备上访问。
而且我怀疑 android 上是否有很多可用的代理服务器,因此您必须通过网络连接将 HTTP 流量发送到代理服务器。
关于android - 使用 Android 手机作为 wifi 网络服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353911/