拿起手術刀 深入剖解路由器的“心臟”技術
ifconfig eth0 192.168.0.101 up
boa-c/home/
修改后重新編譯內核,再下載到硬件板運行.運行uclinux后,不需要配置就可以直接通過IE來訪問http://192.168.0.101,看到你的網頁了。
⑵uclinux下實現動態Web頁面的CGI技術
到目前為止,實現動態Web頁面有4種技術可供選擇:CGI(Common Gateway Interface), ASP(ActiveXServerPage),PHP(PersonalHomePage)和JSP(JavaServerPage).在uclinux下如果要實現動態網頁,只能采用CGI,因此目前uclinux還不支持ASP, PHP等動態Web頁面技術。CGI(通用網關接口)提供Web服務器一個執行外部程序的通道,這種服務端技術使得瀏覽器和服務器之間具有交互性。CGI程序屬于一個外部程序,需要編譯成可執行文件,以便在服務端運行。瀏覽器將用戶輸入的數據送到Web服務器,Web服務器將數據使用STDIN送給CGI程序,在執行CGI程序后,可能會訪問存儲數據的一些文檔,最后使用STDOUT輸出HTML形式的結構文件,經Web服務器送回瀏覽器顯示給用戶。CGI程序可以用任何程序設計語言編寫,如Shell腳本語言、Perl,Fortran, Pascal, C語言等。但目前uclinux不支持Pert, Fortran等語言,而且C語言在平臺無關性上表示不錯,所以我們選擇用C來編寫CGI程序。另外,uClinux也不支持數據庫,所以需要保存的數據只能保存到文件中,CGI查詢數據時也是查詢這些文件,而不是訪問數據庫。
⑶uClinux下動態Web頁面的實現
下面通過一個例子來說明如何實現uClinux下的動態Web頁面技術。此例子的目的是使用戶能夠通過Web頁面內嵌表單提交數據,并能把用戶提交的數據通過Web瀏覽器正確地返回給用戶。實現動態Web頁面的第一步是用HTML語言編寫Web頁及內建表單。編寫Web頁面時,要由ACTION屬性來指定相關的CGI程序,如ACTION=cgi-bin/demo;由MOTHOD屬性來指明所用的提交數據的方法,即MOTHOD=POST(GET)。
實現動態 Web頁面的第二步是用C編寫CGI程序,CGI程序分為以下幾部分:①根據POST方法或GET方法從提交的表單中接收數據;②URL編碼的解碼;③用printf() 函數來產生HTML源代碼,并將經過解碼后的數據正確地返回給瀏覽器。包括demo.c, cgivars.h和cgivars.c三個文件。將編寫好的CGI程序編譯成二進制文件放在cgi-bin/目錄下,CGI程序能被正確地執行,最終CGI程序就可以對上述表單數據的進行處理了。
下面對程序稍加說明。若以GET方法提交數據,表單中的數據被保存在QUERY_STRING環境變量中,通過調用函數getenv(QUERY_STRING)來讀取數據;若以POST方法提交數據,則程序先從CONTENT LENGTH環境量得到數據的字長,然后從標準輸入中讀取相應長度的字符串即可得到提交的數據。數組postinput[i] 中保存的就是從表單中提取的數據。
URL編碼的解碼過程較為復雜,URL編碼的規則下:①變量之間用“”分開;② 變量與其對應值之間用“=”連接;③空格符用“+”代替;④特殊意義的字符用%接相應的十六進制ASCI碼代替。解碼即為編碼的逆過程。在程序中,對于從表單中提取過來的postinput[i]中的數據,當發現字符為“+”時,將它轉換成空格;當發現字符為“”時,意味著個名字2值對的結束,在此處將字符中切成幾個字符串;當再現字符為“=”時,意味著一個名字/值對的名字部分的結束,在此再將名字/值對分開。最后通過調用unescape_url(char *url)子函數將十六進制ASCII碼值表示的特殊字符轉換成相應的ASCII字符。
3、PPPOE撥號實現
PPPOE主要針對ADSL寬帶接入方式,實現用戶的的認證上網方式就是采用這種方式接入。
⑴PPPOE簡介
1998年后期問世的以太網上點對點協議(PPP over Ethernet)技術是由Redback網絡公司、客戶端軟件開發商RouterWare公司以及Worldcom子公司UUNET Technologies公司在IETF RFC制的基礎上聯合開發的。通過把最經濟的局域網技術以太網和點對點協議的可擴展性及管理控制功能結合在一起,網絡服務提供商和電信運營商便可利用可靠和熟悉的技術來加速部署高速互聯網業務。它使服務提供商在通過數字用戶線、電纜調制解調器或無線連接等方式,提供支持多用戶的寬帶接入服務時更加簡便易行.同時該技術亦簡化了最終用戶在動態地選擇這些服務時的操作.
⑵PPPOE實現
實現步驟 :
pppoe的實現有兩種方式,一種是作為一個用戶態的應用程序運行,就是rp-pppoe這個程序;另一種是選擇在kernel ppp里支持pppoe功能,這同時也需要pppd支持pppoe。
具體的細節實現步驟本文不做詳述,有興趣的讀者可以查閱相關的Linux資料進行更深一步的學習研究。
4、基于IPTable過濾式防火墻
網絡防火墻用來保護一個網絡不受來自另一個網絡的攻擊,是網絡安全環節中進行的一個防御步驟。在路由器中配置IPTable過濾式防火墻,可以對IP數據封包進行規則檢查和過濾,保證內網安全。
⑴防火墻概述
防火墻是一套能夠在兩個或兩個以上的網絡之間,明顯區隔出實體線路聯機的軟硬件設備組合。被區隔開來的網絡,可以透過封包轉送技術來相互通訊,透過防火墻的安全管理機制,可以決定哪些數據可以流通,哪些資料無法流通,藉此達到網絡安全保護的目的。
防火墻產品可以概略歸類為硬件式防火墻和軟件式防火墻,但實際上無論是硬件式或軟件式防火墻,它們都需要使用硬件來作為聯機介接,也需要使用軟件來設定安全政策,嚴格說兩者間的差別并不太大。我們只能從使用的硬件與操作系統來加以區分,硬件式防火墻是使用專有的硬件,而軟件式防火墻則使用一般的計算機硬件,硬件式防火墻使用專有的操作系統,而軟件式防火墻則使用一般的操作系統。
防火墻依照其運作方式來分類,可以區分為封包過濾式防火墻(Packet Filter)、應用層網關式防火墻(Application-Level Gateway,也有人把它稱為Proxy防火墻)、電路層網關式防火墻(Circuit-Level Gateway).其中被廣為采用的是封包過濾式防火墻,本文要介紹的iptables防火墻就是屬于這一種。
封包過濾是最早被實作出來的防火墻技術,它是在TCP/IP四層架構下的IP層中運作.封包過濾器的功能主要是檢查通過的每一個IP數據封包,如果其標頭中所含的數據內容符合過濾條件的設定就進行進一步的處理,主要的處理方式包含:放行(accept)、丟棄(drop)或拒絕(reject)。要進行封包過濾,防火墻必須要能分析通過封包的來源IP與目的地IP,,還必須能檢查封包類型、來源端口號與目的端口號、封包流向、封包進入防火墻的網卡接口、TCP的聯機狀態等數據。
評論