07版-《LINUX及安全》實驗指導書-新版_第1頁
07版-《LINUX及安全》實驗指導書-新版_第2頁
07版-《LINUX及安全》實驗指導書-新版_第3頁
07版-《LINUX及安全》實驗指導書-新版_第4頁
07版-《LINUX及安全》實驗指導書-新版_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《Linux及安全》實驗指導書北京電子科技學院信息安全系

實驗一:Linux系統(tǒng)信息編程:(驗證性)實驗目的proc是Linux下的一個虛擬文件系統(tǒng),通過它,用戶可以訪問各種各樣的內核數據。作為核心態(tài)與用戶態(tài)通訊的主要接口,通過本題目,同學不僅可以理解proc文件系統(tǒng),也會學習到用戶態(tài)與核心態(tài)通信的手段的思想和方法。實驗所涉及知識點C語言,Linux應用程序編制,/proc原理實驗環(huán)境Fedora6或者更新版。文本編輯工具,gcc,gdb。內核源代碼。實驗內容編程一個程序,可以輸出當前系統(tǒng)的內核版本號、CPU型號、主機名、系統(tǒng)時間等信息。實驗步驟1、熟悉/proc文件系統(tǒng)2、編寫程序按實驗要求輸出內容3、寫實驗報告實驗要求1. 掌握使用gcc2. 使用gdb進行調試3. 讀取/proc文件系統(tǒng)的內容4. 掌握Linux文件操作編程接口5.寫出實驗報告,總結實驗中碰到的問題及解決方案??己朔绞筋A習報告占2分,程序源代碼和運行結果占3分,實驗報告規(guī)范性1分(包括實驗目的,實驗步驟,源代碼,實驗中遇到的各種問題及解決辦法,收獲和啟示),實驗總結占4分嚴禁拷貝,抄襲,以答辯方式確定,對程序的結構,作用不清楚,不能做出相近改動者,每次成績不高于3分。在實驗日之前完成實驗者,可以不交預習報告.對每次實驗前幾個完成實驗要求的,可以給滿分.沒有按時完成實驗,以后補交實驗程序和實驗報告的,可以酌情扣除1-3分.10分:實驗準備充分,上機準時,操作熟練,能獨立調試程序,按時完成,報告內容齊全,結果正確。8分:實驗準備良好,上機準時,操作比較熟練,能在教師指導下順利調試程序,按時完成,報告內容比較齊全,結果正確。6分:實驗準備較好,上機準時,操作比較熟練,基本完成實驗任務,報告內容基本齊備,結果基本正確。0-5分:實驗準備不足,上機不準時,不能完成實驗要求者。

