【教程】路由器自动定时登录校园网

这篇具有很好参考价值的文章主要介绍了【教程】路由器自动定时登录校园网。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn]

目录

前景提要

Python脚本

Shell脚本(推荐)

路由器挂机


【教程】路由器自动定时登录校园网
实现效果

前景提要

  • 小米路由R4A千兆版安装breed+OpenWRT教程以及救砖(全脚本无需硬改)
  • 【教程】保姆级红米AX6000刷UBoot和OpenWrt固件
  • 详解OpenWrt路由器设置Crontab定时检查网络并重启

现在需要自动定时的去登录校园网,省的每次还得自己手动去登录,也太麻烦了。

Python脚本

适合在电脑上挂着

import requests
import socket
import urllib.parse
import time
import psutil
import subprocess
import json5

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.57'
}

def check():
    url = 'http://www.baidu.com'
    try:
        requests.get(url, timeout=2)
        return True
    except:
        return False

def get_ip():
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(('10.255.255.255', 1))
    ip = s.getsockname()[0]
    print(ip)
    return ip

def get_ip2():
    url = r'http://192.168.53.229/drcom/chkstatus?callback='
    resp = requests.get(url=url, headers=headers).text.strip()[1:-1]
    return json5.loads(resp)['v46ip']

def list_interfaces():
    # 获取当前计算机上所有的网卡信息
    interfaces = psutil.net_if_addrs()
    # 遍历网卡信息,输出网卡名称
    for interface in interfaces:
        print(interface)

def set_dns(interface_name="WLAN", dns_server='223.5.5.5'):
    '''interface_name是网卡的名称,如"Ethernet/WLAN";dns_servers是DNS服务器地址,多个地址可以用逗号隔开。'''
    # 调用netsh命令修改DNS服务器
    output = subprocess.run(["netsh", "interface", "ipv4", "set", "dnsservers", interface_name, "static", dns_server], check=True, capture_output=True)
    output_str = output.stdout.decode('gbk')
    print(output_str)
    # 输出修改后的DNS服务器地址
    output = subprocess.run(["netsh", "interface", "ipv4", "show", "dnsservers", interface_name], capture_output=True)
    output_str = output.stdout.decode('gbk')
    print(output_str)

def connect():
    urls = list(['https://192.168.53.229:801/eportal/?', 'https://s2.scut.edu.cn:801/eportal/?'])
    
    data = {'c':'Portal',
            'a':'login',
            'callback':'dr1003',
            'login_method':'1',
            'user_account':',0,你的网络账号(也就是学号)主要前面的[0,]不要删',
            'user_password':'你的网络密码',
            'wlan_user_ip': get_ip2(),
            'wlan_user_ipv6':'',
            'wlan_user_mac':'000000000000',
            'wlan_ac_ip':'',
            'wlan_ac_name':'',
            'jsVersion':'3.3.2',
            'v':'10315'
    }
    for url in urls:
        try:
            res = requests.get(url + urllib.parse.urlencode(data), headers=headers, verify=False).text
            print(res)
            break
        except:
            pass


if __name__ == '__main__':
    # set_dns(dns_server='202.38.193.33')
    # set_dns(dns_server='223.5.5.5')
    connect()
    # while True:
    #     connect()
    #     # connect() if check() else None
    #     time.sleep(60*30)

Shell脚本(推荐)

适合在路由器上挂着,由上面的python脚本转换而来

#!/bin/bash

check() {
    url="http://www.baidu.com"
    if curl --output /dev/null --silent --head --fail "$url" -m 2; then
        return 0
    else
        return 1
    fi
}

get_ip() {
    ip=$(ip route get 8.8.8.8 | awk '{print $NF; exit}')
    echo "$ip"
}

