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