效果演示
原理
校园网使用流程
一般来说,家用的Wi-Fi会使用一个固定的密码来进行登录认证,所有能够正确输入密码的人、所有能够正确提供密码的设备都能够使用这个Wi-Fi访问互联网,Wi-Fi的规则对所有用户完全一致。
而对于一些公共Wi-Fi,出于管理方便,或收费方便,总之——这些Wi-Fi会需要用户系统,向不同的用户提供不同的访问限速、流量限制、时间限制等。这类Wi-Fi称为强制无线局域网,往往需要在一个独立的登录页面上完成登录或访客认证,然后才能使用Wi-Fi上网。
校园网就是很典型的强制无线局域网。在iPhone或iPad的设置->无线局域网中,可以对强制无线局域网启用自动加入和自动登录,但是这样仍然需要在弹出的页面中完成登录;如果你没有启用自动登录,则设备加入校园网后会显示Wi-Fi已连接,但是实际上处于断网状态。
校园网登录流程
我校,南京邮电大学,使用DR.COM实现校园网认证。登录的过程是由用户在登录页面中填写账号与密码,即学号与统一身份认证密码。然后用户点击登录按钮,登录页面向后端提交用户的凭证,并返回登录结果,比如是登录成功、已登录或是账户密码错误。
使用浏览器的调试面板记录登录过程中的所有网络请求,然后从中筛出执行登录(向一个后端地址提交账号和密码)的请求,那就是我们需要的东西。
分析
https://p.njupt.edu.cn:802/eportal/portal/login?
callback=dr1003&
login_method=1&
user_account=%2C0%2CB24042311%40njxy&
user_password=aBcDEFGH-73&
wlan_user_ip=10.165.213.210&
wlan_user_ipv6=&
wlan_user_mac=000000000000&
wlan_ac_ip=&
wlan_ac_name=&
jsVersion=4.1.3&
terminal_type=1&
lang=zh-cn&
v=1817&
lang=zh
上面就是执行登录的关键请求,请求中带有的关键参数包括账号(user_account)、密码(user_password),以及IP地址。从此可以推理出校园网将一个IP地址标记为一台设备,然后只要登录成功,从这台设备上收发的所有流量都可以正常通过校园网的验证,包括浏览器和各种应用程序的流量。
账户和密码都是我们已有的,IP地址可以从设备上获取。经过测试,在iPhone和iPad上的Safari浏览器中打开此URL(提前将IP地址替换成设备IP),可以正确获得返回值,并且登录是有效的。
接下来我们需要做的,就只是在iPhone和iPad上的快捷指令中实现这个流程就行啦。
成果分享
如果您正在使用一台Apple设备,请点这里:https://www.icloud.com/shortcuts/8253a9bd5b704012b33168d694e0deea
或者,用你的iPhone或iPad的原生相机扫描下方二维码:
快捷指令的编写并不是门槛很高的活动,研究研究就能看懂啦,如果你也是南京邮电大学的校园网用户,应该是可以开箱即用的……吧?
外部链接
- https://xavier.wang/120-netlogin-shortcut/
- 然后做起来之后发现差别还蛮大的,嗯……