大工校园网自动连接

艾恩凝

https://aeneag.xyz

微信公众号:技术乱舞

写这个脚本的原因是不能愉快的薅高速上网的羊毛了,实验室的网速回到了3M,并且还需要连接校园网,对于在家有科研任务的,远在天边的电脑需要重启就需要自动连接网络了,那么这个开机自动运行的脚本很适合你

2021/1/11

注:本脚本适用于win10,对于win7大概率不能运行,且没有测试,脚本最适合台式机有线连接。

使用说明

  1. 获取源程序(auto_login_acmpus.exe)与admin.txt文件,两文件必须放在同一文件夹下
  2. 生成源程序快捷方式
  3. 快捷方式放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
  4. 关机重启测试脚本

1. 分析校园网网址

http://172.20.20.1:801/srun_portal_pc.php?ac_id=3&url=

访问后,按F12,输上账号密码后,点击登录,查看,如下图所示:

001anl.jpg

然后点击图示中的3,并且查看headers和payload,可知是post请求,并且用的form表单,分析完成后,可以写脚本了,在分析的时候笔者认为该校园网的cookie进行了加密,后来经过测试没有任何卵用,也许没发现什么用处,纸老虎,就是简单的form表单,由此可见校园网登录安全性并不高。

002anl.jpg

003anl.jpg

分析完成后,接下来写代码,思路是账号密码存在一个文本文件中,读取账号密码,并自动连接

 1#!/usr/bin/env python
 2# -*- coding: utf-8 -*-
 3# @Time    : 2022/01/11 16:06
 4# @Author  : Aen
 5# @File    : campus_auto_login.py
 6# @Software: PyCharm
 7
 8import time
 9import requests
10import win32api, win32con
11
12headers = {
13    'Connection': 'keep-alive',
14    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
15    'Accept - Encoding': 'gzip, deflate',
16    'Accept - Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
17    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.102 Safari/537.36',
18    'Cache-Control': 'max-age=0',
19    'Upgrade-Insecure-Requests': '1',
20    'Content-Length': '88',
21    'Content-Type': 'application/x-www-form-urlencoded',
22    'Host': '172.20.20.1:801',
23    'Origin': 'http://172.20.20.1:801',
24    'Referer': 'http://172.20.20.1:801/srun_portal_pc.php?ac_id=3&url=',
25    'Cookie': ''
26}
27admin = 'admin'
28passwd = 'passwd'
29with open('admin.txt', 'r') as f:
30    admin = f.readline().strip('\n')
31    passwd = f.readline().strip('\n')
32
33params = {
34    'action': 'login',
35    'ac_id': '3',
36    'user_ip': '',
37    'nas_ip': '',
38    'user_mac': '',
39    'url': '',
40    'username': admin,
41    'password': passwd
42}
43
44def auto_get_request():
45    session = requests.Session()
46    url1 = 'http://172.20.20.1:801/srun_portal_pc.php?ac_id=3&'
47    response = session.post(url=url1, data=params, headers=headers)
48    # print(response.text)
49    return response.text
50
51def is_successful(back_data):
52    str1 = '注销'
53    back_num1 = back_data.find(str1)
54    back_num2 = back_data.find(admin)
55    if back_num1 != -1 and back_num2 != -1:
56        # print('successful')
57        win32api.MessageBox(0, "Successfully obtained the campus network", "successful", win32con.MB_OK)
58    else:
59        win32api.MessageBox(0, "The network may be connected or failed to connect", "error", win32con.MB_OK)
60
61if __name__ == "__main__":
62    time.sleep(15)
63    is_successful(auto_get_request())

2. 自动运行脚本

使用python中的工具生成exe文件,需要两个文件

004auto.png

admin.txt文件中是校园网的账号密码,注意这两个文件必须在一个文件夹下,并且admin.txt不能更改名字,在Windows中创建执行程序的快捷方式,并把快捷方式放入C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

这样就可以测试是否成功了,成功将会弹出成功提示框,如果失败,也会弹出错误信息,已联网或者联网失败或者账号密码错误都是一个错误,并没有具体区分错误。

successful.png

error.png

如果想获取自动登录脚本,请关注公众号:技术乱舞,回复”大工校园网“即可获取


    


公众号'技术乱舞'
个人公众号
个人微信
个人微信
    吾心信其可行,
          则移山填海之难,
                  终有成功之日!
                                  ——孙文
    评论
    0 评论
avatar

取消