準備工做:php
(1)一個能夠刷openwrt固件的路由器,如大多人使用的crazybox版本的路由.ajax
(2)一個可用的edu帳號.chrome
(3)一個瀏覽器(firfox,chrome)shell
下面開始:瀏覽器
一:刷openwrt固件,以下:
服務器
a)去openwrt官網查看 你路由型號的固件版本,而後下載。工具
b)刷固件到路由器,相應的crazybox都有一個breed控制檯(若是不是crazybox,你就得給路由器刷一個breed或者不死uboot).post
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)須要加請求頭,具體的緣由不明,也沒有去研究。這裏爲了路由器就只加 請求主體
wget --post-data="action=login&username=123456789@yd&password=123456&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的用法:
#!/bin/sh ip=`ifconfig | grep 'inet addr'| grep -vE '(192|127)' | awk '{print $2}' | awk -F ':' '{print $ 2}'` sleep 10 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 777 login.sh
最後添加,爲啓動後本身運行:
打開 /etc/rc.local文件,加入腳本運行命令: sh /root/login.sh
固然腳本路徑因人而異
ps:至此整個自動登陸完成,後續能夠將腳本更加優化,使其可以斷網自連