欢迎食用『主界面』~,这里是赵苦瓜的看板娘desu~

#
【技术分享】用Python做一个简单的校园网自动重连脚本
首页 > 日常    作者:赵苦瓜   2023年9月30日 21:28 星期六   热度:9539°   百度已收录  
时间:2023-9-30 21:28   热度:9539° 

上网登录页.JPG

现在很多高校的校园网都有账号登录系统,连接上校园网之后需要登录自己的校园网账号才能使用校园网内网的一些服务,比如教务系统、勤工俭学平台什么的。

有的系统有自动断网的功能,就是每隔几个小时自动帮你退出登录,然后你需要重新登录才能恢复网络。这样的话如果找一些小服务器挂一些脚本qq机器人什么的就很不方便,过一段时间就断网了服务自然也就断了。

于是我尝试用Python写了一个自动重连校园网的脚本。


首先要抓包确认一下校园网登录的流程。由于每所高校的校园网系统可能都不一样,因此需要具体情况具体分析。

我们学校的校园网是在网页上登录的,所以可以用浏览器抓包。

登录之前在页面上按F12,打开网络(Network),选中保留日志和禁用缓存,然后在网页上操作登录,就可以抓到登录的请求了。

点击负载就可以看到它所携带的参数。

登录成功.JPG

可以看到点击登录的同时他发起了这一条请求,请求中包含了我的账号密码的明文信息,还有当前的局域网ip地址。

其中很多参数可以猜到是什么东西,也有一些无关紧要的参数。

还有一些我无法确定的参数,比如v和callbackName。

于是我查找到发起这条请求的那一段js代码,发现v只是一个防止缓存的随机数,用处不大。

v是随机数.JPG

而callbackName就复杂一些,首先查到了这一段代码,发现是自定义的一个参数,格式也确实是dr加上一段数字。

自定义callback回调参数.JPG

然后又去查increment这段数字,发现这只是一个自增的用于jsonp回调函数的东西,而且每次登录请求都是一样的,所以也影响不大。

自增的increment.JPG

就像这样我就把所有的参数都搞明白了,这样就可以用Python模拟发起请求了。


于是我在Python脚本中完成了获取本机ip和设置账号密码的部分,并尝试发起请求。我会验证百度的网站来验证是否联网成功。

基本信息.JPG成功检测.JPG

运行成功.JPG

成功了!接下来写一个循环让他每分钟检查一遍联网情况,断网就重连。

延时执行.JPG

然后设置了连续失败超过10次自动停止运行。


最后我把他加入了开机自启动,直接丢到了启动文件夹里。(在文件管理器的地址栏输入启动然后回车即可进入,在这个路径下的文件在开机时都会自动打开)

启动.JPG

我发现刚开机就启动的话很有可能因为wifi还没自动连上导致失效,于是我又写了个bat脚本,在开机20秒之后再自动重连。这样重启之后他也能自动连上。

在启动里放脚本时延.JPG

这样就大功告成了。




本文作者:赵苦瓜      文章标题: 【技术分享】用Python做一个简单的校园网自动重连脚本
本文地址:https://blog.jixiaob.cn/?post=104
版权声明:若无注明,本文皆为“赵苦瓜のBlog~”原创,转载请保留文章出处。
感谢
大佬,能否提供一下源码,想学习一下
@咔呐:https://gitee.com/jixiaob/tyut_school_network_auto_reconn

返回顶部    首页    后花园  
版权所有:赵苦瓜のBlog~    站长: 赵苦瓜    程序:emlog   鲁ICP备20030743号-1   鲁公网安备37048102006726 萌ICP备20222268号    sitemap