实现使用软路由自动登录校园网等网页认证(零基础教程)

您所在的位置:网站首页 如何wlan自动登录 实现使用软路由自动登录校园网等网页认证(零基础教程)

实现使用软路由自动登录校园网等网页认证(零基础教程)

2024-06-13 22:44| 来源: 网络整理| 查看: 265

学校和单位的网络每次使用都需要重新登陆,有时候出差在外无法实现远程控制,非常不方便,这里提供一种使用软路由自动登录网页认证的方法,使路由器检测网络状态掉线自动重登或者定时自动重登。

按照如下步骤来即可:

1.给路由器刷入openwrt

openwrt是一种针对嵌入式设备的Linux操作系统,给路由器刷入openwrt后可以实现屏蔽广告等可玩性更高的功能,在开始前需要在网上根据教程给自己的路由器刷入合适的openwrt包,刷机前注意备份,这里提供一个搜包链接,详细的步骤这里不再赘述。

OpenWrt Firmware Selectoricon-default.png?t=N7T8https://firmware-selector.openwrt.org/

2.抓取登陆链接 2.1 准备路由器抓取

连上要实现自动登录的无线网,注意不要登录认证,就在未登录的状态,按下F12,这里以edge浏览器为例,先点击“网络”,再打开“录制”功能(一般默认已经打开),注意要勾选保留日志的功能。

2.2 抓取登录链接

输入自己的账号和密码,点击登录,成功登陆后,查看过程中抓取的内容,找到其中包含自己账号和密码的链接,如图所示,将这个链接(下文统一称为链接)复制下来。

2.3 测试链接是否可用

先退出认证账号,使网络不可用,

键盘按住win+r键 输入cmd 回车 在弹出的命令窗口中输入curl 链接 回车 如果网络恢复链接,则说明连接可用,可以进行下一步

接下来有两种思路实现自动登录功能,一是将设置自动登陆脚本,并设置为开机自动执行,这样再给路由器设置定时重启任务,路由器会在重启后自动登录网页。该方案适用于固定时间掉线的网络环境,例如有的单位是每天网上1点自动掉线,这种方案比较简单好用。参见第3部分。

或者第二种思路是每隔一段时间检测网络是否掉线,掉线了就自动执行登陆脚本,这种方案更加灵活。参见第4部分。

3.定时重启自动登录网页认证功能 3.1使用putty登录路由器(ssh)

登录名 root 密码为路由器的管理密码:

3.2 编辑登陆脚本

依次输入

mkdir autologin    (创建文件夹)

cd autologin  

vi autologin.sh    (创建并打开文件)

按i键进入编辑模式后 输入

curl ‘链接’

按esc 后 输入:wq 按回车 保存

输入 sh autologin.sh 测试是否成功(先退出网页登陆,运行改步骤后网络恢复则说明脚本没有问题,如果出现 curl not found,需要将路由器连接外网后在openwrt中搜索安装curl,或者在ssh下依次输入 opkg update 和 opkg install curl)

3.3 设置开机自启

在路由器的启动任务中输入 sh root/autologin/autologin.sh,如下图所示,这样路由器每次重启就会自动登录。

3.4 设置路由器自动重启

在Scheduled Tasks中加入如下代码即可实现每天5:10分重启路由器,有其他的需求的搜索“corn语法”,根据说明进行修改。

10 5 * * * sleep 70 && touch /etc/banner && reboot   //每天5点10分路由器自动重启

保存上述脚本后,注意在启动项里重启一下corn,或者直接重启一下路由器,在重启路由器之前注意检查路由器时区是否正确,如果时区不正确还需要手动修改时区到亚洲/上海,如下图所示:

至此路由器即实现了每天五点十分重启,并且重启后自动登录网页认证。

4.自动检测并登录功能 4.1 使用putty登录路由器,同3.1步 4.2 创建登录脚本,这里参考的是下面这个连接中的代码

openwrt校园网自动登录且断网重连_openwrt断网自动重连-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq248606117/article/details/125144699 首先依次输入:

mkdir ping

cd ping

vi ping.sh

接着按i进入编辑模式,输入以下代码 注意修改账户名和密码

#ping 的总次数 PING_SUM=3 #ping 的间隔时间,单位秒 SLEEP_SEC=10 #连续重启网卡 REBOOT_CNT 次网络都没有恢复正常,重启软路由 #时间= (SLEEP_SEC * PING_SUM + 20) * REBOOT_CNT REBOOT_CNT=3 LOG_PATH="/root/ping/log.txt" cnt=0 reboot_cnt=0 while : do     ping -c 1 -W 1 www.baidu.com > /dev/null     ret=$?         ping -c 1 -W 1 www.bilibili.com > /dev/null     ret2=$?     if [[ $ret -eq 0 || $ret2 -eq 0 ]]     then               echo -e 'network is ok\r'            exit         #cnt=0         #reboot_cnt=0     else         cnt=`expr $cnt + 1`         echo -n `date '+%Y-%m-%d %H:%M:%S'` >> $LOG_PATH         printf '-> [%d/%d] Network maybe disconnected,checking again after %d seconds!\r\n' $cnt $PING_SUM $SLEEP_SEC >> $LOG_PATH         printf '-> [%d/%d] Network maybe disconnected,checking again after %d seconds!\r\n' $cnt $PING_SUM $SLEEP_SEC                 if [ $cnt == $PING_SUM ]         then             echo 'try to re curl' >> $LOG_PATH             echo 'ifup wan!!!'             sleep 5             curl 'http://10.0.1.5/drcom/login?callback=dr1003&DDDDD=账户%40unicom&upass=密&0MKKey=123456&R1=0&R2=&R3=0&R6=0¶=00&v6ip=&terminal_type=1&lang=zh-cn&jsVersion=4.1&v=3569&lang=zh'                         cnt=0             #重连后,等待10秒再进行ping检测             sleep 8             #网卡重启超过指定次数还没恢复正常,重启软路由             reboot_cnt=`expr $reboot_cnt + 1`             if [ $reboot_cnt == $REBOOT_CNT ]             then                 echo -n `date '+%Y-%m-%d %H:%M:%S reboot!'` >> $LOG_PATH                 echo '-> Network has some problem, lets reboot' >> $LOG_PATH                 echo '-> =============== reboot!'                 reboot             fi         fi     fi        sleep $SLEEP_SEC done

最后,按esc  :wq保存并退出

可以输入 sh ping.sh 测试是否成功(先退出网页登陆,运行改步骤后网络恢复则说明脚本没有问题,如果出现 curl not found,需要将路由器连接外网后在openwrt中搜索安装curl,或者在ssh下依次输入 opkg update 和 opkg install curl)

4.3 添加定时任务,定时检测网络情况

与3.4类似,输入以下代码添加定时任务,只不过这次不是重启路由器,而是执行上述的ping.sh脚本:

*/15 * * * * bash /root/ping/ping.sh   (每隔十五分钟检测一次)

至此已经实现了路由器自动登录网页认证的功能。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3