萬盛學電腦網

 萬盛學電腦網 >> 路由器知識 >> 路由器簡介 >> 如何運用命令行實現寬帶路由器配置自動化

如何運用命令行實現寬帶路由器配置自動化

  歡迎來到學習啦,本文為大家講解使用以太網交換機組網應注意什麼,歡迎大家閱讀學習。

  現在很多公司和企業都連接了自己的網絡,特別是對於那些規模不大,員工不多的小型企業來說申請高容量的光纖帶寬是沒有必要的,所以使用ADSL成為眾多領導的選擇。整個公司只需要購買一個寬帶路由器然後經過簡單的配置即可完成公司的網絡需求。

  但是由於寬帶路由器內部硬件非常簡單,功能不發達,難以和企業級路由器或三層交換機相比。因此在管理和限制員工上網方面功能欠缺,特別是在基於時間的管理方面就顯得更加力不從心了。例如公司要求在上班時禁止某些員工的上網,而在休息時間則沒有限制,由於大部分寬帶路由器都沒有基於時間的設置,所以唯一可行的就是在上班前由公司的網絡管理員手動配置寬帶路由器限制員工,在休息時再由他再次設置取消限制。

  每天都要反復的登錄和配置寬帶路由器,每次配置都需要通過浏覽器訪問寬帶路由器的管理界面,操作上非常不方便,而且也在一定程度上加重了網絡管理員的工作。那麼有沒有一種方法能夠讓計算機實現自動連接寬帶路由器並在上班前添加限制,在下班後釋放限制呢?

  上面那個自動化問題的解決關鍵就是實現命令行下對寬帶路由器的設置,如果能通過一條條命令修改寬帶路由器的參數的話,那麼我們完全可以通過批處理文件+計劃任務的辦法來實現修改設置的自動化功能。

  在講解如何在命令行下控制寬帶路由器之前我們需要先了解CURL這個工具。在“用命令行玩轉寬帶路由器(上)”中我們主要介紹CURL的使用方法和命令,只有熟悉了CURL的使用才能在“用命令行玩轉寬帶路由器(中,下)”中實現修改寬帶路由器內部參數的自動化功能。

  一、什麼是CURL:

  Curl像HTML一樣是一種文本標記語言,它既是文本又是一種支持多重繼承的面向對象編程語言。Curl不利的一面是:單一的形式破壞了由 HTML, CSS ,Javascript 帶給我們的內容信息、形式和行為的分離。以上是對CURL的專業性解釋,雖然在LINUX及其他操作系統中CURL應用廣泛,但是在windows操作系統中他的用武之地也逐漸被人們所關注。

  如果僅僅從簡單意義上說,那麼curl是一個使用URL語法來傳送文件的工具,支持HTTP/HTTPS/FTP/FTPS/DICT/TELNET/LDAP/FILE和GOPHER等協議,同時他具備比較高的安全性。也就是說我們可以通過curl命令實現對基於HTTP協議頁面的互動。

  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後回車。

  我們這裡只為各位讀者介紹幾個用得到的,掌握了這幾個參數就可以在“用命令行玩轉寬帶路由器(下)”中實現修改寬帶路由器內部參數的自動化功能了。

  (1)輸出頁面信息參數:

  我們在CURL後直接跟頁面地址就可以在命令行模式中顯示相應頁面的源代碼。

  curl www.sohu.com

  //將把www.sohu.com的頁面全部代碼內容顯示在命令行模式中

  如果我們想直接通過CURL命令保存某個頁面全部內容的話命令如下

  curl www.sohu.com >softer.htm

  //將www.sohu.com這個頁面保存到softer.htm中,這樣在命令行模式當前路徑中就會出現一個新的名為softer.htm的文件,打開他對應的就是www.sohu.com頁面的信息。保存會花費一定的時間,當%列顯示100說明全部完成。

  小提示:

  實際上不使用>而直接使用CURL的-o參數也可以實現上面的功能,在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實現真實頁面的輸出和保存。

  curl -u admin:198029 http://192.168.1.1

  //訪問192.168.1.1頁面,當需要用戶密碼驗證的時候輸入用戶名admin,密碼是198029。然後將把通過驗證後的頁面信息顯示在命令行模式中。

  (4)基於代理的訪問:

  也許有的時候我們訪問某個頁面需要通過代理服務器才行,沒有設置代理服務器直接用curl -o保存的頁面是錯誤的,那麼完全可以通過-x參數來實現。

  這裡假設依然訪問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:

  很多時候我們訪問某個站點時都會出現錯誤信息,在這些錯誤信息中有一類是因為使用浏覽器種類不符造成的。也就是說頁面會讀取訪問者浏覽器的 useragent信息,如果這個信息不在該頁面授權浏覽器范圍內則無法訪問。在通過手機+筆記本訪問無線網絡時這種情況最為常見,我們用IE浏覽器和 MAXTHON等工具都無法浏覽,只能通過注冊表修改useragent來迷惑對方,實現訪問的目的。當然在命令行curl中也可以使用-A參數來實現。

  通過-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,操作系統為Linux,用的是Netscape 4.73浏覽器。

  (6)CURL也能防盜鏈:

  服務器端常用的限制方法,就是檢查http訪問的referer。比如你先訪問首頁,再訪問裡面所指定的下載頁,這第二次訪問的referer 地址就是第一次訪問成功後的頁面地址。這樣,服務器端只要發現對下載頁面某次訪問的referer地址不是首頁的地址,就可以斷定那是個盜鏈了。當發現是盜鏈後我們的訪問就失敗了。

  實際上我們可以通過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等動態語言建立的,這樣就加大了訪問者和頁面信息之間的互動性,也就是說不同的用戶名和密碼對應不同的內容。我們如何通過curl實現這種互動呢?

  小提示:

  說白了我們訪問寬帶路由器的管理界面然後更改各種參數也是一種互動行為,只要我們找到修改的參數和互動的行為,用CURL模擬出這些操作,就可以實現在命令行下管理寬帶路由器的目的,當然具體操作會在“用命令行玩轉寬帶路由器(下)”中為大家介紹。

  與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,從而實現登錄功能。

  而post模式的參數是-d。使用post模式後上面的GET操作命令就演化成curl -d "user=softer&password=198029" http://192.168.1.1/login.cgi,相當於向這個站點發出一次登錄請求。到底該用GET模式還是POST模式,就要看服務器端程序的設定了。一般來說我們兩種模式都嘗試下,都會有一個可以行得通。

  總結:

  CURL的參數還有很多,他的功能也很強大。當然本篇文章介紹的這些參數和指令只是為了幫助我們在“用命令行玩轉寬帶路由器(中,下)”文章中更好的理解CURL命令行的意思,只有掌握了本篇介紹的基本理論和准備知識才能讓我們在命令行下玩寬帶路由器更加自如。