SICAU校园网路由器自动认证

(认证界面如图,关联词:川农校园网)

1.为什么需要路由器进行自动认证?

        为了解除校园网一号一设备的限制,让学生更有效的使用校园网。在这之前,网络上的各路大佬已经开发出了各式各样的校园网认证工具,有的是软件,有的是Python脚本,对于电脑、笔记本、手机等设备的适应性很好。但是,这些方式对于资源紧张的路由器(RAM,ROM都很小)来说不适用。所以,我决定尝试设计出一个适合本校校园网,通过自己的路由器便可以自动认证校园网的脚本。

2.需要准备什么?

        首先,你得有一个路由器(我的是极路由1S),需要刷Padavan固件。其次,你还得有自己的校园网账号。

3.如何操作?

主体思路:编写一个shell脚本,路由器在WAN口有数据上下行时,自动执行。脚本会检测是否已认证:若未认证,通过curl命令post一个含有你的认证设备(IP以及MAC)和校园网密码的信息的url,完成认证。

  1. 首先拼凑出上面提到的url,电脑进入校园网认证界面,退出账号,按下F12,保存网络日志,再填写账号点击登录。找到下面标记的文件,右击保存为curl(bash),粘贴至文本编辑器进行拼链。去掉--compressed,去掉一些不必要标头"-H",--data-raw 部分包含你的账号密码等信息,是必需部分。
  2. 下面是我拼好的的url:
    '此部分后面补充' -d 'auth_type=0&isBindMac1=1&pageid=201&templatetype=1&listbindmac=1&recordmac=0&isRemind=0&url=http%3A%2F%2F1.1.1.1&userId=你的账号&passwd=你的密码&twiceauth=1' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.82'

    以上需替换为自己的账号和密码

  3. 路由器刷好Padavan固件后,校园网的网线插入路由器WAN口,电脑通过无线方式连接路由器,SSH连接登录至路由器。
  4. cd /etc/storage/
    

    进入上述目录,创建自动认证脚本autologin.sh

    vi autologin.sh

    脚本里复制下文内容,并将"yourid", "yourpasswd"修改为自己的账号和密码

    #!/bin/sh
    timeStr=$(date) 
    echo $timeStr >> /var/log/logfile
    echo "Start detecting network state" >> /var/log/logfile
    KEYWORD=$(curl 1.1.1.1 | grep LOGINSUCC)
    if [[ "$(printf '%s' "${KEYWORD}")" = '' ]]; then
      echo "Not authorize, try to logining" >> /var/log/logfile
      url=$(curl 1.1.1.1 | grep -m 1 href | awk -F '"' '{print $4}')
      LOGIN_STATUS=$(curl ${url} -d 'auth_type=0&isBindMac1=1&pageid=201&templatetype=1&listbindmac=1&recordmac=0&isRemind=0&url=http%3A%2F%2F1.1.1.1&userId=yourid&passwd=yourpasswd&twiceauth=1' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.82' -k)
      SUCCESS=$(echo ${LOGIN_STATUS} | grep successTitle)
      if [[ "$(printf '%s' "${SUCCESS}")" != '' ]]; then
        echo "Autologin success" >> /var/log/logfile
      else
        echo "Autologin failed" >> /var/log/logfile
      fi
    else
      echo "Already authorized" >>/var/log/logfile
    fi
    url=$(curl 1.1.1.1 | grep -m 1 href | awk -F '"' '{print $4}')

    上面这句代码便是获取上文url中的补充部分,这部分原来应该是这样的:

    https://portal.sicau.edu.cn/webauth.do?wlanacname=yacmcc&wlanuserip=你的IP&mac=你的mac地址&url=http://1.1.1.1

    补充一下:很多教程会提到通过ifconfig命令等方式获取IP和MAC地址,来完成上述部分,但是,利用1.1.1.1网址就可以重定向到认证页面的优点,我们可以通过curl 1.1.1.1来获取到整个链接,链接本身就包含设备的IP和MAC地址了,所以不需要拼链。

  5. 接下来,保存脚本并退出,下面一条命令修改脚本权限;后面两条命令为日志文件的创建和赋权。

    chmod 0711 autologin.sh # 赋予执行权限 
    touch /var/log/logfile # 创建一个文本文件用于存放日志
    chmod 0711 /var/log/logfile # 改变权限
  6. 到此为止,脚本方面已经全部完成,接下来需要进行路由器后台相关的设置。

  7. 浏览器地址栏输入192.168.2.1并输入账号(admin)、密码(自己设置的)进入路由器后台,如下图:

    首先进入”外网WAN“设置: 

    按上图选即可,MAC地址那一栏,点击右侧加号即可填入你的电脑的MAC地址(或者也可以自定义为其他设备的MAC地址),点击”应用设置“ ,完成上述后,进入左侧导航栏中的”系统管理

    进入”配置管理“,点击保存内部存储到内存右侧的”提交“,之后进入左侧的”参数设置“ 

    进入脚本选项,点击WAN那一行:

    在最后添加上这一句,便可以保证自动认证,点击应用设置即可完成。 

  8.  到此,脚本的部署已完成,可以重启路由器,检查路由器是否可以完成自动认证。

  9.  可以通过查看/var/log/logfile查看日志,判断是否认证成功。失败,请检查账号、密码的部分是否替换,或者更换MAC试试。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值