你可以不知道原因,但是,我们不能停止努力。httplook抓取路由配置界面信息...
因為實驗室的項目要求,需要動態控制路由的配置信息,我們知道。路由選擇需要購買的訪問后,:http://192.168.1.1 路由配置頁面。配置,不須要人手工操作。甚至定時任務配置的時候,就須要進一步研究對路由配置的相關操作了。
須要實現的目標是像一些商家提供的帶web認證的Wifi服務,如飛機場的CMCC接入,你連接Wifi熱點后還不能上網,他會自己主動跳轉到web認證頁面實施認證。通過之后才干實現上網。可是我們希望通過server主機自己主動更改加入web認證賬戶,比方像商戶能夠發放免費上網電子券,券上面有相應的賬號。假設數量多的話,靠人工一個個加入配置是非常麻煩的。
假設能夠電腦批量處理,那就是極其方便的。
以下依照實際方案過程和遇到的一些問題進行httplook抓取的過程描寫敘述,希望對以后遇到這方面問題的有部分幫助。之前是有兩套方案:
1、用wiwiz搭建web認證,并通過其Wiwiz Auth API進行接入的控制。參考資料例如以下:
? ? ? ??成本低廉的賓館無線Wifi網絡覆蓋+Web認證方案;
? ? ? ??Wiwiz Auth API參考手冊與接口規范;
? ? 可是、、、后來發現wiwiz貌似免費版的話提供的服務真的非常少!付費才干達到項目要的要求,于是把這個方法當做備選!
2、自帶web認證的無線路由,調研后發現有自帶web認證的無線路由,我選用的是磊科NR235W無線上網管理路由器。
順便吐槽下,七月底在某東買的時候是¥219.00,這幾天再看是¥129.00?(降價通知)。。。還好不是花自己的錢,不然虧死了。
(吐槽可忽略)
如今就進入重點部分,怎樣在主機端借助某些接口自己主動完畢路由配置,以下找了非常久才找到比較好的方法:
教您用命令行輕松玩轉寬帶路由(上)。教您用命令行輕松玩轉寬帶路由(中)然后死活都找不到(下)的部分。
。。學著邊弄。最后才在翻了非常多網頁之后找到“高手論道 教您用命令行輕松玩轉寬帶路由?”。命名能再統一規范點嗎?并且在同一個站點不是連續的發文章,所以能找到最后一篇也算是幸運的。
一、curl工具:curl是一個使用URL語法來傳送文件的工具,支持HTTP/HTTPS/FTP/ FTPS/DICT/TELNET/LDAP/FILE和GOPHER等協議,同一時候也具備比較高的安全性。也就是說我們能夠通過curl命令實現對基于HTTP協議頁面的互動。
那么僅僅要瀏覽器能夠做到的操作,我們僅僅要用curl模擬就能夠做到。同理,對于一些網頁須要搶票刷頁面的。也是能夠利用curl命令進行控制的。可是如今刷完之后那些搶票系統總是會彈出須要手動輸入隨機驗證碼的。也是作為一種手段來防止這樣的作弊行為。下載后建議把curl工具當前的路徑加入到系統的PATH路徑下。那么自信命令行之后就不用進到curl相應的路徑下才干運行。系統會自己主動去環境變量PATH路徑下收你輸入的這些命令行命令并運行。
二、監控工具:為了模擬瀏覽器的動作,那么我們須要知道瀏覽器訪問的地址以及相應的參數設置。
于是又兩款監視工具對頁面信息參數進行抓取。
當中遇到問題例如以下:
1、用httplook進行抓取時,僅僅要啟動抓取,我的IE就會崩潰。而用搜狗瀏覽器卻僅僅能抓到普通的頁面、而抓不到路由配置頁面的信息。
2、試用sniffer工具進行抓取。能夠抓到。但是因為里面的相關信息復制不了,或者僅僅能復制其ASCII碼,還要對其進行轉碼。于是我直接照著其參數手打出來。但是在用這些抓到的信息進行命令行配置時,電腦常常死機。
事實證明。電腦的非常多編碼形式呈現出的可視化的東西不是看到的就是那樣的。除了一些外形相似的字符,還有包含半角還是全角等小細節的出入。
所以這些信息的轉移不妨直接復制粘貼。不然宕機了自己都不知道什么回事。
一開始我還以為是電腦硬件或者系統的問題,不放棄地不停嘗試,然后就是不停的死機重新啟動。差點重裝系統。
最后抱著試一試的心態。把IE卸載了重裝,然后用httplook重試。居然抓到了,真有一種柳暗花明的感覺。
對于瀏覽器的非常多操作,用IE肯定是沒錯的。由于如今非常多瀏覽器并非使用IE內核的。非常多也僅僅是兼容而已。所以會出現這樣或那樣莫名的錯誤。并且非常多時候你明明依照別人說的操作,可往往會出現跟別人描寫敘述的不一樣的結果,那肯定就是有原因。每個小步驟都可能出現故障。
假設能夠的話從頭到尾分析一下都有哪些步驟,每個步驟都嘗試下能做的試錯方案。最后能解決當然是非常好的,假設嘗試全然部能想到的。搜盡全部資料都不能解決。那僅僅能說是緣分了。。。可是在這個過程。僅僅要你想要完畢,就不能停止嘗試!
!
!一停你就輸了,當然有時候停一下過后再看,可能非常easy就解決,可是不能全然放棄!
那如今就要開始進入抓取信息的部分了,以在我使用的自帶web認證的無線路由上進行過程介紹。
(一)、啟動httplook:點擊綠色箭頭啟動抓取,例如以下圖:
??
(二)、瀏覽器操作:用IE打開路由配置頁面并進行你想要的配置操作,我這里以要加入web認證賬戶為例,例如以下圖:
加入成功后我們能夠在web認證頁面看到剛加入的賬戶:
(三)、httplook獲取配置參數:我們這邊按下綠色箭頭右邊第一個相鄰的紅色button停止抓取,如圖我們能夠看到httplook抓到的相關信息:
能夠看到瀏覽器配置路由的時候是通過訪問用post方法訪問路由的“192.167.1.1//router/l7_web_auth_user_set .cgi”配置文件,并將例如以下參數post過去“action=0&enable=1&user=0&pass=0&name=&policy_group_id=&charge_mode=0&adv_type=0&auth_user_bind_mac_mode=0&auth_user_bind_mac=&count=1&idle_cut=1&auth_user_static_ip=&id=&deal=add”,當中我們注意到“user=0&pass=0”就是我們剛才設置加入賬戶所填寫的賬戶名與password。
(四)、curl命令行運行:完畢抓取后就須要用curl工具進行命令行的調用實現。
通過查詢curl的用法。我們知道其訪問帶username及password頁面時的格式例如以下(就是我們進入路由配置頁面時獲取訪問權限時輸入的username與password)格式為:curl -u 訪問頁面username:password -d “參數” http頁面地址。非常多訪問路由頁面username與password默認是“admin”或“guest” 也能夠自己改動的。本機username與password都是“guest”。使用例如以下:
curl -u guest:guest -d "action=0&enable=1&user=123&pass=123&name=&policy_group_id=&charge_mode=0&adv_type=0&auth_user_bind_mac_mode=0&auth_user_bind_mac=&count=1&idle_cut=1&auth_user_static_ip=&id=&deal=add" http://192.168.1.1/router/l7_web_auth_user_set.cgi通過在命令行執行窗體中執行如上命令,能夠看到例如以下信息,說明配置成功:
此時。再去看路由配置頁面中web賬戶的列表。username與password都為“123”的賬戶被加入了進去。同理。假設想要對其它頁面做相關動作,也能夠採取上述相同的方法進行操作。至此。我們用curl命令運行路由配置的相關操作就完畢了。假設想要對無線Wifi熱點進行控制還能夠將命令寫成“.bat”文件,然后設置系統中的定時任務功能來定時開啟和關閉熱點。假設須要像我上述的批量加入web認證賬戶,也能夠使用其它語言對這個命令進行調用,僅僅要改變其相應的user和pass參數就能夠了。
? ? ?僅僅要瀏覽器能做到的,上述的辦法就能做到。關鍵就是要“抓”。而在我們遇到問題在自己所能接觸的知識庫(包含自己的學識、周圍的牛人資源、網上海量的資料牛人資源)中查詢解決方式的時候。不能出現預定效果的時候,無論你知不知道原因,都要嘗試地去在全部步驟中試錯。甚至到最后你成功解決后還不知道原因,可是這個過程中你不能停止嘗試。
而非常多人能順利進行方案而不會跟你一樣碰到這樣或那樣問題的時候,不要抱怨命運的不公,一件事的出現必然有他的原因。
也許你如今能夠不知道原因。可是不能停止嘗試的步伐。
? ? ?由于一停。你就輸了。至于結果,還要看你自身的各種能力、、、和“緣”!
版權聲明:本文博主原創文章,博客,未經同意不得轉載。
轉載于:https://www.cnblogs.com/mengfanrong/p/4910825.html
總結
以上是生活随笔為你收集整理的你可以不知道原因,但是,我们不能停止努力。httplook抓取路由配置界面信息...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ 3907: 网格( 组合数 +
- 下一篇: C++:友元(非成员友元函数、成员友元函