首页 > 解决方案 > 有没有办法在 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 重定向。

在此处输入图像描述

标签: windowsnetwork-programmingwifi-directhotspotcaptiveportal

解决方案


我在上面的更新中提到的设置最终被调整到我想要的地方。我使用了 dnschef,这是一个开源的 dns 服务器,可以完美地用作命令行客户端。步骤如下。

  1. 启动 windows 移动热点。

  2. 转到网络适配器 => 选择热点适配器 => 更改 IPv4 设置 => 将 127.0.0.1 设置为 DNS 服务器。

  3. 启动 dnschef--fakeip = 192.168.137.1
  4. 在 192.168.137.1 上启动一个 http 服务器,并对所有请求给出 302 重定向响应。

就是这样!每当设备连接到热点时,它都会尝试连接到任何一个用于确定互联网连接的预设网站。这些请求将由 dnschef 在本地解析到我们的 Nginx 服务器。Nginx 服务器然后给出一个 302 重定向,触发客户端上的强制门户。


推荐阅读