實現路由器自動登錄校園網(edu)


准備工作:

 (1)一個可以刷openwrt固件的路由器,如大多人使用的crazybox版本的路由.

 (2)一個可用的edu賬號.

 (3)一個瀏覽器(firfox,chrome)

下面開始:

     一:刷openwrt固件,如下:

      )去openwrt官網查看 你路由型號的固件版本,然后下載。

      )刷固件到路由器,相應的crazybox都有一個breed控制台(如果不是crazybox,你就得給路由器刷一個breed或者不死uboot).

      )安裝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=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的用法:

 

 編寫腳本讓路由器啟動時自動登錄(當然請求url,賬號,密碼自己改):

 

#!/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:至此整個自動登錄完成,后續可以將腳本更加優化,使其能夠斷網自連

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM