实现路由器自动登录校园网(edu)
准备工作:
(1)一个可以刷openwrt固件的路由器,如大多人使用的crazybox版本的路由.
(2)一个可用的edu账号.
(3)一个浏览器(firfox,chrome)
下面开始:
一:刷openwrt固件,如下:
a)去openwrt官网查看 你路由型号的固件版本,然后下载。
b)刷固件到路由器,相应的crazybox都有一个breed控制台(如果不是crazybox,你就得给路由器刷一个breed或者不死uboot).
c)安装wget,路由器自带的wget是简版的
至此路由器准备成功
二:分析认证服务器需要的用户信息:
表面需要的是用户名和密码,但是其实不止这些,我们可以用浏览器来看看,到底发送了什么信息:
按F12调出开发者工具,然后点击登录


至此我们可以看到请求头,请求url,以及发送的数据,我们点击编辑和重发可以看到如下图片,我们要的就是请求主体里面的东西:

类似如下的格式(这里很重要):
请求URL:http://172.16.245.50/include/auth_action.php
请求主体:action=login&username=123456789@yd&password=123456&ac_id=2&user_ip=10.26.16.7&nas_ip=&user_mac=&save_me=1&ajax=1
我多次拿wget工具模拟登录时发现,web认证只需要这个 请求主体 以及 请求url(这是在路由器里面时)
但是在我自己的电脑上(debian 9.5)需要加请求头,具体的原因不明,也没有去研究。这里为了路由器就只加 请求主体
其中有一点对写shell脚本是一个重点:user_ip=10.26.16.7,这个需要自己写脚本获取当前路由器连接edu获取的ip
现在一切准备就绪,可用电脑的wget试一下,格式如下(红色部分字体分别填写自己的账号,密码,自己电脑从edu获取的ip地址):
wget --post-data="action=login&username=@yd&password=&ac_id=2&user_ip=10.26.17.14&nas_ip=&user_mac=&save_me=1&ajax=1" http://172.16.245.50/include/auth_action.php
当然如果你需要加上请求头,可自行查看wget的用法,如下面部分http的用法:

编写脚本让路由器启动时自动登录(当然请求url,账号,密码自己改):
#!/bin/sh
ip=`ifconfig | grep 'inet addr'| grep -vE '(192|127)' | awk '{print $2}' | awk -F ':' '{print $ 2}'`
sleep
wget --post-data="action=login&username=123456789@yd&password=123456&ac_id=2&user_ip=$ip&nas_ip=&user_mac=&save_me=1&ajax=1" http://172.16.245.50/include/auth_action.php
rm -f /root/auth_action.php
更改脚本的权限:
#脚本名因人而异
chmod login.sh
最后添加,为启动后自己运行:
打开 /etc/rc.local文件,加入脚本运行命令: sh /root/login.sh
当然脚本路径因人而异
ps:至此整个自动登录完成,后续可以将脚本更加优化,使其能够断网自连
实现路由器自动登录校园网(edu)的更多相关文章
- ubuntu设置mentohust开机自动登录校园网
设置环境: ubuntu14.04 64位 无法忍受校园网ubuntu锐捷客户端登录每次开机都要输一大串命令 step1 首先下载mentohust,链接http://code.google.com ...
- 在CMD下启动vmware、Xshell连接虚拟机以及控制Chrome浏览器自动执行js登录校园网
标题有点长,主要是写个bat出来玩玩, (1)不用每次都手动关闭mysql服务(我不想把它设为手动启动,有强迫症) (2)然后希望每次vmware能自动连上虚拟机 (3)以及每次Xshell都能自动启 ...
- python 脚本自动登陆校园网
学校的校园网每次重开电脑时都要重新打开浏览器进行网页登录,繁琐的操作比较麻烦,于是便写了个python的脚本进行自动登录,下面说下具体的操作过程: 1. 方法说明 博主采用的python的 reque ...
- 如何修改路由器的登录IP地址?
如何修改路由器的登录IP地址? 因为有多个路由器,为了区分不同路由器,我们可以修改它的登录IP,而且修改后,可以在连接的电脑上直观地知道所连接的是哪一台路由器 买回来的路由器,一般默认的登录地址是19 ...
- Linux开机自动登录(文本模式)
• Linux系统启动登录过程 以RedHat/CentOS为例,Linux系统Level3模式下从启动到登录的整个过程大致如下: 1> 加载BIOS信息:包含了CPU/显卡/内存/硬盘/网卡等 ...
- expect实现自动登录
自动登录主机(ssh) 建脚本item2login.sh,包含如下内容 #!/usr/bin/expect set timeout 30 spawn ssh -p [lindex $argv 0] [ ...
- cookie自动登录的实现
cookie自动登录是指把用户登录的信息按期限(自定)保存在客户端,当用户请求登录时判断客户端用没有cookie对象,有的话填充值,否则登录界面的输入框为空,不进行填充. 登录界面 ...
- windows 2003自动登录的具体步骤
在win2003系统中,使用最多的可能就是远程操作了,关于远程操作的那些事很多用户还是有些迷茫的.如果win2003系统远程重启后,要重新登录系统十分的麻烦,如何才能实现重启后的自动登录呢?让高手告诉 ...
- 如何设置phpMyAdmin自动登录和取消自动登录
如何设置phpMyAdmin自动登录? 首先在根目录找到config.sample.inc.php复制一份文件名改为config.inc.php(如果已经存在 config.inc.php 文件,则直 ...
随机推荐
- redis之Hash存储与String存储内存消耗对照
存储对象User String存储方式: SET media:1155315 939 GET media:1155315 > 939 String结构存储该对象 User243 243600 存 ...
- 杭电1879继续畅通project
继续畅通project Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- HDOJ GCD 2588【欧拉函数】
GCD Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- BZOJ3172 单词 Fail树
题目大意:求一篇论文中每个单词分别在论文中出现多少次. 本题用AC自动机太慢,应该用Fail树将AC自动机中所有的Fail指针反向得到一个新树,这就是Fail树.对长度为x的字符串a和长度为y的字符串 ...
- JS轮播图动态渲染四种方法
一. 获取轮播图数据 ajax 二.根据数据动态渲染 (根据当前设备 屏幕宽度判断) 1. 准备数据 2. 把数据转换成html格式的字符串 动态创建元素 字符串拼接 模板引擎 框架方法 2.把字符 ...
- ubuntu的home目录下,Desktop等目录消失不见
第一步:创建相应的文件夹 首先当然是创建几个相应的英文文件夹喽,比如:Desktop.Downloads. Documents. Music. Pictures. Videos , Template ...
- java异常处理和自定义异常利用try和catch让程序继续下去(回来自己再写个例子试运行下)
注意:想在catch的参数里使用自定义的异常,则必须先将这个异常抛出才行.(throws是具有抛出异常的能力,并未抛出,throw new MyException是抛出异常,catch是捕获异常,只有 ...
- 第5章分布式系统模式 使用客户端激活对象通过 .NET Remoting 实现 Broker
正在 .NET 中构建一个需要使用分布式对象的应用程序,并且分布式对象的生存期由客户端控制.您的要求包括能够按值或按引用来传递对象,无论这些对象驻留在同一台计算 机上,还是驻留在同一个局域网 (LAN ...
- json属性(Jackson)
Jackson相关:使用Jackson相关的注解时一定要注意自己定义的属性命名是否规范. 命名不规范时会失去效果.(例如Ename ,Eage 为不规范命名.“nameE”,“ageE”为规范命名). ...
- Nginx配置Q&A
隐藏响应头 How can remove Nginx from http response header? - Stack Overflow more_set_headers 'Server: my- ...