Author: R.W.Flurando
Tags: 简单, 网络
大学里校园网可谓是嘈点多多,不过我今天不谈网速不谈费用,不聊限制不聊运营商,就讲一讲校园网登录的问题。
众所周知啊,很多学校用的都是Drcom管理,就单说“广东热点……”这个公司,简直是名震华夏。方便倒也算方便,可是它限制登录方式,我这里还可以网页认证,百度上看到有的大学居然只能下载客户端认证。这里呢我要申明两点:
那么我为啥要查相关内容呢?有人可能会想,你就好好的用app,或者网页不好吗,折腾图什么?我回答一下,理由很简单,不好用。不知道其他学校怎么样,我这里每天开机要登录,一会儿不用又要重新登录,上个厕所回来,好嘛,豆包净转圈了,一看,又要重新登录!好多同学都干脆只用流量了,校园网不就是抢课专用吗(结果还抢不过用流量的,哈哈说不下去了)。
一搜校园网,内容是真不少,基本一边倒,我看呐,有门!马上点进一个介绍如何抓包登录请求的文章,AI简介非常好,可谓是看着啥都说了结果啥都得自己到文章里找,和语文老师学的挺好,下面还标着**大学可用,这叫什么?这叫专业,这叫贴心!不像我,炒冷饭还打码。我刚想点开那张写着标准答案的图,那张抓包的截图,我的救星,您猜怎么着,只点开了登录弹窗,我!这就是!幸亏资源多,我换了一个网站,这次图随便看,可是你知道不,它专栏文章只给你看一半,而这些优质作者就喜欢把重要的东西放最后。是可忍孰不可忍啊,我当即退出,决定自己给它撸一遍,万事开头难,我先把难的解决了再说!
话不多说我是马上开干。首先骑上我心爱的火狐牌小摩托,打开相应网址(当然这之前得把电脑网打开但不要直接认证,不然你都登录了还上哪里抓登录请求),按F12打开开发者界面……什么?没打开?你看看浏览器设置里有没有带“开发者”字段的选项,没有的话自行解决好吧,反正Firefox和Chrome都有,其他的我没用过,不知道。
下一步很重要,请点击开发者界面的“网络”选项,你应该可以看到一行提示“请至少进行一项网络请求”之类的或者一个开始按钮或者一行又一行的前面标着三位数字和“GET”“POST”等字样的链接出现,如果没有,可能是你找错了,这个选项是横着排的,就在调试器和样式编辑器中间(至少在我的浏览器是这样)。
最后,登录,这个就不多说了,大家用自己的帐号密码正常登录。注意,刚才打开开发者界面后请不要关闭,让它开着,我知道占屏幕但是都到这步了难道不能再忍忍吗?登录成功后请不要继续网上冲浪或随意点击网页,仔细查看新出现在开发者界面的数字,“GET”“POST”和链接,它们被称作请求。你可能希望关注有绿色数字的行,Firefox用绿色表示请求成功,选中一行后通过可能需要的窗口调节你可以在右侧查看消息头之类的信息。找一找,关注消息头最上面一行,可以看到“GET”“POST”和一个链接,是不是有一个链接很长,里面有account字样甚至出现了ip地址,你的帐号,密码?那个很可能就是真正的登录请求。
现在我们拿到了这一次登录的请求,有几个问题又出现了:
我的答案统一是,你试试就知道了。校园网是不可能对用户进行登录尝试限制的,123456可以作为账户密码的地方没有那种安全需要,而且存在很多用户并不怎么会用网络和电脑,反复尝试啊记不得密码啊很常见的。
当然,如果你乐意也可以看看网页源代码,我这里查看负责发登录请求的javascript文件发现有个键“v”里面只是随便塞个数,还特地标注这是防止浏览器缓存用的(比起市面上常见的混淆js全程ajax画布渲染,不知道良心多少倍!这里必须点赞),其他的说实话除了“account name”和“account password”我是真不明白用来干啥的,因为我把它们删掉后也不影响登录。
我最后得到的链接是"http://<域名或IP地址>:801/eportal/portal/login?user_account=,1,<帐号>&user_password=<密码>&v=<随便什么数字>"。这里心急的小伙伴也可以直接试一试,其实v也可以去掉,这是防止你的浏览器缓存的和登录没关系。注意,“<”和“>”不是链接里带的,你自己写的链接不应该把这个符号带上(帐号或密码开头结尾正好是这个怎么办?当然是写上你的啦!别把我打的<>带上就好)。
Windows开个cmd或者Powershell应该都会吧,不会的Ctrl+R,输入cmd,回车就行,这也不明白的话……怎么可能看到这里啊!Linux和MacOS略。
然后在命令行输入curl空格你构建好的链接回车,我这里是GET请求,有的学校是POST,那就加上-X POST改成那种请求,不过POST一般都有内容的,发一张表格什么的,是不是账户密码要放表格里甚至加密,自行适配吧。
成功!再试一次显示已在线,大功告成!
现在我写了一个小的sh文件如下
#!/bin/sh
DRCOM_LOGIN_DOMAIN=
DRCOM_LOGIN_ACCOUNT=
DRCOM_LOGIN_PASSWORD=
curl "http://${DRCOM_LOGIN_DOMAIN}:801/eportal/portal/login?user_account=,1,${DRCOM_LOGIN_ACCOUNT}&user_password=${DRCOM_LOGIN_PASSWORD}&v=$((RANDOM % 10000))"添加你的信息就可以使用,让它可以执行,由于是Linux之类的系统专用,我就不赘述了。我有想过能否解决反复下线登录的问题,可以!只要把这个sh文件的一个软链接放在“/etc/network/if-up.d”里就可以了,但是这并没有完美解决问题,只解决了休眠和开机后联网自动登录问题,长时间不用被断网下线没有解决,难道只能用keep-alive方案了吗……
虽然没有完全解决问题,而且出于对灵活性的喜爱,我还是每次手动运行脚本,毕竟我电脑又不是只在校园网里用,这次方便了以后去配置化也麻烦。不过还是学到一些,比如浏览器的开发者页面操作更熟练了,而且,运行脚本秒登校园网,不看广告不等加载,比app和网页方便好多有木有!