毛自民
(商丘職業(yè)技術學院,河南 商丘 476000)
?
利用ASP.Net實現(xiàn)攻防考試系統(tǒng)
毛自民
(商丘職業(yè)技術學院,河南 商丘 476000)
隨著計算機網絡的發(fā)展,攻防系統(tǒng)越來越受到計算機網絡技術專業(yè)的青睞. 然而針對模擬的網絡攻防系統(tǒng)不能滿足要求,筆者設計實現(xiàn)一款適合高職院校計算機網絡技術專業(yè)學生的攻防系統(tǒng).本系統(tǒng)采用ASP.Net編程框架,在VS2012中開發(fā),結合SQL Server2008、JavaScript、html等技術,設計基本滿足攻防系統(tǒng)要求,同時本系統(tǒng)適合學生參加全國類的技能大賽,從而展現(xiàn)計算機網絡類人才的能力.
網絡;ASP.Net;網絡攻防;信息安全
本系統(tǒng)采用目前流行的ASP.Net技術進行開發(fā),采用B/S架構進行開發(fā),開發(fā)環(huán)境采用微軟集成開發(fā)環(huán)境Visual Studio 2012,數(shù)據(jù)庫用SQL Server 2008進行存放攻防考試系統(tǒng)的數(shù)據(jù)信息.ASP.Net是一項功能強大且非常靈活的新技術,主要用于創(chuàng)建編寫動態(tài)Web頁面,它是Microsoft公司的ASP和.Net Framework核心技術的結合..Net Framework是一整套的新技術,Net Framework 提供了一組豐富的接口以及抽象類和具體(非抽象)類. 可以按原樣使用這些具體的類,或者在多數(shù)情況下從這些類派生你自己的類.若要使用接口的功能,既可以創(chuàng)建實現(xiàn)接口的類,也可以從某個實現(xiàn)接口的.NET Framework 類中派生類,讓初學者用起來得心應手,既能方便部署,又能減少后期維護[1]140-141.
依據(jù)網絡攻防考試的特殊性和采用高內聚低耦合原則把本系統(tǒng)設計為三層,分別為最底層的數(shù)據(jù)層、中間層的業(yè)務邏輯層、最高層的表示層. 最底層的數(shù)據(jù)層包括考試的數(shù)據(jù)庫,負責所有題型、學生的相關信息、測試分數(shù)信息等.中間層業(yè)務邏輯層是實現(xiàn)攻防考試系統(tǒng)的學生用戶登錄、學生信息查詢、試題的抽題、答題以及評分等功能[2]272-273.最高層表示層則由.Net頁面、MSSQL組件等組成,負責用戶的交互功能,通過學生客戶端向教師端發(fā)送抽題請求,教師端設置權限并把抽到的題目以可視化的結果呈現(xiàn)給學生端,如圖1所示.

圖1 B/S 系統(tǒng)架構圖
本系統(tǒng)包含以下主要功能模塊:學生登錄、學生題庫、學生答題、攻防沖關、評分模塊和后臺管理[3]215-216,如圖2所示.

圖2 攻防考試系統(tǒng)功能模塊圖
1)用戶登錄模塊主要是用戶的登錄,通過驗證學生的學號和密碼進行登錄,學生的學號是學校教務處部門編排的學號,初始密碼為123456,學生初次登錄成功后系統(tǒng)要求更改密碼并要求填寫郵箱或手機號碼,方便以后密碼丟失后可以通過郵箱或手機號碼找回.
2)用戶題庫模塊主要是存放各種類型的題目供學生抽取,可以按照學習的章節(jié)進行抽取,也可以按照難易程度進行抽取,還可以按進行期中或期末測評抽取.其中章節(jié)抽取是根據(jù)各個項目中的知識點,重、難點設置一些題目,讓學生在學完某項目后進行實習操作.按難易程度或期中、期末抽取是把所有題型打亂進行隨機抽取.各種試題的管理可以通過后臺進行添加、刪除、編輯、查詢等操作.
3)答題模塊主要是讓學生利用網絡在線平臺進行實時答題,可以在宿舍或圖書館,只要能夠上網的地方都可以通過計算機終端或手機進行答題.
4)攻防闖關模塊與學生自己抽題的題型比起來相對較難,是讓掌握知識比較好的同學進行實戰(zhàn)式的闖關模式.其中有些題型是課外的,需要學生自己主動學習課外知識來進行闖關,以此來激發(fā)學生的學習興趣.
5)評分模塊主要是學生進行答題或闖關完成后進行的,主要是檢測學生對本項目章節(jié)或期中、期末所答題型掌握的熟練程度.
6)后臺管理模塊主要是針對教師端對學生的授權和設置題庫設計的.本模塊還可以統(tǒng)計學生的答題速度、熟練程度、掌握程度以及對學生的成績分析等等.
數(shù)據(jù)庫的核心是數(shù)據(jù)表結構的設計,它是數(shù)據(jù)庫應用系統(tǒng)設計的關鍵環(huán)節(jié).本文以系統(tǒng)數(shù)據(jù)庫中學生答題表結構和打分表結構為例來描述用戶數(shù)據(jù)表設計的.其中,主要是對數(shù)據(jù)表結構中的字段和字段類型進行定義說明,一定不要把字段類型設置錯誤,否則會出現(xiàn)結果出錯的情況.見表1、表2.

