windows - 有没有办法在 Windows 热点上实现强制门户?
问题描述
我正在寻找一种为 Windows 10 - 移动热点实现强制门户的方法。这个想法是将所有连接到热点的设备重定向到网页。
我能够找到这篇文章,它展示了如何在 linux 中做到这一点。
但我一直没有成功找到一个类似的 Windows。像这样的帖子被证明是死胡同。
如果需要,我可以使用简单的 nginx 服务器向客户端提供 302 重定向响应,但不喜欢使用任何实现强制门户的现有软件。
更新
我已经使用一种解决方法成功触发了客户端(Linux 笔记本电脑、Android 设备等)上的强制门户。
每当设备连接到热点时,它都会向一些预定义的网站发送请求,以检查 wifi 连接是否可以访问互联网。如果它收到 302 响应,则会生成强制门户窗口。
所以我在 windows 机器上的 hosts 文件中添加了以下条目。
127.0.0.1 clients3.google.com #android
127.0.0.1 connectivitycheck.gstatic.com #android
127.0.0.1 nmcheck.gnome.org #ubuntu
然后,这些请求将使用 hosts 文件条目在本地解析并发送到 nginx 服务器,该服务器为所有 http 请求提供 302 重定向。
解决方案
我在上面的更新中提到的设置最终被调整到我想要的地方。我使用了 dnschef,这是一个开源的 dns 服务器,可以完美地用作命令行客户端。步骤如下。
启动 windows 移动热点。
转到网络适配器 => 选择热点适配器 => 更改 IPv4 设置 => 将 127.0.0.1 设置为 DNS 服务器。
- 启动 dnschef
--fakeip = 192.168.137.1
- 在 192.168.137.1 上启动一个 http 服务器,并对所有请求给出 302 重定向响应。
就是这样!每当设备连接到热点时,它都会尝试连接到任何一个用于确定互联网连接的预设网站。这些请求将由 dnschef 在本地解析到我们的 Nginx 服务器。Nginx 服务器然后给出一个 302 重定向,触发客户端上的强制门户。
推荐阅读
- python-3.x - 按日期分组扩展总和
- c - Nginx 模块:如何从过滤器重定向?
- java - 如何使用休眠中的条件转换mysql连接查询
- mysql - MySQL validate_password_policy 未知系统变量
- excel - Excel VBA 将库存值更新到另一个工作表错误
- sql - SQL 选择行,其中列值是唯一的(只出现一次)
- solr - 有什么方法可以连接 Apache Poi 和 Apache Solr?
- android - 如何在图形布局android studio中的Attributes下添加字体Family属性
- kotlin - 多少协程太多了?
- python-3.x - 第 4 行文件 firstday.py 中以 '\x85' 开头的非 UTF-8 代码,但未声明编码