实验室
#!/bin/sh
logger -t 【AUST-自助认证】 "开始运行"
## 校园网账号(学号、工号)
account="2022xxxxxx"
## 校园网密码
password="xxx"
## curl超时时间(秒)
timeout=3
## 连网后检测间隔(秒)
check_time=5
check_login() {
## 使用ping命令检查网络连接
ping -c 1 -W $timeout 8.8.8.8 > /dev/null 2>&1
if [ $? -ne 0 ]; then
logger -t 【AUST-自助认证】 "无网络"
echo "无网络"
return 2
else
logger -t 【AUST-自助认证】 "已联网"
echo "已联网"
return 0
fi
}
do_login() {
if ! check_login; then
err=$((err + 1))
logger -t 【AUST-自助认证】 "未联网,第${err}次尝试登录"
echo "未联网,第${err}次尝试登录"
curl 'http://10.255.0.41/0.htm' \
-H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7' \
-H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' \
-H 'Cache-Control: max-age=0' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-H 'Origin: http://10.255.0.41' \
-H 'Referer: http://10.255.0.41/0.htm' \
-H 'Upgrade-Insecure-Requests: 1' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \
--data-raw "DDDDD=${account}&upass=${password}&0MKKey=%B5%C7%A1%A1%C2%BC&v6ip=" \
--insecure \
-o /dev/null -s
return 0
else
logger -t 【AUST-自助认证】 "已联网"
echo "已联网"
return 0
fi
}
status='offline'
changed=1
restarted=1
max_try=3
while true; do
case $status in
online)
if ! check_login; then
status='offline'
changed=1
logger -t 【AUST-自助认证】 "网络断开"
echo "网络断开"
fi
sleep $check_time
;;
offline)
if do_login; then
status='online'
changed=1
logger -t 【AUST-自助认证】 "网络正在连接"
echo "网络正在连接"
fi
;;
esac
done
公共区域
#!/bin/sh
logger -t 【AUST-自助认证】 "开始运行"
## 校园网账号(学号、工号)
account="2022xxxxxx"
## 校园网密码
password="xxx"
## 运营商,校园网留空,移动“cmcc”,联通“unicom”,电信“aust”
isp="aust"
## curl超时时间(秒)
timeout=3
## 连网后检测间隔(秒)
check_time=5
check_login() {
## 使用ping命令检查网络连接,目标改为8.8.8.8
ping -c 1 -W $timeout 8.8.8.8 > /dev/null 2>&1
if [ $? -ne 0 ]; then
logger -t 【AUST-自助认证】 "无网络"
echo "无网络"
return 2
else
logger -t 【AUST-自助认证】 "已联网"
echo "已联网"
return 0
fi
}
do_login() {
if ! check_login; then
err=$((err + 1))
logger -t 【AUST-自助认证】 "未联网,第${err}次尝试登录"
echo "未联网,第${err}次尝试登录"
curl "http://10.255.0.19/drcom/login?callback=dr1003&DDDDD=${account}%40${isp}&upass=${password}&0MKKey=123456&R1=0&R3=0&R6=0¶=00&v6ip=&v=0000" \
-H 'Accept: */*' \
-H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' \
-H 'Connection: keep-alive' \
-H 'Cookie: PHPSESSID=2o6fjtmbgdm2jjs2mcr6ck31gv' \
-H 'Referer: http://10.255.0.19/a79.htm' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36 Edg/124.0.0.0' \
--insecure \
-o /dev/null -s
return 0
else
logger -t 【AUST-自助认证】 "已联网"
echo "已联网"
return 0
fi
}
status='offline'
changed=1
restarted=1
max_try=3
while true; do
case $status in
online)
if ! check_login; then
status='offline'
changed=1
logger -t 【AUST-自助认证】 "网络断开"
echo "网络断开"
fi
sleep $check_time
;;
offline)
if do_login; then
status='online'
changed=1
logger -t 【AUST-自助认证】 "网络正在连接"
echo "网络正在连接"
fi
;;
esac
done
Comments 1 条评论
博主 Ubanillx
记得修改个人信息,创建shell脚本,bash xx.sh使用,建议创建为系统服务,设置开机自启