校园网免认证/校园网pojie

我们的目标是xiao yuan wang pojie

我们使用一个简单的python脚本,用于jiechu /pojie校园网只能登录一台手机和一台电脑的限制,仅供学习。

原理

我们利用已有可正常上网的校园网账户作为跳板,连上网后在后台下线账号所登录的设备,登录的设备实际上已经联网并可以正常上网使用。

使用方法

参数配置:</br>1、校园网账号</br>2、校园网密码</br>3、校园网后台登录域名</br>4、校园网wlanacname</br></br>
连接校园网,浏览器打开http://1.1.1.1 跳转到域名</br>
http://11.11.11.11/webauth.do?wlanacname=XXXX&wlanuserip=111.111.111.111&mac=AA:BB:CC:DD:EE:FF&url=http://1.1.1.1
</br>
</br>
校园网后台登录域名是http://11.11.11.11</br>
校园网wlanacnameXXXX</br>

注意事项

使用之前请确保校园网的认证系统是石斧软件的。</br>
登录界面如下。</br>

import requests
import json
import socket
import time
import re
import sys
import hashlib# 校园网账号
userid = "账号"
# 校园网密码
passwd = "密码"
# 校园网管理后台登录域名
xywhost = "http://11.11.11.11"
# 校园网登录链接的wlanacname
wlanacname = "XXXX"hostsname = socket.gethostname()
loginmsg = "test"#       主程序
def main():# try:global passmd5passmd5 = get_md5(passwd)print("*******程序开始运行*******","\n主机名:",hostsname,"\n你的IP是:", ip())print("3秒后开始登录操作")time.sleep(2)logout()login()# except:print("")exit#       获取内网IP
def ip():global ipglobal passmd5url = "http://1.1.1.1"x = requestsr = x.get(url, allow_redirects=False)rtext = r.textresult = re.search(r"\d{1,3}.\d{2,3}.\d{1,3}.\d{1,3}",str(rtext))ip = result.group()return ipdef login():global ip#       登录操作x2 = requestsx = requests.session()x.get(xywhost)quickAuthShare = x.get(xywhost + "/quickAuthShare.do?wlanacip=&wlanacname=" + wlanacname + "&userId=" + userid + "&passwd=" + passwd + "&mac=&wlanuserip=" + ip)data = json.loads(quickAuthShare.text)loginmsg = data["message"]#       获取验证码r = x.post(xywhost + "/self/tologin.do")data = json.loads(r.text)verifyCode = data["data"]["verifyCode"]print("验证码:",verifyCode)#       登录操作获取cookieheaders={'Connection': 'keep-alive','Accept': 'application/json, text/plain, */*','Content-Type': 'application/json;charset=UTF-8','Origin': xywhost,'Referer': xywhost + '/self/index.html','Accept-Encoding': 'gzip,deflate','Accept-Language': 'zh-CN,zh;q=0.9'}data = '{"accountId":"' + userid + '","password":"' + passmd5 + '","verifyCode":"'r2 = x.post(url=xywhost + "/self/login.do?",headers=headers,data=data+verifyCode+"\"}")data = json.loads(r2.text)status = data["errmsg"]print("登录:",status)print(loginmsg)#       数据变量num = 0times = 0while True:try:#       获取在线清单和设备IDdata2 = '{"accountId":"' + userid + '"}'r3 = x.post(url=xywhost +"/self/getonline.do?",headers=headers,data=data2)data = json.loads(r3.text)online = data["rows"]if('billingId'in r3.text):print("**********设备在线*******")online = data["rows"][0]["billingId"]serverIp = data["rows"][0]["serverIp"]ip = data["rows"][0]["accountIp"]print("在线设备:",online,"\n设备IP:",ip,)#       下线设备data3 = '{"accountId":"' +userid + '","accountIp":"'+ ip +'","billingId":"'+ online +'","serverIp":"' + serverIp + '"}'r4 = x.post(url=xywhost+"/self/kickonline.do?",headers=headers,data=data3)quickAuthShare = x.get(xywhost + "/quickAuthShare.do?wlanacip=&wlanacname="+ wlanacname + "&userId=" + userid + "&passwd=" + passwd + "&mac=&wlanuserip=" + ip)data = json.loads(r4.text)status = data["errmsg"]times += 1print("设备" + status  + ",拨号" + str(times) + "次")num = 0time.sleep(1)quickAuthShare = x.get(xywhost + "/quickAuthShare.do?wlanacip=&wlanacname="+ wlanacname + "&userId=" + userid + "&passwd=" + passwd + "&mac=&wlanuserip=" + ip)data = json.loads(quickAuthShare.text)loginmsg = data["message"]print(loginmsg)else:num += 1if ( num>5 ):headers2={'Cache-Control': 'no-cache'}r5 = x2.get("http://h5.analytics.126.net/news/c", headers=headers2 , allow_redirects=False)if( 'ok'in r5.text ):print("登录状态:联网成功!")print("登录状态:联网成功!")print("登录状态:联网成功!")input("\n\n")exit()else:print("登录状态:登录失败!")logout()login()  else:passtime.sleep(1)except:print("")break
def logout():#       断网操作x = requests.session()r = x.get(xywhost+"/quickAuthShare.do?wlanacip=&wlanacname="+ wlanacname +"&userId=" + userid + "&passwd=" + passwd + "&mac=&wlanuserip=" + ip)data = json.loads(r.text)distoken = data["distoken"]print("distoken:",distoken)time.sleep(2)r2 = x.get(xywhost+"/httpservice/appoffline.do?wlanacip=&wlanacname="+ wlanacname +"&userId=" + userid + "&passwd=" + passwd + "&mac=&wlanuserip=&distoken="+ distoken)data = json.loads(r2.text)message = data["message"]print("下线状态:",message)quickAuthShare = x.get(xywhost + "/quickAuthShare.do?wlanacip=&wlanacname="+ wlanacname +"&userId=" + userid + "&passwd=" + passwd + "&mac=&wlanuserip=" + ip)def get_md5(v):import hashlib# Message Digest Algorithm MD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护md5 = hashlib.md5()   #md5对象,md5不能反解,但是加密是固定的,就是关系是一一对应,所以有缺陷,可以被对撞出来## update需要一个bytes格式参数md5.update(v.encode('utf-8'))  #要对哪个字符串进行加密,就放这里value = md5.hexdigest()  #拿到加密字符串return valuemain();

 

