当前位置: 首页 > news >正文

校园网自动登陆(河南科技学院)

1. 介绍

河南科技学院校园网自动登陆(新乡的很多系统相似,可能也可以用?),java版。可以实现电脑,路由器,软路由的自动认证wifi,后续会上传docker版本的。

源码地址

  1. github:https://github.com/wnzzer/wifi-auto-connect
    2.gitee:https://gitee.com/chenbaifu/wifi-auto-connect

在这里插入图片描述

2.软件架构

采用jdk8

1.大致实现思想:

抓包最后的请求接口,通过请求接口达到认证

最后发现/quickauth.do的get接口是最后实现的关键

2.通过该get接口我发现可以直接登陆校园wifi

[http://172.18.249.222:6060/quickauth.do?userid=20211554217@kjxyyd&passwd=Wang15238791265&wlanuserip=10.102.41.73&wlanacname=HIST-BRAS&wlanacIp=172.18.247.17&ssid=&vlan=32003272&mac=f4:ce:23:f9:9b:88&version=0&portalpageid=47×tamp=1682562683888&uuid=3c30a228-3e44-4dd7-8aee-ac1100bd2578&portaltype=0&hostname=&bindCtrlId=](http://172.18.249.222:6060/quickauth.do?userid=20211554217@kjxyyd&passwd=Wang15238791265&wlanuserip=10.102.41.73&wlanacname=HIST-BRAS&wlanacIp=172.18.247.17&ssid=&vlan=32003272&mac=f4:ce:23:f9:9b:88&version=0&portalpageid=47&timestamp=1682562683888&uuid=3c30a228-3e44-4dd7-8aee-ac1100bd2578&portaltype=0&hostname=&bindCtrlId=)

3.下面是我对该get接口的query参数的简单说明

下面是参数说明,带“*”的是参数必须项:

- uerid : 校园网帐号+学院缩写+运营商- passwd : 校园网密码- wlanuserip : 被分配ip,ac所分配的ap,和mac同时作为入网证明。- wlanacname : wifi 名称,不能不填,用于区分教师和学生wifi- vlan : vlan- mac : ap mac地址wlanacIp : ac地址,经测试可以不填,猜测是valn和分配的地址直接限定了ac设备version : 版本 应该没什么卵用portalpageid : 暂时不知道是什么timestamp : 毫秒时间戳uuid : 登陆唯一识别id 我猜测随便编一个就成,没卵用portaltype : 认证方式 我们学校好像就一种,没卵用hostname : 暂时没什么用bindCtrlId : 暂时没什么用

我舍弃不必要的参数,获取一个较为精简的脚本,发现可以认证wifi。

  curl 'http://172.18.249.222:6060/quickauth.do?userid=20211554217@kjxyyd&passwd=Wang15238791265&wlanuserip=10.102.41.73&wlanacname=HIST-BRAS&vlan=32003272&mac=f4:ce:23:f9:9b:88'

当然这样写不具有通用性,按照这个思路我写了一个较为通用的java程序,类似我们学校的校园网应该都可以用的。。。吧?。

安装教程

  1. git源码(或者下载源码)
git clone https://gitee.com/chenbaifu/wifi-auto-connect.git
  1. 切换至工程目录
cd wifi-auto-connect
  1. 编译源码
javac AutoConnectWifi.java

4.设置配置文件(也可以使用命令行手动输入)

对工程里的authentication.conf进行校园网帐号,密码,运营商的配置

#校园网帐号
username=13678593474
#校园网密码
password=swa32323
#校园网运营商 移动为=yd,联通为lt,电信为dx.
operator=yd

5.运行

java AutoConnectWifi

参与贡献

暂无

http://www.lryc.cn/news/90145.html

相关文章:

  • C++11 override和final关键字
  • kafka的log存储解析
  • 4.文件系统
  • Shell脚本case in esac分支语句应用
  • 【线性dp必学四道题】线性dp四道经典例题【最长上升子序列】、【最长公共子序列】、【最长公共上升子序列(maxv的由来)】【最长公共子串】
  • 追寻幸福:探索幸福的关键特征和行为
  • Redis-02-集群
  • 【2023 · CANN训练营第一季】MindSpore模型快速调优攻略 第三章——MindSpore云上调试调优
  • python笔记17_实例演练_二手车折旧分析p2
  • android 12.0长按Power弹出关机对话框去掉屏幕截图和紧急呼救功能
  • 2023年下半年软考高级需要报班吗?
  • 使用WordPress提高企业敏捷性
  • SSM编程---Day 07
  • Seata术语
  • 【Axure教程】通过文本框维护下拉列表选项
  • 【C++】基础知识--输入/输出(5)
  • 经典文献阅读之--PIBT(基于可见树的实时规划方案)
  • SAP-MM-计算方案字段解析
  • go-gf框架两个表以事务方式写入示例
  • 2023-5-31第三十一天
  • 什么是MQTT?mqtt协议和http协议区别
  • 平台使用篇 | 批处理(bat)脚本使用教程(四)
  • 接口的讲解
  • G0第21章 :gin框架介绍、RESTful API、Gin渲染
  • python list,dict操作
  • 我有一个页面a,在页面a中调用了一个组件,然后组件中要切换页面a的一块区域,该怎么实现?
  • ChatGPT唤醒AI游戏:AIGC持续走深,游戏或成AI最佳抓手
  • 远程服务和web服务和前端,三方通过socket和websocket进行双向通信传输数据
  • Linux 网络基础(2)应用层(http/https协议、请求格式、响应格式、session、cookie、加密传输)
  • 解决sshfs挂载报错