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