[Python] 纯文本查看 复制代码import requests

import os

#写在前面:本人大四狗,希望学弟学妹们好好学习,好好利用网络资源,而不是利用网络打游戏,刷剧。上大学谈个恋爱,加个社团,考几个证书,好好充实自己

####配置区

user="0000000000000"

password="88888888888888888"

#这里仅仅是判断是否联网,并没有判断网络SSID,也就是无法判断是否是校园网(本人为了突破校园网限制两个设备登录,使用了路由器,不想使用ssid判断是否是校园网)

#这里给出的思路是 netsh WLAN show interfaces语法来完成检测

#以下为解决方案,自行替换已注释掉

'''

#解决方案,这里的fosu是本人校园网SSID,可以自行替换掉

info = str(os.popen('netsh WLAN show interfaces | find "SSID"').readlines())

if "fosu" in info:

print("已连接至目标网络fosu")

'''

#检查当前WIFI连接状态

info = str(os.popen('ipconfig | find "IPv4 地址"').readlines())

if 'IPv4' in info:

print("已连接到网络")

else:

print("未连接至网络,尝试连接至目标网络")

os.system("netsh wlan set hostednetwork mode=allow ssid='Pogonip' key='As665201314'")

#检测是否有网,如果有,则不执行后续操作,如果没有,则执行校园网连接

putout = str(os.popen('ping baidu.com | find "请求超时"').readlines())

if '请求超时' not in putout:

print("有网,无需执行")

else:

#接下来是抓包,我用的是fiddle,发现如下特点:

#先通过一个GET请求,提交wlanuserip,wlanacname,ssid=,nasip,snmpagentip,mact,url,apmac,vid,port,nasportid等信息 也就是 post的data包里的query_string

#其中,我了解到锐捷是有检测多用户机制的,也就是突破两个设备限制,但是目前并没有

#这里我猜测,是通过这个get请求获取用户登录信息,对比白名单,没有的话就拉黑,所以,这里可以直接伪造这些信息,特别是SSID和wlanuserip等

#当然了,如果以后推出了客户端,可能还有心跳包,需要抓包模拟心跳(这里我只给一个思路),悄咪咪的提示一下,皖南医学院的校园网登录客户端可用于佛大的校园网登录

#然后就用post请求,发送账号密码等信息(这里参考了一下其他大佬的思路,感觉不错,就借鉴了一下)

#这里是获得一个临时的cookie,也不知道是干嘛的,可能是为了验证是否是通过10.10.10.4这个界面去登陆的,从而过滤掉直接请求吧(仅仅是一个猜测)

#当然了,后续的post请求中包含了这个临时的cookie

#获取JSESSIONID

geturl1="http://10.10.10.4/"

session = requests.session()

session.get(geturl1)

html_set_cookie = requests.utils.dict_from_cookiejar(session.cookies)

send_cookie=session.cookies['JSESSIONID']

#这里应该是跳转到认证服务器上,表明自己的学生身份

geturl2="http://10.10.10.4/eportal/redirectortosuccess.jsp"

get2_header={

"EPORTAL_USER_GROUP":"Student",

"JSESSIONID":send_cookie

}

responseRes = requests.get(geturl2, headers = get2_header)

#然后就会被重定向到[url=http://123.123.123.123/]http://123.123.123.123/[/url],并且获取当前的AP的各种消息(query_string)

geturl3="http://123.123.123.123/"

back=requests.get(geturl3)

query_string = back.text

st = query_string.find("index.jsp?") + 10

end = query_string.find("'")

query_string = query_string[st:end]

#接下来就是post登录请求了

userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36 Edg/89.0.774.54"

posturl="http://10.10.10.4/eportal/InterFace.do?method=login"

post_header={

"Host": "10.10.10.4",

"Connection": "keep-alive",

"Content-Length": "926",

"Origin":"10.10.10.4",

'User-Agent': userAgent,

"EPORTAL_COOKIE_USERNAME":user,

"EPORTAL_COOKIE_PASSWORD":password,

"EPORTAL_COOKIE_SERVER":"%E7%A7%BB%E5%8A%A8",

"EPORTAL_COOKIE_SERVER_NAME":"%E7%A7%BB%E5%8A%A8",

"JSESSIONID":send_cookie,

"EPORTAL_USER_GROUP":"Student"

}

post_data={

"userId": user,

"password": password,

#####

#####这个service是指哪个运营商,不同学校的加密方式不一样,我这里是移动

"service": "%E7%A7%BB%E5%8A%A8",

#####

#####

"queryString": query_string,

"operatorPwd": "",

"operatorUserId": "",

"validcode": "",

"passwordEncrypt":"true"

}

responseRes = requests.post(posturl, data = post_data, headers =post_header)

responseRes.encoding = "utf-8"

Thankyou = responseRes.json()

if Thankyou["result"] == "success":

print("理论上登录成功了")

else:

print("没有登录成功,但没有网络,没办法提醒")

#By 暗夜协奏者

