BetaCat_HA
BetaCat_HA
Published on 2022-10-07 / 35 Visits
0
0

校园网WEB认证登录脚本

借鉴少数派《使用 Padavan 路由器实现校园网自动 Web 认证》的文章,简化了一下登录脚本,锐捷系统可用。

#!/bin/sh
#需要抓包获取queryString等信息

userId="<用户名>"
password="<密码>"
queryString=""
passwordEncrypt=false

logger -t web-login "开始检测网络认证状态"
KEYWORD=$(curl -s http://baidu.com  grep "NextURL")
if [[ "$(printf '%s' "${KEYWORD}")" != '' ]]; then
  logger -t web-login "检测到尚未认证,尝试自动认证"
  CURRENT_IP=$(ifconfig  grep inet  grep -v inet6  grep -v 127  grep -v 192  awk '{print $(NF-2)}'  cut -d ':' -f2)
  MAC_ADDRESS=$(ifconfig ra0  grep HWaddr  awk '{print $NF}'  tr '[:upper:]' '[:lower:]'  tr ':' '-')
  LOGIN_STATUS=$(curl -s -X POST "http://10.0.6.247/eportal/InterFace.do?method=login" --data "userId=${userId}&password=${password}&service=&queryString=${queryString}&operatorPwd=&operatorUserId=&validcode=&passwordEncrypt=${passwordEncrypt}")
  SUCCESS=$(echo ${LOGIN_STATUS}  grep success)
  if [[ "$(printf '%s' "${SUCCESS}")" != '' ]]; then
    logger -t web-login "自动认证成功"
  else
    LOGIN_STATUS=$(echo ${LOGIN_STATUS}  cut -d ',' -f3  cut -d '"' -f4)
    logger -t web-login "自动认证失败: ${LOGIN_STATUS}"
  fi
else
  logger -t web-login "检测到已经认证"
fi

Comment