實驗二:系統(tǒng)調用擴展實驗(綜合性)實驗目的Linux系統(tǒng)調用是Linux內核與用戶的分界線,是用戶程序進入內核態(tài)的主要渠道,本題目要求學生理解操作系統(tǒng)在處理每個系統(tǒng)調用的時候如何切入核心態(tài),如何返回數據到用戶態(tài)等,通過本題目真正理解操作系統(tǒng)系統(tǒng)內核的實質。實驗所涉及知識點涉及到的基本知識:Linux下的C編程,Linux內核編譯與安裝,Linux應用程序編制,Linux系統(tǒng)調用的概念,C與匯編混合編程。實驗環(huán)境Fedora6或者更新版。文本編輯工具,gcc,gdb。內核源代碼。實驗內容在2.6.x內核中,linux支持兩種系統(tǒng)調用方式,:int/iret和sysenter/sysexit指令分別對應這兩種方式。同學們可以自己根據自己學習和理解的程度來決定選用哪一個方式進入系統(tǒng)調用,也可以兩種方式都進行試驗。實驗步驟1、寫出預習報告。2、下載內核源代碼,并解壓到/usr/src目錄。(附G)3、修改內核文件:添加系統(tǒng)調用服務程序、為新添加的程序配置系統(tǒng)調用號、配置系統(tǒng)調用表(附B)4、編譯內核(附A)5、安裝內核并啟動到新內核。6、查看新增加的系統(tǒng)調用是否已在內核中。如果沒有,重復以上幾步。7、編寫測試程序,調用新添加的系統(tǒng)調用。8、總結實驗中遇到的問題即解決方案,寫出實驗報告。實驗要求1、修改Linux內核,增加Linux系統(tǒng)調用:返回所有進程信息到調用者,返回所有加載模塊到調用者(同學也可自行設計不同功能、難度相當的系統(tǒng)調用服務程序)。2、 編寫調用庫,用C言語接口封裝新增加的Linux系統(tǒng)調用,3、 編寫用戶程序,測試新增加的系統(tǒng)調用功能。4、 寫出實驗報告考核方式預習報告占2分,程序源代碼和運行結果占3分,實驗報告規(guī)范性1分(包括實驗目的,實驗步驟,源代碼,實驗中遇到的各種問題及解決辦法,收獲和啟示),實驗總結占4分嚴禁拷貝,抄襲,以答辯方式確定,對程序的結構,作用不清楚,不能做出相近改動者,每次成績不高于3分。在實驗日之前完成實驗者,可以不交預習報告.對每次實驗前幾個完成實驗要求的,可以給滿分.沒有按時完成實驗,以后補交實驗程序和實驗報告的,可以酌情扣除1-3分.10分:實驗準備充分,上機準時,操作熟練,能獨立調試程序,按時完成,報告內容齊全,結果正確。8分:實驗準備良好,上機準時,操作比較熟練,能在教師指導下順利調試程序,按時完成,報告內容比較齊全,結果正確。6分:實驗準備較好,上機準時,操作比較熟練,基本完成實驗任務,報告內容基本齊備,結果基本正確。0-5分:實驗準備不足,上機不準時,不能完成實驗要求者。思考題1、系統(tǒng)調用是否可以動態(tài)調整,在內核運行時指向其他系統(tǒng)調用服務程序?九、附錄鑒于大部分同學對Linux操作不是很熟悉,很容易在一些具體的指令如何使用上,花費太多的精力而影響做實驗的進度。所以提借供本部分內容,作為該實驗中用到的指令及操作的一個參考,以讓同學投入更多的精力到實驗的核心邏輯上。附A:編譯內核配置編譯選項#makeoldconfig編譯與安裝#makebzImage#makemodules#makemodules_install#makeinstall下面簡要介紹關于以上使用到的指令,關于編譯內核的詳細說明請同學自己參閱linux幫助文件或查閱網上信息。配置編譯選項,用來配置置內核功能,通過以下四條指令都可以進行配置:#makeconfig(基于文本的最為傳統(tǒng)的配置界面,不推薦使用)#makemenuconfig(基于文本選單的配置界面,字符終端下推薦使用)#makexconfig(基于圖形窗口模式的配置界面,Xwindow下推薦使用)#makeoldconfig(如果只想在原來內核配置的基礎上修改一些小地方)它們的目的是一樣的,那就是生成一個.config文件這三個命令中,makexconfig的界面最為友好,如果可以使用Xwindow,就用這個好了,這個比較方便,也好設置。但有如果系統(tǒng)的沒有安裝圖形庫,可能不能使用Xwindow,那么就使用makemenuconfig好了。界面雖然比上面一個差點,總比makeconfig的要好多了。選擇相應的配置時,有三種選擇,它們分別代表的含義如下:Y--將該功能編譯進內核N--不將該功能編譯進內核M--將該功能編譯成可以在需要時動態(tài)插入到內核中的模塊這些內容,同學們進行一下實踐操作,自然就會理解。附B:修改內核文件示例添加系統(tǒng)調用服務程序kernel/sys.c新添加的系統(tǒng)調用服務程序,可以位于內核中的任意位置。linux自身的系統(tǒng)調用服務程序也是根據功能,分散在不同的文件中的。以下例子,添加了一個新系統(tǒng)調用服務程序“sys_getprocess”在內核文件kernel/sys.c中,同學們在實際操作中,可以添加到其他文件中,或單獨寫一個文件(需要修改Makefile)。該系統(tǒng)調用服務程序,沒有具體實現內容,只是當被調用時會輸出一行信息,表示自己被調用過了。 修改系統(tǒng)調用號include/asm-i386/unistd.h在linux-2.6.20.3內核中Linux已經定義了320個系統(tǒng)調用,我們新添加一個,_NR_getprocess,共321個,所以將NR_syscalls修改為321。如下圖箭頭所示,即為修改內容。修改系統(tǒng)調用表arch/i386/kernel/syscall_tabls.S將sys_getprocess系統(tǒng)調用服務程序的入口地址,填到系統(tǒng)調用表的第320項上。 附C:封裝與測試 sys_callX宏 syscall(2)庫附D:測試程序示例本測試程序,直接使用API“systcall”,它接收兩個參數,第一個是系統(tǒng)調用號,第二個是傳遞給系統(tǒng)調用的參數,在本例中buf對應sys_getprocess中的輸入參數。附E:使用dmesg進行調試。在調試內核程序輸出調試信息時,人們經常使用到一個和用戶態(tài)printf功能類似的函數printk。不同在于printk的輸出信息一般不能直接顯示在終端設備上,而是輸出到一個系統(tǒng)緩沖區(qū)中。如果想查看printk的輸出,可以使用dmesg指令,它會顯示整個printk緩沖的內容。附F:使用/proc文件系統(tǒng),查看內核符號,以判

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論