校园网防检测方案

校园网防检测方案
hezh本文建立在默认读者手上有OpneWrt系统的家用路由或者有路由刷机相关的经验基础之上
前言
大一时还能通过接普通路由来共享上网,大二伊始,GUT就实行一号两设备的限制,故有了我折腾的经历。为什么折腾校园网?一是为了稳定的上网环境,二是平均网费(GUT的校园网是500兆,足矣一窝网老虎使用),三是我始终认为手机开热点给电脑连是一种很妥协的方式。
经过了解,得知国内各高校校园网含有多种的检测方式(不一定全有),如下:
- 针对 IP 数据包的 TTL 字段的检测
- 针对 HTTP User-Agent 字段的检测
- 针对 TCP 时间戳计算时钟偏移的检测
- 针对部分应用特征的 DPI 检测(例如微信)
从上到下的检测力度和防检测难度依次加大。从社区中了解到大部分高校最多是UA检测,顶多再加个TTL检测,能上到深度包检测的高校少之又少。
User‑Agent 是 HTTP 请求头里的一行字符串,用来告诉服务器 “我是谁、用的什么浏览器 / 系统”。例如:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36
对同一账号或IP,学校网关统计 UA 标签:
若短时间内(或同时)出现 PC + 安卓 + iPhone的UA标识则被认定多设备共享。
而TTL检测:Windows=128、Linux / 安卓 = 64,同 IP 下 TTL 跳变→多设备。
应对的思路就有了:你看我的设备UA,那我就在路由器这一网关将所有局域网内设备的UA全部改成同一个,TTL也固定成一个合理的数值,比如63。那么在宿舍路由网关这一步处理完后到学校的网关这边看到的就是同一个UA和有一个不变动的TTL值–>学校网关判定这一账号只有一台设备在上网,就不会踢下线。
其实淘宝卖的那种“校园路由器”就是基于此原理,他的的机子都是二手收来,刷上闭源的gswifi(该系统由opnewrt魔改而来,同样,小米路由器的管理后台也是openwrt魔改的),就敢卖两三百,有这个钱不如去咸鱼淘个R2S软路由,180 左右,性能还更强、可玩性更高、生态更庞大!
经过几周的折腾,我确信GUT有且仅有UA检测,不混合其他的检测。
UA插件
个人更喜欢UAmask,UA3F还存在较多次被踢的情况,且UAmask的作者就是借鉴UA3F的思路优化而来,资源占用更低,被踢的概率小很多(不能说一次都没有被踢,配合下面的自动化认证脚本食用更佳,被踢马上重新登入)
可以用ssh工具连接到软路由,用以下任意一条命令查看架构,以便选择正确的安装包。
1 | |
例如上面分别是R2S和红米AC2100架构信息输出情况,则我可以下载、安装的包有:
- arch64_generic.ipk和aarch64_cortex-a53.ipk都能装,推荐后者,前者是通用安装包。
- AC2100则安装mipsel_24kc.ipk
- 不要下载 .apk,应选择 .ipk。
上传安装包刷新网页即可。
启用插件以及配置
最后保存应用即可。
自动化认证脚本(可选,兜底)
- 目的:在被踢时自动登入校园网,不用手动到网页认证。
- 原理:通过抓包得到一个HTTP 请求脚本,就能做成脚本,模拟浏览器发请求,用 curl 模拟浏览器登录校园网 Dr.COM(哆点认证)
-
浏览器输入172.16.2.2打开GUT认证页,在登入前按 F12 打开控制台,填好账号和密码。
-
点击登入,找到名为
login?backcall的请求。
-
右键复制URL(base)到记事本备份。
-
把上面的请求命令全部粘贴到下面的登入执行函数的花括号之中,其他的参数默认即可。
1 | |
最后把文件的后缀从 .txt 改成 .sh,文件名自定义,在ssh工具中拖放在/root下即可。
- 在OpenWrt后台的系统–>计划任务中添加两条规则:
1 | |
- 提权
1 | |
- 查看日志
1 | |
参考&致谢
UA3F作者:
https://github.com/SunBK201/UA3F
https://blog.sunbk201.site/posts/crack-campus-network
UAmask作者:https://github.com/Zesuy/UA-Mask
blbl@正二三月:https://www.bilibili.com/video/BV1Yf421o779/?share_source=copy_web&vd_source=36ed1d2e47ac14f687ed1e9f8afd9c10


















