我正在使用 hostApd 开发一个强制门户。我的机器提供 Wifi(无需密码),我计划让客户看到一个弹出窗口,说“你好”。你知道,就像 wifi 提供商的弹出窗口一样,要求积分或登录......
(注意:当客户端(顺便说一句,iPad 客户端)连接 wifi 时,我想打开我的机器本地网站。我不在乎让他们付费或登录)。
请问我该怎么做这样的事?有人说操作系统通过尝试 ping google.com 等来检测它,如果没有,它就知道该 portail 已被捕获并显示一个 html 弹出窗口。哪个网址? ...
谢谢
答案1
另请调查(并参与)IETF CAPPORT WG。 https://datatracker.ietf.org/wg/capport/about/
新的 ICMP、HTTP 回复和 DHCP 响应将可用。随着互联网转向 HTTPS,许多当前的方法将不再有效。
答案2
if ping -q -w 1 -c 1 $(ip r | grep default | cut -d ' ' -f 3) > /dev/null; then
wget "http://clients3.google.com/generate_204?" -O /dev/null 2>&1 | grep "204 No Content" > /dev/null
if [[ $? -ne 0 ]]; then
# Perform login
fi
fi
参考: