校内校园网使用 portal 进行验证,有线连接路由器后,无需任何设置,便能够直接进行 web 登录验证并联网成功。
只要有 新终端(从未连接过该路由的终端)加入路由器,便会立即被校园网检测,并强制下线,需重新登录联网。
但若该设备经过上述『连接 -- 被检测后 ban 掉 -- 重新连接』的过程后,无论该路由器同时在线多少设备,均不会再被校园网检测出来。
遂产生极大的好奇,校园网是使用了何种手段,实现这种看上去,睁一只眼闭一只眼的 检测机制的? :)
上文表达有些不清晰,存在歧义,稍作修改
edit:有线连接路由器后→有线连接自己准备的,非学校提供的路由器后
1
AJDX3906 2022-02-28 09:27:08 +08:00 via Android
我校也是这种验证方式,但是只支持 2 个设备。
比较好奇,有没有方法让校园网"睁一只眼闭一只眼"。 |
2
fangxiaoning 2022-02-28 09:45:36 +08:00
我校也有这种检测,不过比你严格,只要是多设备使用,不管新旧设备都会封网。。。后面用了某宝的破解版路由器就防住了,不过每个月要交所谓的防检测服务器费用。。。
|
3
Suonna OP @AJDX3906 我是自己安装了一个路由器,正在研究如何长期稳定使用
@fangxiaoning 我的理解,它的实现方式可能是,有一个在国内的代理服务器,接管你的所有流量,这样在校园网后台估计只能看到你只是在访问同一个地址。我也正在找有无国内大水管 idc 。 |
4
mengyx 2022-02-28 10:02:06 +08:00 2
一般是 User Agent 的检测,设备连接上网络后,一般会发送 HTTP 请求一检查是否为 Captive Portal
|
5
fangxiaoning 2022-02-28 10:16:38 +08:00 1
@Suonna 不是的,我做过测试,绝大多数访问都是直连的,包括我百度 ip ,还有看 ip138 ,ip 都是我自己的,打游戏的延迟也不受影响,似乎只有极小部分流量会走代理服务器。。。个人猜测他们搞了个特征库之类的,符合特征的才走代理。要是全局代理,那我们的带宽和延迟肯定都炸了。。。我最初也是搞了个 tx 的轻量云香港挂全局,倒是不会被 ban 了,就是水管太小,还有每月 1T 流量限制,游戏延迟也翻倍。。。没办法还是只能加点钱上破解路由器了。。相对自己搞服务器的费用,他们每个月只收 9.9 ,算下来还是划算一些的
|
6
idealhs 2022-02-28 10:23:43 +08:00
@fangxiaoning 我上大学的时候也是用了别人收费的改版 openwrt 路由器,他们有研究校园网破解的人。说实话这样子确实也算省心了,毕竟学生时代没那个水平折腾这些。
|
7
Suonna OP @fangxiaoning 我也尝试过使用我的轻量云小水管做代理,受不了 8M 的带宽,就放弃了……我去淘宝上搜了一搜,好像销量最高的,用的是一个叫做 gswifi 的固件,看长相好像是拿 openwrt 改的,估计是把代理分流规则写死在了固件里。我试试看能不能找到包自己刷一个,实在不行就只能 pay 了 :(
@idealhs 确实,我也打算放弃了 |
8
idealhs 2022-02-28 10:45:14 +08:00
@Suonna 怎么说呢,自己倒腾这个除非是感兴趣,不然最后还是 pay 来的方便。其实当时自己也是有点兴趣在上面,但是研究玩这个的学生都会因为毕业就再也不接触了🐕
|
9
acess 2022-02-28 18:46:03 +08:00 via Android
“校内校园网使用 portal 进行验证,有线连接路由器后,无需任何设置,便能够直接进行 web 登录验证并联网成功。”
第一句话我感觉就没说清楚情况…… “路由器”是工作在路由模式、启用了 NAT 么? 我见过有校园网搞标题党虚假宣传,“能用路由器”其实是骗人的,需要把路由调到桥模式才能用,换言之其实还是禁止一般意义的路由器,只是允许你接交换机,然后就可以多几个网口(这个其实基本没啥意义),以及把有线网转 WiFi 无线网。 “无需任何设置”,是说不需要装什么客户端软件么?(有些校园网为了禁共享,会整一套私有魔改的认证协议,这样一是让一般路由器无法正常拨号,二是强制安装一个认证客户端,然后客户端就可以借机扫描用户是不是安装了共享上网开热点的软件) 还是说,路由器也“不需要改成桥模式”,就默认的 NAT 网关模式也能工作? |
10
acess 2022-02-28 18:50:19 +08:00 via Android
凭现有的描述,感觉有点像是“允许使用一般意义上的路由器,但上游局端可能存在针对共享上网的检测和反制措施,只是这个反制可能存在 bug 导致能够绕过”
总之还是不知道具体情况…… |
11
acess 2022-02-28 19:14:44 +08:00 via Android
以前我也折腾过这块……不过没成功,后来校园网也不整这些乱七八糟的了,问题不存在了。
(而且当时我这边碰到了更阴险的手段,检测到后并不会立即触发下线,而是一段时间后,让所有 TCP 连接重置,这样看上去甚至就好像只是自己折腾出毛病了而已) 当时听说是“每过一段时间劫持一个 HTTP 请求”,具体怎么做的不太清楚,瞎猜也许是用 JS 获取到了足以追踪一个设备又不会产生误伤(比如装了多个浏览器,以及 app 内置浏览器等等)的信息…… |
12
acess 2022-02-28 19:18:02 +08:00 via Android
@fangxiaoning 现在 HTTPS 应该蛮普及了,我能想到的简单粗暴的办法就是代理明文 HTTP 流量(尤其是楼上 @mengyx 提到的 captive portal 检测请求)……不过问题大概也不会像我想象的这么简单吧。
|
13
acess 2022-02-28 19:24:19 +08:00 via Android
当时我还折腾过网宿能搜到的“远古”手段,比如 IPID 轨迹,还有 TCP 时间戳,但是印象里都失败了。( TCP 时间戳我当时直接无脑去掉了,然后貌似又导致 iOS 设备上网出现故障,估计还得整一个类似 NAT 的伪装翻译)
|
14
acess 2022-02-28 19:30:06 +08:00 via Android
(哦我想起来了,对于 TCP 时间戳,当时试过一个笨办法,就是走本地的 ss 转发一次,这样就是路由器自己的协议栈了,只是路由器 CPU 会比较捉急。但印象里还是失败)
|
15
Suonna OP @acess 谢谢你的这么多回复!目前的情况正如您 10 楼所说!目前的解决方案是,找到了一个大流量的机场,然后将代理挂在路由器,将所有流量转发出去,暂时绕过了他的检测,不过依旧希望能找到更好的解决方法。
|
16
acess 2022-02-28 19:45:41 +08:00 via Android
@Suonna 如果是我的话,也许会尝试只让明文 HTTP 走代理。
(另外如果家里有宽带的话,不知道能不能利用上。现在宽带(尤其是上行)貌似提速不少了,如果没公网 IP 的话 IPv6 也许是解决办法,当然前提是校园网这边也通 v6 ) |
17
datocp 2022-02-28 19:49:48 +08:00 via Android
openwrt 下的 chilli 应该是这些的鼻祖。
忘光了 可以尝试搜索一下 chilli/coova 的配置过程。 |
18
acess 2022-02-28 19:57:42 +08:00 via Android
@datocp 单纯 captive portal 下想共享上网应该不难。问题是认证完成后又碰到共享检测,触发了就强制下线(而且楼主这情况已经比起我当年碰到的阴险手段强多了……)
难道说现在开源的 captive portal 也自带共享检测了? |
19
Cielsky 2022-02-28 20:00:23 +08:00
恩山上搜一下看有没有相关问题,几个主流的校园网认证都有路由器解决方案的,你这个没见过
|
20
qq316107934 2022-02-28 20:39:31 +08:00
|
21
qq316107934 2022-02-28 20:41:15 +08:00
我猜测楼主接入的”新终端“都是移动设备或者 Windows ,这类设备很容易泄露自己的特征,楼主可以试试 Linux+手动 curl https 的地址,看看还能检测到不
|
22
acess 2022-02-28 22:15:59 +08:00 via Android
@qq316107934 UA 也不好随便改吧,改了不就不正常了,本来应该打开移动版的结果打开了桌面版什么的……
|