【正文】
好、綠色的網(wǎng)絡(luò)學(xué)習(xí)辦公環(huán)境,面對日益猖獗的網(wǎng)絡(luò)攻擊以及非法網(wǎng)站的入侵,采取 Web 訪問監(jiān)控系統(tǒng)予以攔截。 不難發(fā)現(xiàn), OSI 一共有七層,每一層都實(shí)現(xiàn)不同的功能: ( 1)物理層,其主要任務(wù)是在通信信道傳輸 0或 1二進(jìn)制數(shù)據(jù)流這樣的比特流,數(shù)據(jù)的基本單位是比特。會(huì)話層提供的會(huì)話服務(wù)種類包括雙工 (雙向同時(shí) )、半雙工(雙向交替)和單工(單向); ( 6)表示層,規(guī)定應(yīng)用程序或者用戶之間交換數(shù)據(jù)的格式,提供數(shù)據(jù)之間的轉(zhuǎn)換服務(wù),確保傳輸?shù)臄?shù)據(jù)在到達(dá)目的端后不發(fā)生改變。 1983 年 1 月 1 日 ,在因特網(wǎng)的前身( ARPA 網(wǎng))中, TCP/IP 協(xié)議取代了舊的網(wǎng)絡(luò)控制協(xié)議( NCP, Network Control Protocol),從而成為今天的 網(wǎng)絡(luò) 的基石。 ( 1)網(wǎng)絡(luò)接口層,任務(wù)是從物理網(wǎng)絡(luò)接收數(shù)據(jù)幀,提取 IP 數(shù)據(jù)報(bào)給網(wǎng)際層或?qū)⒕W(wǎng)際層的 IP 數(shù)據(jù)報(bào)通過物理網(wǎng)絡(luò)發(fā)送,因?yàn)闆]有具體的網(wǎng)絡(luò)接口層的協(xié)議,從而保證了其靈活性,從而可以在不同物理網(wǎng)絡(luò)適用,如 LAN、 MAN, 嚴(yán)格上它并不是一個(gè)獨(dú)立的層次,僅僅是一個(gè)接口, TCP/IP 并沒有對它定義具體的內(nèi)容; ( 2)網(wǎng)際層,提供一種無連接、不可靠卻又竭盡所能的數(shù)據(jù) 報(bào)傳輸服務(wù),把數(shù)據(jù)在源主機(jī)和目的端主機(jī)之間傳送。兩個(gè)模型各個(gè)層次中的功能也大致相同:網(wǎng)絡(luò)接口層( TCP/IP)對應(yīng) OSI 的物理層和數(shù)據(jù)鏈路層( OSI),網(wǎng)際層( TCP/IP)對應(yīng)網(wǎng)絡(luò)層和傳輸層( OSI),傳輸層( TCP/IP)對應(yīng)對應(yīng)傳輸層( OSI),應(yīng)用層( TCP/IP)對應(yīng)會(huì)話層表示層和應(yīng)用層( OSI)。 TCP/IP 的網(wǎng)際層只有無線連接通信一種模式,但在傳輸層同時(shí)支持無線連接和面向連接的兩種通信模式。當(dāng)它收到這些消息的時(shí)候,就發(fā)送包含上述對象的 HTTP 響應(yīng)消息。 非持久連接的工作過程主要由以下幾個(gè)步驟組成: ( 1) 瀏覽器(客戶端)向 Web 服務(wù)器發(fā)送 TCP 連接建立請求。 步驟( 2)請求行中包含了下列的信息: ( 1)方法,如下圖 所示: 圖 HTTP 請求報(bào) 文 ( 2)統(tǒng)一資源定界符 URL:用于指明要下載的 Web 對象的位置。 IP 協(xié)議只是負(fù)責(zé)將分組發(fā)送到目標(biāo)結(jié)點(diǎn)上,它不能確保是按分組的準(zhǔn)確次序發(fā)送的。表示與 IP 分組對應(yīng)的 IP 協(xié)議版本號(hào)。因?yàn)镮P分組頭長度不是固定不變的,所以分組頭長域是不可或缺的。由于總長度域?yàn)?16 比特,所以 IP 分組最多可以有 65536 個(gè)字節(jié)。在 3 比特中有 1 位被保留,另外兩位中: DF 用于指明 IP分組是否允許分段, MF 用于表明是否有后續(xù)分段。這個(gè)域用來保障IP分組不會(huì)在網(wǎng)絡(luò)出現(xiàn)錯(cuò)誤的時(shí)候發(fā)生無限的傳輸這種現(xiàn)象。 ( 10)分組頭校驗(yàn)和域:長度為 16 比特。用來指明發(fā)送 IP 分組的源主機(jī)的 IP 地址。該域允許在以后的版本中包括在當(dāng)前的設(shè)計(jì)的分組頭中未出現(xiàn)的信息,該域的使用有一些特殊的規(guī)定。 ( 2)套接字 創(chuàng)建函數(shù) socket SOCKET socket (int af , int type , int protocol)。 完成創(chuàng)建套接字之后,接下來就是將套接字和當(dāng)?shù)氐木W(wǎng)絡(luò)接口綁定 , 括號(hào)中 s 是已經(jīng)創(chuàng)建號(hào)的套接字 , 括號(hào)中 name 指的是用來 綁定的通信對象的信息結(jié)構(gòu)體指針,namelen 是 一共有多少個(gè)字符 。 //IP地址 char sin_zero[8]。 調(diào)用成功后, WSAIoctl 函數(shù)返回 0, 否則的話,將返回 INVALID_SOCKET 錯(cuò)誤,應(yīng)用程序可通過 WSAGetLastError 來獲取錯(cuò)誤代碼。在接下來的幾章會(huì)以這幾個(gè)概念作為本文論述的一個(gè)基礎(chǔ),例如網(wǎng)絡(luò)監(jiān)聽模塊 (如何設(shè)置混雜模式 )會(huì)用到數(shù)據(jù)包捕獲的的函數(shù)。要實(shí)現(xiàn)這個(gè)功能,有以下幾個(gè)關(guān)鍵問題需要解決: ( 1) 如何獲得訪問網(wǎng)站的 IP? ( 2) 如何判斷該某個(gè)網(wǎng)址是非法的并予以攔截? 解決方案如下: ( 1)可以通過把網(wǎng)卡設(shè)置為混雜模式,通過捕獲數(shù)據(jù)包來進(jìn)行監(jiān)聽,接著通過TCP/IP 協(xié)議,再從數(shù)據(jù)包中提取對工程有用的信息。硬件成本包括:交換機(jī)、服務(wù)器等,軟件成本主要是黑名單與白名單的數(shù)據(jù)庫,維持系統(tǒng)正常運(yùn)轉(zhuǎn)的資金。 本監(jiān)測系統(tǒng)主要功能是禁止員工或?qū)W生的瀏覽一部分非 法網(wǎng)站,當(dāng)員工或?qū)W生輸入無關(guān)網(wǎng)址時(shí),管理員的服務(wù)器就可以搶在其打開網(wǎng)頁前與其進(jìn)行“握手”,從而達(dá)到了組織其正常訪問的目的,提高了工作或?qū)W習(xí)的效率。 系統(tǒng)需求分析 功能需求 Web 訪問監(jiān)控系統(tǒng)的主要任務(wù)是捕獲通過網(wǎng)卡的數(shù)據(jù)包,并加以分析,并與之前建立的數(shù)據(jù)庫的網(wǎng)址黑名單進(jìn)行匹 配。 圖 網(wǎng)絡(luò)監(jiān)聽模塊用例圖 ( 2) 攔截策略控制模塊 這個(gè)模塊具有很強(qiáng)的自主性,它可以隨時(shí)根據(jù)管理員的需要進(jìn)行開啟或者關(guān)閉。從用戶的角度看 ,就是所要訪問的網(wǎng)頁被攔截了。 IP 包過濾部分的主要作用就 是只保留 HTTP 協(xié)議中的 GET 報(bào)文和 POST 報(bào)文,而把除此之外的數(shù)據(jù)舍棄掉,這樣就可以極大的減少工作量,并且可以加快網(wǎng)址匹配的速度。其用例圖如圖 所示。從用戶的角度看 ,就是所要訪問的網(wǎng)頁被攔截了。等下一次 有人訪問時(shí),攔截服務(wù)器就可以直接組織其正常訪問并彈出管理員預(yù)先設(shè)置好的界面。 性能需求 本文的 Web 監(jiān)測系統(tǒng)需要滿足的性能需求主要有以下若干方面。從而保證整個(gè)局域網(wǎng)的可用性、可生存性。 ( 6)系統(tǒng) 支持即插即用方式,系統(tǒng)的實(shí)施不需要改變原來現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu),簡言之就是安裝這個(gè)系統(tǒng)并不影響網(wǎng)絡(luò)的流暢性性。 ( 4) 數(shù)據(jù)庫維護(hù)人員應(yīng)該實(shí)時(shí)關(guān)注黑名單的更新,做到不漏掉一個(gè)非法網(wǎng)址。 ( 4)該系統(tǒng)的運(yùn)行前提是不影響我單位局域網(wǎng)的正常運(yùn)轉(zhuǎn),更不能造成我單位 局域網(wǎng)新的安全威脅。 (2)將網(wǎng)卡設(shè)置為混雜模式。這個(gè)時(shí)候并不能獲取通過 這個(gè)網(wǎng)卡的數(shù)據(jù)幀 ,對于不是發(fā)送到本機(jī)的數(shù)據(jù)幀,實(shí)行丟棄的方法,從而來減輕網(wǎng)卡的負(fù)擔(dān)。 如果一個(gè)程序只是有一個(gè)或少數(shù)幾個(gè)進(jìn)程完成,處理器一方面要求分析模塊要提取有效信息,進(jìn)行網(wǎng)址匹配。 一個(gè)程序的運(yùn)行可以使用多個(gè)進(jìn)程并發(fā)執(zhí)行。sa, sizeof(sa))。bopt, sizeof(bopt)) 。//混 雜 模式 m_hCapThread = CreateThread(NULL, 0, CaptureThread, this, 0, NULL)。 在這里要介紹“白名單”。攔截方法模塊工作流程如圖 所示。因此只分析關(guān)于 GET 和 POST 的報(bào)文,將這些報(bào)文交給下一個(gè)模塊(網(wǎng)址匹配模塊)。 HTTP 請求報(bào)文格式如圖。 大多數(shù)時(shí)候 ,想要要過濾掉某個(gè)非法網(wǎng)址 ,僅僅需要得到用戶所要訪問的網(wǎng)站域名地 址就可以了 ,不一定要得到具體訪問某一個(gè)特定的文件下的內(nèi)容。另一種是用戶直接輸入了某非法網(wǎng)頁的完整路徑 ,這種情況也需要用戶的具體訪問的文件名。網(wǎng)頁代理的工作過程是這樣的 : 它先是為用戶提供一個(gè)界面 ,大多數(shù)情況下 ,頁面都很簡單 ,僅僅有 1 個(gè)記事本式的文本框 ,瀏覽器把要瀏覽網(wǎng)頁的 URL 地址輸入到這個(gè)文本框中,然后把這個(gè)文本框交給網(wǎng)頁代理的網(wǎng)站。 網(wǎng)址匹配模塊 網(wǎng)址匹配模塊把提取出的 URL 地址與數(shù)據(jù)庫中的 URL 進(jìn)行匹配,如果匹配成功的話,就把這個(gè)匹配結(jié)果告知下一個(gè)模塊,對這個(gè)網(wǎng)址予以攔截。因?yàn)閮?nèi)存中對各個(gè)數(shù)組的訪問都是可以隨機(jī)的,因此可以在 O( 1)時(shí)限內(nèi)完成,哈希算法可以做到提高工作效率的目的。 哈希算法的 C 語言代碼 : int51(ehar*s){ unsignedintx,y: x=0。istrlen(s)。 最大程度的減少重復(fù)幾率 ,要在這個(gè)基礎(chǔ)上做一部分修改 :多次計(jì)算字符串的散列值。 (2)將 URL 以字符為單位循環(huán)左移一位 。 網(wǎng)頁攔截模塊 當(dāng)網(wǎng)址匹配模塊發(fā)現(xiàn)該網(wǎng)址為非法網(wǎng)址時(shí),就將這個(gè)消息告知網(wǎng)頁攔截模塊,并要求它進(jìn)行攔截。但是 web 監(jiān)測系統(tǒng)所要做的工作就是用其網(wǎng)絡(luò)監(jiān)聽模塊和 IP 包分析模塊,提取出 URL 地址時(shí),發(fā)現(xiàn)這個(gè)地址是可疑的,網(wǎng)絡(luò)攔截模塊就要發(fā)揮作用了。 圖 響應(yīng)報(bào)文格式 上圖的第一行稱之為狀態(tài)行。 2xx:代表成功 ,例如 202 代表請求雖然被接受,但是仍未處理。 (2)填寫各 層首部字段 (3)發(fā)送 IP 包 在各層首部字段都填寫完畢后,把他們安裝 TCP/IP 封裝按順序?qū)懙骄彌_層中。flag,sizeof(int)): 接下來調(diào)用 sendto()函數(shù)把已經(jīng)發(fā)送緩沖區(qū)的 IP 包發(fā)送到用戶瀏覽器。 數(shù)據(jù)庫的更新要用到 FTP 技術(shù)。 PASV:采取被動(dòng)的模式。 圖 FTP 工作過程 消息提示模塊 這個(gè)模塊在消息服務(wù)器上運(yùn)行,當(dāng)發(fā)現(xiàn)瀏覽器要訪問非法網(wǎng)站時(shí),網(wǎng)頁攔截模塊把瀏覽器的訪問請求重定向到管理員提前設(shè)置好的網(wǎng)頁上,這個(gè)模塊的作用就是告知用戶,他所要訪問的網(wǎng)頁是不被允許的。而之前的防火墻那種過濾非法網(wǎng)站的方法在如今網(wǎng)民數(shù)量急速上升、網(wǎng)絡(luò)速度要求越來越高的大環(huán)境下顯得有些力不從心。本文重點(diǎn)闡述了 web 訪問監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) ,主要分為網(wǎng)絡(luò)監(jiān)聽模塊、攔截策略模塊、 IP 包過濾和網(wǎng)址匹配等模塊。這篇論文主要的任務(wù)有如下幾個(gè): ( 1)深入了解課題的研究背景以及研究的迫切性。 ( 5)把網(wǎng)卡設(shè)置為混雜模式,獲取經(jīng)過網(wǎng)卡的所有幀。 ( 10)對系統(tǒng)的各個(gè)模塊進(jìn)行的測試。 ( 3) 采取更加有效率的匹配方式,提高系統(tǒng)的工作效率。 in their learning, the teachers in WBDE need to have good understanding of what is happening in distance classes. WCMS collect rich tracking data about the students’ activities, but this data is rarely used by teachers due to its plexity and poor structure. We have developed a Teacher ADVisor (TADV) framework [6] which uses WCMS tracking data to build fuzzy student, group and class models, based on which appropriate advice is generated to facilitators. The TADV mechanism for fuzzy student modeling is presented elsewhere, see [7]. This paper focuses on the use of student, group, and class models to generate appropriate advice to teachers. This paper will briefly introduce TADV (Section 2). We will then outline, in Section 3, the structure of the student, group, and class models, and will describe, in Section 4, how these models are used for advice generation. Section 5 will present a prototype of TADV that was used in an empirical evaluation with real users, results of which will be sketched out in Section 6. Finally, in the conclusions, we will point out the contribution of our work to student modeling and intelligent WCMS. 2 Brief Overview of TADV TADV is a puterbased advice generating framework designed to deliver advice to facilitators in a WBDE environment developed in WCMS platforms. TADV consists of two parts (see ). PARTI represents the conventional structure of a course developed in WCMS. The course designers are responsible for preparing the course material incorporated in the Domain Knowledge Base (DKB). TADV considers the mon way a course is designed with a WCMS, . a course is defined in a hierarchical way and divided into