表1 學生答題數(shù)據(jù)表結構設計(XSDT)
學生答題數(shù)據(jù)表結構的SQL建表語句:
Create table XSDT(
DTBH int(10) primary key not null,
TKBH int(10) not null,
YHBH int(10) not null,
YHDA varchar(255) not null,
BZDA varchar(255) not null,
JCFS int(10) not null,
DTSJ datetime not null,
DFQZ int(10) not null,
YHDF int(10) not null )

表2 評分數(shù)據(jù)表結構設計(DFB)
評分數(shù)據(jù)表結構的SQL建表語句
Create table DFB(
DTBH int(10) primary key not null,
TKBH int(10) not null,
YHBH int(10) not null,
XSZF int(10) not null,
XSDF int(10) not null,
SFTG bit not null,
SCDF int(10) not null )
整個攻防系統(tǒng)主要分學生和教師兩個重要角色.學生角色輸入學號、姓名、密碼登錄系統(tǒng)后,根據(jù)要測試的題型進行隨機抽題,分為理論題目和實操題目,學生做完后根據(jù)學生答題情況,計算出考試成績,并顯示出來.教師角色輸入教工號和正確的密碼后進行后臺管理系統(tǒng),可以對題庫進行添加、刪除、編輯管理,瀏覽學生考試成績,對學生信息的添加、刪除、編輯,設置學生訪問權限和學生考試時間等操作.
對于理論題型通過隨機函數(shù)隨機把理論題分成若干份,然后再從每份中隨機把所抽取的題號放入設定的數(shù)組中,再從題庫數(shù)據(jù)表中提取數(shù)據(jù)返回到Web前端頁面.
在實操題型中,闖關模式共分為10關,等級按關數(shù)大小定論,等級越高題型越難,可以大大提高實操型強的學生的挑戰(zhàn)能力,它是通過記錄學生操作的步驟分步進行評分,最后累計得到最高分[4]89-95.
本設計主要是利用ASP.Net配合Visual Studio 2010和SQL Server2008實現(xiàn)的網絡攻防考試系統(tǒng),通過開發(fā)學生登錄、題庫模塊、答題模塊、攻防闖關、評分模塊和后臺管理6大模塊已基本實現(xiàn)目前計算機網絡技術專業(yè)學生以網絡攻防數(shù)據(jù)庫為基礎、采用頁面交互式攻防實戰(zhàn)的網上攻防考試系統(tǒng).可以實現(xiàn)模擬網絡攻防對抗環(huán)境,進行分布式攻防對抗,攻防效果評估等功能[5]35-40.本系統(tǒng)具有互動、智能、虛擬化的特點,既可在局域網內部署,又可在廣域網內進行考核,部署規(guī)模可大可小,用戶通過后臺管理可自行設置各個參數(shù).
[1] 何冬梅,黃志良.基于web的在線考試系統(tǒng)的設計與實現(xiàn)[J].福建電腦,2008,24(9).
[2] 王福全.基于Ajax技術的網頁更新設計與實現(xiàn)[J].現(xiàn)代商貿工業(yè),2008,20(1).
[3] 彭亮清,吳耀群,陳 瑋.基于.NET的網絡考試系統(tǒng)設計與實現(xiàn)[J].信息與電腦(理論版),2016(10).
[4] 何文濤,張新明.基于微課程的電子課本內容整合及其教育應用[J].中國電化教育,2013(12).
[5] 陳明忠.基于B/S模式的網上考試系統(tǒng)的設計與實現(xiàn)[J].韓山師范學院學報,2012(6).
[責任編輯 冰 竹]
2017-01-16
毛自民(1981- ),男,河南南樂人,商丘職業(yè)技術學院講師,碩士,主要從事網絡攻防研究。
TP311.52
A
1671-8127(2017)03-0095-03