锐捷wifi魔盒自动优选服务器,锐捷校园网用python实现自动登录(需要有自己的账号)...相关推荐

  1. 如何用python自动发邮件_Python | 解放双手,用Python实现自动发送邮件

    解放双手,用Python实现自动发送邮件 使用Python实现自动化邮件发送,可以让你摆脱繁琐的重复性业务,节省非常多的时间. Python有两个内置库:smtplib和email,能够实现邮件功能, ...

  2. linux自动刷新桌面,Ubuntu下实现用Python开机自动更新壁纸为bing壁纸

    因为用的Windows Phone的手机,里面有一个手机锁屏每天自动更新为bing的壁纸,用着挺好的,遂想在Ubuntu下实现这个功能,断断续续折腾了一两个星期,惭愧.不过好在最终还是将所有的功能实现 ...

  3. 锐捷路由器如何配置虚拟服务器,锐捷路由器配置命令完美宝典

    关于锐捷路由器配置命令,相信懂的人还不是很多,没有关系,下面就针对锐捷路由器,给大家详细的讲解一下,这些命令可能用的都不是很多,但是对于网络安全和性能来说很重要. 复制代码代码如下: #Exit返回上 ...

  4. python 自动填充表单,如何在Django / Python中自动填充PDF表单?

    I have PDF forms that I want to autopopulate with data from my Django web application and then offer ...

  5. python 股票自动交易从零开始_Python股票自动交易从零开始

    课程目录 1.Python股票自动交易从零开始~第一集~简介(Av24528809,P1).mp4 2.Python股票自动交易从零开始~第二集~安装工具包(Av24528809,P2).mp4 3. ...

  6. 学校无盘服务器带机量50台要求,锐起XP无盘单服务器带170台详细说明:老玩童

    锐起XP无盘单服务器带170台详细说明:v2.3 ① 选择硬件:<========================= 主板:带64位PCI-X接口的专业服务器,必须支持4G以上内存. CPU : ...

  7. DNS自动优选工具,可测试延迟,挑选最合适的DNS服务器,拒绝DNS劫持,解决能上qq不能打开网页问题...

    DNS是个比较头疼的事情,至少目前来看,以前没想这么多,纯粹能上网就行了,近些年,DNS服务器层数不穷,各大服务商均推出了自己的DNS服务器: 以前也发布过免费DNS合集,列出了目前各大服务商推出的免 ...

  8. 手机wifi显示未连接服务器,客户端显示wifi未连接到服务器

    客户端显示wifi未连接到服务器 内容精选 换一换 保证源端与目的端网络连通,以及华为云上目的端服务器的安全组规则允许Iperf测试端口开放.配置安全组规则的具体方法请参见如何配置目的端服务器安全组规 ...

  9. 印能捷怎样安装在虚拟服务器,超详细Prinergy(印能捷)安装及设置教程

    超详细Prinergy(印能捷)安装及设置教程 书法字体2014.09.01Prinergy 如果你安装的是Prinergy(印能捷)正版软件,那么你完全无需操心印能捷的安装与设置问题(印能捷工程师会 ...

  10. FlashFTP工具的自动缓存服务器目录的功能

    FlashFTP工具 有自动缓存服务器目录的功能,如果选中的话会加快FTP目录读取的速度,但同时也会造成服务器端的目录结构改了,但是客户端的仍然显示的是修改前的目录. 所以建议还是不勾选.地址: ft ...

最新文章

  1. 计算机组成原理二进制地址码,计算机组成原理
  2. netcore更新dll要停止_使 .NET Core 应用程序容器化
  3. OpenCV全向相机校准Omnidirectional Camera Calibration
  4. Tensorflow在python3.7版本的运行并且在pycharm安装tensorflow(亲测)
  5. 持续提高 Android 应用的安全性与性能
  6. DDoS分布式拒绝服务攻击简介
  7. mysql小问题集锦
  8. 【图文教程】Windows给Rabbitmq安装rabbitmq_delayed_meaage_exchange
  9. mongodb 启动 WARNING: soft rlimits too low, transparent_hugepage/enabled is 'always'. never
  10. hp ux安装oracle 11g,HP UX安装oracle 11g asm扫不到盘
  11. 有哪些英文论文查重软件值得推荐?
  12. 整理网线接水晶头步骤
  13. mysql 5.6 配置ssl_MySQL 5.6使用 SSL 连接
  14. matlab 非线性方程组 最小值,如何在matlab中求解非线性方程组的参数值
  15. TP50、TP90、TP99的理解和使用
  16. 【azkaban】开启进程秒退
  17. Python的生成器函数
  18. 好烦哦,第12次双11全球大考,又考第一了
  19. 史上最全电磁仿真(HFSS、CST、FEKO)时域、频域精准配置推荐
  20. 5G NR 随机接入RACH流程(2)-- Msg1之生成PRACH Preamble

热门文章

  1. vscode 字体颜色变得花里胡哨的
  2. js生成二维码 中间有logo
  3. Linux上安装RePlace
  4. 【Fortran】CUDA+PGI Fortran安装教程
  5. 海康威视C++应用软件开发面经
  6. python论文画图模板
  7. Gradle化的Android Gallery3D App
  8. yuicompressor java_使用YUICompressor自动压缩JavaWeb项目中的JS与CSS文件
  9. 计算机维吾尔语键盘用法,维吾尔语键盘练习软件_西域新疆
  10. 计算机c盘满了怎么搬家,c盘满了怎么办 c盘怎么搬家【搬家步骤】