卓智校园网自动登录
AI-摘要
NaoKuo GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
前言
- 相信大家在上大学的时候都有过对校园网的各种问题而烦恼过,本篇文章主要解决校园网需要手动登录的问题。
- 因为校园网通过手动网页登陆的,而
Openwrt
不能这样操作,所以我决定写一个自动进行登录的脚本(也是为后面防多设备检测而准备)。
抓包
利用
Wireshark
抓包工具捕获校园网Web端
登录的POST请求
信息选择物理上连接校园网的端口
然后在确保未连接校园网的情况下(可以先下线)点击到登录端口并输入好账号和密码
然后开启
wireshark
抓包后立马点击登录,登录成功后立马停止抓包。紧接着找到这么一个报文就是很明显的浏览器通过POST将登录信息传递给校园网服务器地报文,我们双击打开
报文信息解析
1
2
3
4
5
6
7
8
9
10// 校园网的账号密码
“username”: userName
“pwd”: password
// 跳过验证码
“validCodeFlag”: “false”
// 不清楚但很重要
“nasip”: nasip,
“wlanuserip”: wlanuserip值得注意的是以上信息也可以在跳转登录的网址中找到
编写脚本
由于我要在
Openwrt
上运行,所以我选择编写Shell
脚本新建文件
login.sh
,然后复制粘贴以下内容1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38!/bin/sh
用户名和密码以及登录所需的其他参数
用户名(一般为学号)
user=***
密码
pwd=***
以下数据的nasip和wlanuserip需要自行斟酌,在抓包工具中的POST请求data中查阅
wlanuserip=***
nasip=***
登录网址(此为我校园网的网址)
login_url="http://222.197.192.56:9090/zportal/login/do"
最大尝试次数
max_attempts=5
attempt=0
构造登录数据
login_data="username=$user&pwd=$pwd&validCodeFlag=false&wlanuserip=$wlanuserip&nasip=$nasip"
循环检查网络连接,直到连接成功或达到最大尝试次数
while [ $attempt -lt $max_attempts ]; do
# 检查外部网络连接是否正常
if ping -c 1 223.6.6.6 > /dev/null 2>&1; then
echo "Internet OK"
break
else
# 尝试登录并记录输出到文件
curl -s -d "$login_data" -o log.txt $login_url
# 给服务器一些时间来建立连接
sleep 10
let attempt++
fi
done
if [ $attempt -ge $max_attempts ]; then
echo "Failed to connect to the Internet after $max_attempts attempts."
fi
文件上传
下载
WinSCP
连接
Openwrt
,将编写的Shell
脚本上传到/root/
目录,并给权限777
登录
Openwrt
系统 ——> 计划任务 ——> 添加 ——> 提交
1
*/1 * * * * /root/login.sh
解析
1
2
3
4
5
6
7
8* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
参考文章
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果