Last active
April 9, 2024 12:16
-
-
Save zhullyb/4c8708df5724c42f913d3d86ed49d929 to your computer and use it in GitHub Desktop.
浙江工业大学的校园网网页认证脚本
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# 浙江工业大学校园网网页认证 | |
# 此处需要填写网页认证时使用的账号和密码 | |
user_account= | |
user_password= | |
# 针对路由器,用于设置路由表以方便访问学校内网 | |
# 可能需要将路由器 DNS 设置为 172.16.7.10 和 172.16.7.30 以获取正确的内网服务器 ip | |
if `ip route | grep -q 10.129.0.1`; then | |
gateway=10.129.0.1 | |
elif `ip route | grep -q 10.136.0.1`; then | |
gateway=10.136.0.1 | |
fi | |
if whoami | grep -q "admin\|root" && [ -n "$gateway" ]; then | |
route add -net 192.168.210.111 netmask 255.255.255.255 gw ${gateway} | |
route add -net 192.168.210.112 netmask 255.255.255.255 gw ${gateway} | |
route add -net 192.168.210.100 netmask 255.255.255.255 gw ${gateway} | |
route add -net 172.16.0.0 netmask 255.255.0.0 gw ${gateway} | |
fi | |
# 尝试访问内网服务器,如果未通过网页认证则会获得 url 跳转信息,用于判断用户为朝晖校区或屏峰校区,并获取用户 ip | |
test_curl=$(curl -s http://172.16.19.160) | |
wlan_user_ip=$(echo ${test_curl} | grep -oE 'wlanuserip=[0-9\.]+' | grep -oE '[0-9\.]+') | |
wlan_ac_ip=$(echo ${test_curl} | grep -oE 'wlanacip=[0-9\.]+' | grep -oE '[0-9\.]+') | |
wlan_user_mac=$(echo ${test_curl} | grep -oE 'usermac=[[:xdigit:]-]+' | cut -d'=' -f2 | tr -d '-') | |
wlan_ac_name=$(echo ${test_curl} | grep -o "wlanacname=[^&]*" | cut -d'=' -f2) | |
# 朝晖校区宿舍楼内的移动宽带的认证请求 | |
if echo "${test_curl}" | grep -q "192.168.210.112"; then \ | |
curl "http://192.168.210.112:801/eportal/portal/login?callback=dr1003&login_method=1&user_account=%2C0%2C${user_account}%40cmcczhyx&user_password=${user_password}&wlan_user_ip=${wlan_user_ip}&wlan_user_ipv6=&wlan_user_mac=${wlan_user_mac}&wlan_ac_ip=${wlan_ac_ip}&wlan_ac_name=${wlan_ac_name}&jsVersion=4.2.1&terminal_type=1&lang=zh-cn&v=5099&lang=zh" | |
# 屏峰校区宿舍楼内的移动宽带的认证请求 | |
elif echo "${test_curl}" | grep -q "192.168.210.111"; then \ | |
curl "http://192.168.210.111:801/eportal/portal/login?callback=dr1003&login_method=1&user_account=%2C0%2C${user_account}%40cmccpfyx&user_password=${user_password}&wlan_user_ip=${wlan_user_ip}&wlan_user_ipv6=&wlan_user_mac=${wlan_user_mac}&wlan_ac_ip=${wlan_ac_ip}&wlan_ac_name=${wlan_ac_name}&jsVersion=4.2.1&terminal_type=1&lang=zh-cn&v=5099&lang=zh" | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment