如何運用命令行實現(xiàn)寬帶路由器配置自動化
歡迎來到學習啦,本文為大家講解使用以太網交換機組網應注意什么,歡迎大家閱讀學習。
現(xiàn)在很多公司和企業(yè)都連接了自己的網絡,特別是對于那些規(guī)模不大,員工不多的小型企業(yè)來說申請高容量的光纖帶寬是沒有必要的,所以使用ADSL成為眾多領導的選擇。整個公司只需要購買一個寬帶路由器然后經過簡單的配置即可完成公司的網絡需求。
但是由于寬帶路由器內部硬件非常簡單,功能不發(fā)達,難以和企業(yè)級路由器或三層交換機相比。因此在管理和限制員工上網方面功能欠缺,特別是在基于時間的管理方面就顯得更加力不從心了。例如公司要求在上班時禁止某些員工的上網,而在休息時間則沒有限制,由于大部分寬帶路由器都沒有基于時間的設置,所以唯一可行的就是在上班前由公司的網絡管理員手動配置寬帶路由器限制員工,在休息時再由他再次設置取消限制。
每天都要反復的登錄和配置寬帶路由器,每次配置都需要通過瀏覽器訪問寬帶路由器的管理界面,操作上非常不方便,而且也在一定程度上加重了網絡管理員的工作。那么有沒有一種方法能夠讓計算機實現(xiàn)自動連接寬帶路由器并在上班前添加限制,在下班后釋放限制呢?
上面那個自動化問題的解決關鍵就是實現(xiàn)命令行下對寬帶路由器的設置,如果能通過一條條命令修改寬帶路由器的參數的話,那么我們完全可以通過批處理文件+計劃任務的辦法來實現(xiàn)修改設置的自動化功能。
在講解如何在命令行下控制寬帶路由器之前我們需要先了解CURL這個工具。在“用命令行玩轉寬帶路由器(上)”中我們主要介紹CURL的使用方法和命令,只有熟悉了CURL的使用才能在“用命令行玩轉寬帶路由器(中,下)”中實現(xiàn)修改寬帶路由器內部參數的自動化功能。
一、什么是CURL:
Curl像HTML一樣是一種文本標記語言,它既是文本又是一種支持多重繼承的面向對象編程語言。Curl不利的一面是:單一的形式破壞了由 HTML, CSS ,Javascript 帶給我們的內容信息、形式和行為的分離。以上是對CURL的專業(yè)性解釋,雖然在LINUX及其他操作系統(tǒng)中CURL應用廣泛,但是在windows操作系統(tǒng)中他的用武之地也逐漸被人們所關注。
如果僅僅從簡單意義上說,那么curl是一個使用URL語法來傳送文件的工具,支持HTTP/HTTPS/FTP/FTPS/DICT/TELNET/LDAP/FILE和GOPHER等協(xié)議,同時他具備比較高的安全性。也就是說我們可以通過curl命令實現(xiàn)對基于HTTP協(xié)議頁面的互動。
CURL命令已經在蘋果機上成為內置的命令行工具之一了,可見其重要性。
二、CURL的簡單使用:
首先我們下載CURL,然后將他解壓縮到任意目錄中,通過桌面“開始->運行->輸入CMD”進入命令行模式,將當前目錄修改為CURL的解壓縮目錄。
小提示:
我們可以通過CD\回到磁盤根目錄,以及使用cd curl進入CURL目錄。
CURL支持很多參數,我們可以通過curl -help來獲得。只需要進到CURL目錄中輸入curl -help后回車。
二、CURL的簡單使用:
首先我們下載CURL,然后將他解壓縮到任意目錄中,通過桌面“開始->運行->輸入CMD”進入命令行模式,將當前目錄修改為CURL的解壓縮目錄。
小提示:
我們可以通過CD\回到磁盤根目錄,以及使用cd curl進入CURL目錄。
CURL支持很多參數,我們可以通過curl -help來獲得。只需要進到CURL目錄中輸入curl -help后回車。
我們這里只為各位讀者介紹幾個用得到的,掌握了這幾個參數就可以在“用命令行玩轉寬帶路由器(下)”中實現(xiàn)修改寬帶路由器內部參數的自動化功能了。
(1)輸出頁面信息參數:
我們在CURL后直接跟頁面地址就可以在命令行模式中顯示相應頁面的源代碼。
curl www.sohu.com
//將把www.sohu.com的頁面全部代碼內容顯示在命令行模式中
如果我們想直接通過CURL命令保存某個頁面全部內容的話命令如下
curl www.sohu.com >softer.htm
//將www.sohu.com這個頁面保存到softer.htm中,這樣在命令行模式當前路徑中就會出現(xiàn)一個新的名為softer.htm的文件,打開他對應的就是www.sohu.com頁面的信息。保存會花費一定的時間,當%列顯示100說明全部完成。
小提示:
實際上不使用>而直接使用CURL的-o參數也可以實現(xiàn)上面的功能,在CURL內置有一個option參數,用curl -o softer.htm http://www.sohu.com也可以將www.sohu.com頁面保存成softer.htm文件。
(3)訪問基于用戶名和密碼驗證的頁面:
如果你要訪問的頁面需要輸入用戶名和密碼來驗證的話,同樣可以通過CURL命令的-u參數解決。比如說我們要訪問http://192.168.1.1這個地址,這個地址的真實內容只有在你輸入了正確的用戶名和密碼之后才能查看。
如果你沒有輸入用戶名和密碼或者輸入的是錯誤的,頁面將會顯示錯誤信息。
這里假設我們的用戶名是admin,密碼是198029,要訪問的頁面地址是http://192.168.1.1,那么完全可以通過CURL實現(xiàn)真實頁面的輸出和保存。
curl -u admin:198029 http://192.168.1.1
//訪問192.168.1.1頁面,當需要用戶密碼驗證的時候輸入用戶名admin,密碼是198029。然后將把通過驗證后的頁面信息顯示在命令行模式中。
(4)基于代理的訪問:
也許有的時候我們訪問某個頁面需要通過代理服務器才行,沒有設置代理服務器直接用curl -o保存的頁面是錯誤的,那么完全可以通過-x參數來實現(xiàn)。
這里假設依然訪問192.168.1.1但是需要使用代理服務器10.91.30.1:8080這個地址才行。CURL命令如下——
curl -x 10.91.30.1:8080 -o softer.html http://192.168.1.1
//通過代理服務器10.91.30.1:8080訪問http://192.168.1.1這個頁面,并將頁面信息保存到softer.html文件中。
(5)修改useragent:
很多時候我們訪問某個站點時都會出現(xiàn)錯誤信息,在這些錯誤信息中有一類是因為使用瀏覽器種類不符造成的。也就是說頁面會讀取訪問者瀏覽器的 useragent信息,如果這個信息不在該頁面授權瀏覽器范圍內則無法訪問。在通過手機+筆記本訪問無線網絡時這種情況最為常見,我們用IE瀏覽器和 MAXTHON等工具都無法瀏覽,只能通過注冊表修改useragent來迷惑對方,實現(xiàn)訪問的目的。當然在命令行curl中也可以使用-A參數來實現(xiàn)。
通過-A參數可以指定你的瀏覽器的種類和版本。例如curl -A "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)" -x http://www.sohu.com。
這樣服務器端接到訪問的要求,會認為你是一個運行在Windows 2000上的IE6.0,其實也許你用的是蘋果機。而-A后跟"Mozilla/4.73 [en] (X11; U; Linux 2.2; 15 i686"則可以告訴對方你是一臺PC,操作系統(tǒng)為Linux,用的是Netscape 4.73瀏覽器。
(6)CURL也能防盜鏈:
服務器端常用的限制方法,就是檢查http訪問的referer。比如你先訪問首頁,再訪問里面所指定的下載頁,這第二次訪問的referer 地址就是第一次訪問成功后的頁面地址。這樣,服務器端只要發(fā)現(xiàn)對下載頁面某次訪問的referer地址不是首頁的地址,就可以斷定那是個盜鏈了。當發(fā)現(xiàn)是盜鏈后我們的訪問就失敗了。
實際上我們可以通過curl給我們提供的設定referer的參數-e來解決這個棘手問題。
curl -e "mail.sohu.com" -o softer.html http://www.sohu.com
//說明我們訪問www.sohu.com是通過在mail.sohu.com頁面上點鏈接完成的。從而繞過了服務器端防盜鏈的限制,將該頁面保存到softer.html文件中。
(7)頁面互動參數:
很多時候服務器頁面都是基于CGI或PHP以及ASP等動態(tài)語言建立的,這樣就加大了訪問者和頁面信息之間的互動性,也就是說不同的用戶名和密碼對應不同的內容。我們如何通過curl實現(xiàn)這種互動呢?
小提示:
說白了我們訪問寬帶路由器的管理界面然后更改各種參數也是一種互動行為,只要我們找到修改的參數和互動的行為,用CURL模擬出這些操作,就可以實現(xiàn)在命令行下管理寬帶路由器的目的,當然具體操作會在“用命令行玩轉寬帶路由器(下)”中為大家介紹。
與HTTP頁面進行互動以及提交表單主要有兩種方式,一是GET操作,另一個是POST操作。
如果你使用GET操作那么什么參數都不用加,直接把變量寫在后面的URL地址中即可。例如curl http://192.168.1.1/login.cgi?user=softer&password=198029,那么訪問http: //192.168.1.1/login.cgi這個頁面時就會將該頁面對應的user和password這兩個參數的信息依次設置為softer和 198029,從而實現(xiàn)登錄功能。
而post模式的參數是-d。使用post模式后上面的GET操作命令就演化成curl -d "user=softer&password=198029" http://192.168.1.1/login.cgi,相當于向這個站點發(fā)出一次登錄請求。到底該用GET模式還是POST模式,就要看服務器端程序的設定了。一般來說我們兩種模式都嘗試下,都會有一個可以行得通。
總結:
CURL的參數還有很多,他的功能也很強大。當然本篇文章介紹的這些參數和指令只是為了幫助我們在“用命令行玩轉寬帶路由器(中,下)”文章中更好的理解CURL命令行的意思,只有掌握了本篇介紹的基本理論和準備知識才能讓我們在命令行下玩寬帶路由器更加自如。
如何運用命令行實現(xiàn)寬帶路由器配置自動化
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)
![](http://lhpay.gzcl999.com/static/doc/images/pc/icon_star.png)