get_ip2() {
    url="http://192.168.53.229/drcom/chkstatus?callback="
    resp=$(curl -s -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.57" "$url")
    #echo $resp
    #echo "$resp" | grep -Eo '"v4ip":"\K[^"]+'
    ip=$(echo "$resp" | awk -F'"' '/"v4ip":/{for(i=1;i<=NF;i++){if($i=="v4ip"){print $(i+2); exit}}}')
    echo $ip
}

list_interfaces() {
    interfaces=$(ip link show | awk -F': ' '{print $2}')
    echo "$interfaces"
}

set_dns() {
    interface_name="$1"
    dns_server="$2"
    # 调用nmcli命令修改DNS服务器
    nmcli con mod "$interface_name" ipv4.dns "$dns_server"
    # 输出修改后的DNS服务器地址
    nmcli con show "$interface_name" | grep ipv4.dns
}

connect() {
    ip=$(get_ip2)
    echo ">> 当前分配的IP:$ip"
    data="c=Portal&a=login&callback=dr1003&login_method=1&user_account=%2C0%2C你的网络账号(也就是学号)主要前面的[%2C0%2C]不要删&user_password=你的网络密码&wlan_user_ip=$ip&wlan_user_ipv6=&wlan_user_mac=000000000000&wlan_ac_ip=&wlan_ac_name=&jsVersion=3.3.2&v=10315"
    urls="https://192.168.53.229:801/eportal/? https://s2.scut.edu.cn:801/eportal/?"

    for url in $urls; do
        echo ">> 当前尝试链接:$url"
        response=$(curl -s -k -X GET "${url}${data}")
        if [ $? -eq 0 ]; then
            echo ">> 请求成功:$response"
            break
        fi
    done
}


# set_dns "WLAN" "202.38.193.33"
# set_dns "WLAN" "223.5.5.5"
connect
# while true; do
#     connect
#     # connect if check else None
#     sleep 1800
# done

路由器挂机

将shell代码保存为net.sh,然后参考这个博客,设置crontab定时执行即可。

比如,每30分钟执行一次:

*/30 * * * * sh /root/net.sh

 文章来源地址https://www.toymoban.com/news/detail-469052.html

到了这里,关于【教程】路由器自动定时登录校园网的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 路由器怎么改密码 路由器设置登录密码及修改无线密码图文教程

    一般路由器都有一个默认的登录账号与密码,通常这个账号无需我们去更改,但有时候,我们不想共用上网用户登录路由器修改参数怎么办?最简单的方法,还是修改掉路由器默认的密码。那么路由器怎么改密码呢,这也是不少初期使用路由器用户所不了解的,接下来本文将

    2024年02月06日
    浏览(44)
  • 【保姆级!完整详细!】小米路由器3 刷openwrt固件并连接上校园网

    本篇参考: https://www.bilibili.com/video/BV1dL411A72f https://blog.csdn.net/adingge/article/details/125362140 小米路由器3刷 OpenWrt 恩山论坛贴 本篇仅作为记录,实际设备不同可能导致流程不同 下载小米路由器3的OpenWRT固件 固件下载地址(用的是 LEDE/OpenWrt 固件): https://downloads.x-wrt.com/rom/ 固件的 23

    2024年02月09日
    浏览(15)
  • 电脑定时开机及校园网自动登录设置

    为了追求更高的性价比,多数人的电脑选择自己配置电脑,由于配置的是台式机,不方便移动。为了在自己现场的时候也可以使用就需要用到桌面远程操作。在学校的场景下,由于校园网需要登录认证才能连接互联网,所以在远程操作的时候需要保证校园网处于登录状态。同

    2024年01月19日
    浏览(23)
  • 定时开机、自动登录Microsoft账户、自动连接校园网(UESTC)

    作为一个需要用教研室台式机的同学,为了确保寒假回家,能够将科研进行到底,就在回家的前一天决定设置一下电脑定时开机和开机自动连接校园网。 1.电脑开机后按【Del】键,有些电脑按【F2】键,进入BIOS界面; 2.选择【Power Management Setup】选项; 3.Power Management Setup界面

    2024年02月05日
    浏览(29)
  • 手把手教你设置路由器、猫的正确连接方法及ip动态获取,实现校园网

    以海南大学的校园网为例,手把手教你设置无线路由器,正确连接猫,实现校园网! 工具/原料 至少一台笔记本电脑,猫,路由器,网线两根(其实一根也行) 方法/步骤 1、首先去找学校的网管(海大的话在“社团一条街”那里)要一个猫,开几个账号,并在自助机里往账号

    2024年02月06日
    浏览(64)
  • 在OpenWrt上配置原生IPv6 NAT,,实现校园网路由器使用ipv6

    我的环境 网络:教育网原生双栈,IPv4地址固定,IPv6地址自动获取 固件版本:OpenWrt Chaos Calmer 15.05-rc2 r45918 内核版本:3.18.14 准备工作 步骤如下,将网线插入校园网墙上的网口,另一端连接上电脑。之后按照以下示例操作。(以下步骤同样适用于用来实现电脑连接宿舍有线网

    2024年02月06日
    浏览(30)
  • TP-Link路由器登录密码重置、查看WIFI密码教程

    本文介绍了TP-Link路由器密码重置的方法,在使用无线路由器的过程中,有时候我们需要对路由器的密码进行重置;例如:忘记登录密码、使用二手路由器。这时候可以对TP-Link路由器进行重置,这样可以使用默认的登录密码来设置路由器。 温馨提示: 如果是TP-Link路由器的无

    2024年02月08日
    浏览(17)
  • 思科路由器交换机IOS文件自动备份与还原设置教程

    思科IOS配置文件的自动备份与回退需要使用到IOS的archive归档配置模式功能。 一般来说,只有IOS的版本号在12.3(4) 与其之后的版本才带有归档配置模式功能。 思科IOS配置文件自动备份全部命令如下 : Router Routerenable Router#configure terminal Router(config)#archive Router(config-archive)#write-

    2024年02月05日
    浏览(21)
  • 网页(web认证)认证通用解决办法:通过浏览器抓包curl,制作路由器可运行的bash脚本实现自动登录【非防检测】

    许多大学仔沉迷于自动登录校园网无法自拔,却苦逼于没有找到适合自己学校的方法,为了解决这个问题,路由器网页联网认证插件,它来了。废话不多说,直接上活 需要准备:一台刷好oepnwrt的路由器、一双会动的手、一张会问问题的嘴、一个能用的脑子 一、抓包 以下是通

    2024年02月11日
    浏览(28)
  • 路由器关闭dhcp后再登录路由器

    家里之前直连光猫,光猫也有wifi功能,一切的环境都搭建在光猫上。 由于光猫的wifi信号在一些死角不太行。需要自行购买路由器。 路由器连接光猫后,ip地址和地址池发生变化,之前的工作机也发生了变化; 最简单的就是关闭路由器dhcp,使用光猫的地址池。路由器就成交

    2024年02月13日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包