Python代码GITHUB出处

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18723.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python3,6行代码,搞定网络测速神器,我直接卸载某60测速器。

6行代码搞定网络测速器 1、引言2、代码实战2.1 介绍2.2 安装2.3 示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c;你知道speedtest 这个库吗&#xff1f; 小鱼&#xff1a;嗯&#xff0c;知道一点点&#xff0c;咋了&#xff1f; 小屌丝&#xff1a;那你教教我怎么使…

【输入法篇】关闭微软输入法烦人的必应的文本建议设置

【输入法篇】关闭微软输入法烦人的必应的文本建议设置 额&#xff0c;微软输入法设置路径藏得有点深&#xff0c;建议在设置里面直接搜索进入&#xff0c;方便些&#xff01;—【蘇小沐】 文章目录 【输入法篇】关闭微软输入法烦人的必应的文本建议设置1.实验环境 &#xff08…

MySQL_2

目录 一、函数 1、字符串函数 2、数值函数 3、日期函数 4、流程控制函数 二、约束 1、概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 2、目的&#xff1a;保证数据库中数据的正确、有效性和完整性。 3、分类 4、外键约束 4…

工厂能源管控系统

随着现代工业的发展&#xff0c;工厂能源消耗不断增加&#xff0c;能源成本成为企业生产经营的重要组成部分。为了降低能源消耗、提高生产效率和降低成本&#xff0c;越来越多的企业开始采用工厂能源管控系统。本文将从多个方面介绍工厂能源管控系统的全面内容。 一、工厂能源管…

C# PaddleInference OCR 表格识别

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleInferenceSdcb.PaddleOCR 测试图片 代码 using OpenCvSharp.Extensions; using OpenCvSharp; using Sdcb.PaddleInference; using Sdcb.PaddleOCR; using Sdcb.PaddleOCR.Models; using Sdcb.PaddleOCR.Models.Details; using…

前端开发中的单例模式

在前端开发中&#xff0c;单例模式是一种常见的设计模式&#xff0c;用于确保一个类只有一个实例&#xff0c;并提供一个全局访问点来获取该实例。 在JavaScript中&#xff0c;可以使用以下几种方式来实现单例模式&#xff1a; 字面量方式&#xff1a; const singleton {// …

spring boot 集成dubbo

本demo使用spring boot 2.4.1版本集成 dubbo 2.7.15 1.创建maven项目及其子模块 父工程pom.xml <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.ap…

如何在海外进行A/B测试

A/B测试是对应用的各个版本进行实验&#xff0c;以分析用户如何与其交互的有效过程&#xff0c;它能够帮助我们改进关键指标&#xff0c;例如参与度或应用内购买&#xff0c;以及推出新功能&#xff0c;从而最大限度地降低大规模流失用户的风险。 A/B测试和ASO优化通常适用于应…

Android Jetpack Compose多平台用于Android和IOS

Android Jetpack Compose多平台用于Android和IOS JetBrains和外部开源贡献者已经努力工作了几年时间来开发Compose Multiplatform&#xff0c;并最近发布了适用于iOS的Alpha版本。自然地&#xff0c;我们对其功能进行了测试&#xff0c;并决定通过使用该框架在iOS上运行我们的…

分布式搜索--elasticsearch

一、初识 elasticsearch 1. 了解 ES ① elasticsearch 是一款非常强大的开源 搜索引擎&#xff0c;可以帮助我们从海量数据中 快速找到需要的内容 ② elasticsearch 结合 kibana、Logstash、 Beats&#xff0c;也就是 elastic stack (ELK)&#xff0c;被 广泛应用在日志数据分…

架构师日记-到底该如何搭建一个新系统 | 京东云技术团队

一 前言 架构设计按照实施过程可分为工程架构&#xff0c;业务架构&#xff0c;部署架构等多个维度&#xff0c;一个好的系统架构标准应该具备可扩展、可维护、可靠性、安全性和高性能等特点。尽管这些特点大家都熟知&#xff0c;但在实际落地时&#xff0c;我们更为迫切的想知…

pytorch线性模型 学习前要学习的基础知识

跟着刘二大人学pytorch&#xff0c;补全一下我的基础缺失 1.numpy基础 import numpy as np from PIL import Image anp.array([1,2,3]) #生成一维数组 print(a) bnp.arange(1,4)#创建等差数组&#xff0c;默认等差是1&#xff0c;数组为1&#xff0c;2&#xff0c;3&#xff0…