dgut东莞理工校园网防挤掉bat脚本
使用情况
由于校园网的使用限制设备台数,超过一定的设备台数,先前登录的设备就会被挤退,如果此时远程或局域网分享文件的设备不在身边,无法自动登录就会十分麻烦。
解决思路
1.mac直连
校园网可以通过mac地址直接认证连接,但mac绑定的规则比较难触发,断网后也不一定能够自动连接,与运营商有关
2.使用bat脚本(断网时重新连接)
a.定时ping网站,如果无法ping通的话就说明断网,此时自动打开浏览器,浏览器内如果设置了自动登录就可以自动重连,之后再关闭浏览器窗口。缺点:需要打开浏览器,且如果浏览器已经打开,则有可能之前打开的窗口被关闭。
b.定时ping网站,无法ping通的话,则向登录服务器发送请求,服务器获取请求后即可连上网络。优点:不需要打开浏览器等软件,缺点:需要去获得url,get请求较容易发送,post请求需要一定格式,且若请求密码采用加密后长度较长。
本次测试使用了第二种解决方案,使用方法如下:
1.打开校园网登录网址
打开浏览器的开发者工具,获取发送的请求(由于登录成功后会跳转ip,所以需要勾选保留日志),输入正确的账号密码登录。
2.找到对应的网络日志,请求包含账号、密码及其他必须信息。
3.点击查看源,找到含需要发送的数据的url,全部复制(也可直接手写,但是比较多)
4.将复制的源码直接写入下面提供的bat文件(不同学校及登录网址要自己修改url网址),复制的内容替换中文
5.替换后,由于转义关系,手动将每个百分号前再加一个百分号
6.保存脚本,根据需要修改ping的网站及间隔时间,双击打开即可运行
bat文件:
@echo off
setlocal
REM 设置ping的目标网站和超时时间(单位:毫秒)
set website=www.baidu.com
set timeout=1000
REM 设置POST请求的URL和POST请求命令
set post_url=https://login.dgut.edu.cn/eportal/InterFace.do?method=login
set post_command=curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d "填写的地方" "https://login.dgut.edu.cn/eportal/InterFace.do?method=login"
REM 无限循环执行ping操作
:loop
REM ping网站并检查超时
ping %website% -n 1 -w %timeout% >nul
if errorlevel 1 (
echo Website %website% is unreachable, sending POST request...
%post_command%
) else (
echo Website %website% is reachable.
)
REM 设置ping的间隔时间(单位:秒)
set ping_interval=60
timeout /t %ping_interval% >nul
goto :loop
endlocal