版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄前言 1第一章 緒論 21.1 研究背景及意義 21.2 家庭網(wǎng)絡(luò)控制概述 31.3 課題的主要工作 31.4 課題的組織結(jié)構(gòu) 4第二章 家庭網(wǎng)絡(luò)控制系統(tǒng) 52.1 家庭網(wǎng)絡(luò) 52.2 家庭網(wǎng)絡(luò)控制 62.3 家庭網(wǎng)絡(luò)控制系統(tǒng) 72.4 本章小結(jié) 8第三章 家庭網(wǎng)絡(luò)控制系統(tǒng)分析與設(shè)計 93.1 網(wǎng)絡(luò)訪問 93.1.1DNS查詢 93.1.2 建立TCP連接 103.1.3 發(fā)送HTTP請求及后續(xù) 113.2 內(nèi)容檢測 113.2.1深度包檢測技術(shù)的背景 113.2.2 深度包檢測技術(shù)的簡介 123.3 系統(tǒng)構(gòu)思 133.3.1干擾域名解析 133.3.2TCP連接重置 133.4 本章小結(jié) 14第四章 家庭網(wǎng)絡(luò)控制系統(tǒng)實現(xiàn) 154.1 開發(fā)環(huán)境 154.1.1Node.js 154.1.2Electron 154.1.3React 164.2 系統(tǒng)實現(xiàn) 164.3 本章小結(jié) 19第五章總結(jié)與展望 215.1 本文總結(jié) 215.2 后續(xù)工作展望 21參考文獻 23致謝 25摘要隨著internet的迅速發(fā)展,家庭網(wǎng)絡(luò)已經(jīng)成為人們?nèi)粘I畹闹匾M成部分。因此,網(wǎng)絡(luò)管理已成為常規(guī)家務(wù)任務(wù)。家庭成員需要配置新的網(wǎng)絡(luò)設(shè)備以將它們連接到網(wǎng)絡(luò),并設(shè)置基礎(chǔ)設(shè)施設(shè)備(例如路由器和無線接入點),以便與他們的互聯(lián)網(wǎng)服務(wù)提供商ISP(InternetServiceProvider)連接以及在家中進行連接。他們必須管理網(wǎng)絡(luò)的安全性,以保護他們的網(wǎng)絡(luò)免受不必要的訪問,有必要的話配置家長控制以限制他們的孩子使用互聯(lián)網(wǎng),并診斷和解決連接問題等等。然而,由于家庭網(wǎng)絡(luò)固有的復(fù)雜性,許多家庭難以從事這種管理工作。因此,家庭網(wǎng)絡(luò)已成為人機交互界日益增長的工作重點。許多研究人員已經(jīng)報告了關(guān)于家庭網(wǎng)絡(luò)用戶體驗的研究結(jié)果。其中包括調(diào)查“早期采用者”家庭網(wǎng)絡(luò)用戶,調(diào)查家庭網(wǎng)絡(luò)復(fù)雜性的來源,調(diào)查建立和維護家庭網(wǎng)絡(luò)的做法,以及調(diào)查家庭對家庭網(wǎng)絡(luò)的看法。所有這些研究都集中在用戶體驗和對家庭網(wǎng)絡(luò)固有特性的看法上。因此,我們希望制作一個簡單的家庭網(wǎng)絡(luò)控制和管理客戶端,來實現(xiàn)以上提到的問題中的一個或者多個。工具盡可能簡單易用,讓不是特別熟悉網(wǎng)絡(luò)管理的家庭成員也能很方便的使用它的功能來達到對家庭網(wǎng)絡(luò)的管理。關(guān)鍵詞:家庭網(wǎng)絡(luò);管理工具;復(fù)雜性;客戶端
AbstractWiththerapiddevelopmentofinternet,thehomenetworkhasbecomeanessentialpartofpeople’sdailylife.Consequently,networkmanagementhasbecomearegularhouseholdtask.HouseholdersneedtoconfigurenewnetworkdevicestoconnectthemtothenetworkandsetupinfrastructuredevicessuchasroutersandwirelessaccesspointsbothforconnectivitywiththeirISP(InternetServiceProvider)andforconnectivitywithinthehome.Theyhavetomanagesecurityinordertoprotecttheirnetworksfromunwantedaccess,potentiallyconfigureparentalcontrolstorestrictInternetusagefortheirchildren,anddiagnoseandtroubleshootconnectivityproblems,tonamebutafew.However,manyhouseholdershavedifficultydoingsuchmanagementjobsduetotheinherentcomplexitiesofthehomenetwork.Thus,homenetworkinghasbecomethefocusofagrowingbodyofworkintheHCIcommunity.Anumberofresearchershavereportedtheresultsofstudiesontheuserexperienceofhomenetworking.Theseincludeaninvestigationof‘earlyadopter’homenetworkusers,aninvestigationintothesourcesofcomplexityinhomenetworking,aninvestigationintothepracticesofbuildingandmaintaininghomenetworks,andaninvestigationofhouseholders’perceptionsoftheirhomenetwork.Allofthesestudiesfocusedonuserexperiencesandperceptionsofinherentcharacteristicsofthehomenetwork.Therefore,wehopetocreateasimplehomenetworkmanagementtooltoachieveoneormoreoftheabove-mentionedissues.Thetoolsareassimpleandeasytouseaspossible,sothatfamilymemberswhoarenotparticularlyfamiliarwithnetworkmanagementcaneasilyuseitsfeaturestomanagehomenetworks.Keywords:Homenetwork;ManagementTools;Complexity;Client前言家庭網(wǎng)絡(luò)控制和管理算是目前計算機網(wǎng)絡(luò)領(lǐng)域比較熱門的研究點?,F(xiàn)在上網(wǎng)用搜索引擎一搜家庭網(wǎng)絡(luò)控制和管理工具,也會出現(xiàn)很多形形色色的軟件。然而網(wǎng)上許多軟件雖然功能看起來很強大,做的也很好看,但是幾乎都沒能滿足用戶的需求。首先,作為一個家庭網(wǎng)絡(luò)控制和管理工具,它必須簡單易用,并且盡可能不出現(xiàn)錯誤,因為許多家庭成員并不能夠熟練使用計算機的各種功能,并且也沒有處理軟件出錯的能力。而市面上許多的軟件雖然看起來都功能非常的多,但是配置起來十分復(fù)雜,還極其容易出錯。其次,家庭網(wǎng)絡(luò)的安全是至關(guān)重要的。而一些所謂的家庭網(wǎng)絡(luò)控制和管理工具,來源不明,其本身的安全性就存在很大問題,甚至存在下載時還有綁定其他垃圾軟件或者惡意程序的可能。這種軟件不用說管理家庭網(wǎng)絡(luò)了,甚至還會對家庭網(wǎng)絡(luò)造成危害。因此,我們需要開發(fā)一個簡單易用,相對安全的網(wǎng)絡(luò)管理軟件,來實現(xiàn)簡單的家庭網(wǎng)絡(luò)控制和管理的需求。
第一章 緒論本章首先介紹了家庭網(wǎng)絡(luò)控制和管理的研究背景和意義,其次簡單介紹家庭網(wǎng)絡(luò)控制和管理系統(tǒng)系統(tǒng)的各個組成部分及其作用,并概述了本文所做的主要工作,在本章的最后介紹了論文的組織結(jié)構(gòu)。1.1 研究背景及意義隨著internet的迅速發(fā)展,現(xiàn)在幾乎每個家庭都有寬帶接入了。寬帶的接入一定程度上可以提高家里人工作、學(xué)習(xí)的效率,但是如果過多的用于娛樂場景,那就會對工作和學(xué)習(xí)產(chǎn)生負面的影響。另一方面,網(wǎng)絡(luò)的發(fā)展以及網(wǎng)絡(luò)接入的普及和低成本化,使得各色各樣的人可以接觸到internet,人們懷著各自不同的目的使用互聯(lián)網(wǎng)。加之互聯(lián)網(wǎng)的使用者有一定的匿名性,因此有些使用者可能會做一些對其他使用者不利的事情。在一個沒有任何管理的網(wǎng)絡(luò)環(huán)境中,一些不是十分熟悉互聯(lián)網(wǎng)使用的人就可能會遇到一些麻煩。比如訪問一些網(wǎng)站之后設(shè)備上被自動安裝了惡意程序甚至是木馬病毒,對用戶設(shè)備上存儲的數(shù)據(jù)產(chǎn)生巨大的安全隱患。還有就是家庭成員花費大量時間在休閑娛樂上面,使得本應(yīng)該完成的工作或者學(xué)習(xí)任務(wù)不能按時完成,嚴重影響工作和學(xué)習(xí)。又或者因為不熟悉計算機的操作,進行了錯誤的操作導(dǎo)致網(wǎng)絡(luò)無法訪問等問題。相對于發(fā)達國家,我們國家還是有很多家庭的家庭成員無法熟練使用計算機的。但是大家又希望體驗到對于他們而言相對先進、新鮮的互聯(lián)網(wǎng),以跟上時代的潮流。在這樣的背景下,現(xiàn)在的家庭亟需一個安全、便捷、能夠提高工作和學(xué)習(xí)效率的網(wǎng)絡(luò)環(huán)境,這是最最基礎(chǔ)的一個需求。圖1.1家庭網(wǎng)絡(luò)系統(tǒng)的結(jié)構(gòu)[1]上圖為家庭網(wǎng)絡(luò)系統(tǒng)可能的一種結(jié)構(gòu)。我們可以想辦法在家庭網(wǎng)關(guān)或者個人電腦端進行軟件的部署,以達到網(wǎng)絡(luò)管理的目的。1.2 家庭網(wǎng)絡(luò)控制概述家庭網(wǎng)絡(luò)控制的范圍很廣,有的還涉及物聯(lián)網(wǎng)。在此,物聯(lián)網(wǎng)方面的先不做討論,僅僅討論連接互聯(lián)網(wǎng)的設(shè)備。我們可以將家庭網(wǎng)絡(luò)控制和管理分為以下四個點:(1)連接配置:此類別包括與配置新網(wǎng)絡(luò)設(shè)備以將其連接到網(wǎng)絡(luò)相關(guān)的任務(wù),以及設(shè)置基礎(chǔ)設(shè)施設(shè)備(如路由器和無線接入點),以便與其互聯(lián)網(wǎng)服務(wù)提供商(ISP)連接以及在家中進行連接。(2)安全和訪問控制:這包括基本的安全功能以保護設(shè)備免受不必要的訪問,以及訪客控制和兒童家長控制。(3)網(wǎng)絡(luò)監(jiān)控:包括整體家庭網(wǎng)絡(luò)的基本監(jiān)控和評估,監(jiān)控特定設(shè)備互聯(lián)網(wǎng)使用情況的能力,以及與互聯(lián)網(wǎng)的整體連接性。(4)故障排除:這包括找出連接問題和低速問題等網(wǎng)絡(luò)問題的功能。1.3 課題的主要工作本文主要探究家庭網(wǎng)絡(luò)控制和管理當(dāng)中的安全和訪問控制以及網(wǎng)絡(luò)監(jiān)控,然后簡單介紹制作一個簡易家庭網(wǎng)絡(luò)控制和管理工具的流程。對于課題提出的最為關(guān)鍵的一個問題,管理計算機網(wǎng)絡(luò),使得某些網(wǎng)站無法被用戶訪問或者在某個時間段無法訪問,以及對使用互聯(lián)網(wǎng)搜索引擎時搜索內(nèi)容的審計,從而發(fā)現(xiàn)用戶經(jīng)常訪問哪種類型的可能過度消耗時間的比如游戲、小說之類的網(wǎng)站或者相關(guān)IP(InternetProtocol)地址,在查閱相關(guān)材料之后,我考慮以下實現(xiàn)這些功能的一個流程。首先,我們要對家庭成員訪問的網(wǎng)絡(luò)做一個記錄,記錄下來用戶訪問了哪些網(wǎng)站,以便之后查看該網(wǎng)站時候適合長時間瀏覽或者這個網(wǎng)站根本就含有有害信息,會危及計算機上數(shù)據(jù)安全和用戶的身心健康。同時,對用戶在搜索引擎搜索某些管理員不愿意讓其搜索的關(guān)鍵字,比如“網(wǎng)絡(luò)游戲”、“玄幻小說”之類的內(nèi)容時,自動過濾這些內(nèi)容,或者讓網(wǎng)頁無法顯示,或者返回一個錯誤信息,這樣用戶就會放棄搜索相關(guān)的內(nèi)容。在知道了家庭成員訪問的網(wǎng)站之后,對其中不希望其以后還要訪問的網(wǎng)站,我們想辦法讓用戶在下次訪問這個網(wǎng)站的時候網(wǎng)頁無法顯示或者返回錯誤信息。這里涉及網(wǎng)絡(luò)監(jiān)控與訪問管理,還有一個就是安全方面的內(nèi)容。比如在收到一封郵件時,發(fā)現(xiàn)有附件,但是不知道其是否帶有有害信息,雖然目前有好多所謂的殺毒軟件可以對文件進行掃描,但好多所謂的殺毒軟件對計算機系統(tǒng)來說本身也是一個負擔(dān),甚至有潛在的危害,還可能對用戶的隱私產(chǎn)生威脅,我們能不裝盡量不裝。這時候,我們要時可以在接收這個附件時,就判斷其是否含有有害信息,就能避免因為接收帶有木馬或者病毒的附件而對計算機產(chǎn)生危害了。以上便是在網(wǎng)絡(luò)的使用過程中,最為基礎(chǔ)的,安全和可控兩個方面,一種簡單的實現(xiàn)方法。本文將基本按照上面所述的方法,探究家庭網(wǎng)絡(luò)中安全和可控兩個方面的技術(shù)實現(xiàn)。以及簡單介紹實現(xiàn)上面某一功能的一個小程序。1.4 課題的組織結(jié)構(gòu)本文共分為五章,各章內(nèi)容安排如下:第一章:緒論。本章介紹了課題的研究背景及意義、家庭網(wǎng)絡(luò)控制和管理的概述、本文的主要工作,最后介紹了本文的組織結(jié)構(gòu)。第二章:本章簡單介紹了家庭網(wǎng)絡(luò)的基本概念,家庭網(wǎng)絡(luò)需要哪些方面的管控,以及家庭網(wǎng)絡(luò)控制系統(tǒng)所需要實現(xiàn)的功能等。第三章:本章主要分析了家庭網(wǎng)絡(luò)控制系統(tǒng)可以從網(wǎng)絡(luò)訪問的哪些環(huán)節(jié)入手,實現(xiàn)對網(wǎng)絡(luò)訪問的控制。另外研究了從這些環(huán)節(jié)入手,有哪些方法可以實現(xiàn)網(wǎng)絡(luò)訪問控制。第四章:本章主要介紹了一個家庭網(wǎng)絡(luò)控制系統(tǒng)。主要介紹這一系統(tǒng)實現(xiàn)的原理,以及介紹這一系統(tǒng)的基本功能。第五章:總結(jié)全文,提出未來工作的設(shè)想與展望。
第二章 家庭網(wǎng)絡(luò)控制系統(tǒng)本章簡單闡述了家庭網(wǎng)絡(luò)、家庭網(wǎng)絡(luò)控制以及家庭網(wǎng)絡(luò)控制系統(tǒng)。2.1 家庭網(wǎng)絡(luò)近年來,互聯(lián)網(wǎng)發(fā)展迅速,家庭網(wǎng)絡(luò)已經(jīng)成為人們?nèi)粘9ぷ骱蜕畹闹匾M成部分。個人電腦和各種數(shù)字家庭例如智能手機和平板電腦等設(shè)備逐漸進入家庭,家庭網(wǎng)絡(luò)的安全以及可靠、高速接入已成為人們?nèi)找骊P(guān)注的話題。由于這個原因,網(wǎng)絡(luò)管理已然成為有網(wǎng)絡(luò)接入的家庭的日常任務(wù)。家庭的成員需要對新的網(wǎng)絡(luò)設(shè)備進行設(shè)置以達到讓它們接入家庭網(wǎng)絡(luò)的目的,并且還需要設(shè)置基礎(chǔ)的設(shè)施和設(shè)備(例如,路由器和無線接入點等),來使得家庭網(wǎng)絡(luò)與家庭所選擇的互聯(lián)網(wǎng)服務(wù)提供商的網(wǎng)絡(luò)進行連接。這樣一來,這些家庭中的網(wǎng)絡(luò)設(shè)備才能訪問互聯(lián)網(wǎng)上的資源。然而,要無障礙的、順利的使用這些連接網(wǎng)絡(luò)的設(shè)備來訪問互聯(lián)網(wǎng)上的資源,家庭成員必須確保他們訪問的網(wǎng)絡(luò)的安全性,以確保他們訪問網(wǎng)絡(luò)的過程是安全的,比如免受不必要的訪問、防止隱私的泄露等等。有孩子的家庭可能希望通過配置家長控制以限制他們的孩子使用互聯(lián)網(wǎng),避免孩子訪問一些不利于他們健康成長的內(nèi)容。當(dāng)家庭網(wǎng)絡(luò)出現(xiàn)問題的時候,家庭成員需要診斷網(wǎng)絡(luò)哪方面發(fā)生了故障,或者是需要解決連接的問題等等。盡管企業(yè)網(wǎng)絡(luò)中使用的一些傳統(tǒng)的局域網(wǎng)技術(shù)也可以用于家庭網(wǎng)絡(luò),但家庭網(wǎng)絡(luò)仍然面臨許多企業(yè)網(wǎng)絡(luò)中沒有的設(shè)計和技術(shù)難題。例如,用戶所使用的網(wǎng)絡(luò)技術(shù)必須經(jīng)濟實惠,家庭網(wǎng)絡(luò)控制系統(tǒng)必須易于安裝和使用,并且不需要太多的維護知識;不得使用房屋的內(nèi)部布線,即家庭在入住房屋后不得損壞房屋的裝修環(huán)境;家庭網(wǎng)絡(luò)不應(yīng)有專業(yè)的的網(wǎng)絡(luò)管理員,如大型公司網(wǎng)絡(luò)需要專門的網(wǎng)絡(luò)管理員等等。由此可見,家庭網(wǎng)絡(luò)有著固有的復(fù)雜性,許多家庭的成員僅僅希望享受網(wǎng)絡(luò)帶來的便捷和其他方式無法提供的娛樂性,而并不具備專業(yè)的的網(wǎng)絡(luò)管理方面的知識,因而難以從事這種管理工作。因此,家庭網(wǎng)絡(luò)的管理和控制已然成為人機交互界日益增長的工作重點,研究家庭網(wǎng)絡(luò)系統(tǒng)并探索其組成模型具有重要的現(xiàn)實意義和商業(yè)價值[2]。不少研究人員已經(jīng)提出了關(guān)于家庭網(wǎng)絡(luò)中用戶體驗的研究報告。這其中包含了調(diào)查早期使用家庭網(wǎng)絡(luò)的用戶,調(diào)查了家庭網(wǎng)絡(luò)控制和管理的復(fù)雜性的來源,調(diào)查了建立家庭網(wǎng)絡(luò)以及維護家庭網(wǎng)絡(luò)過程中家庭成員采取的方案,以及調(diào)查家庭成員對家庭網(wǎng)絡(luò)的看法。所有這些調(diào)查研究,都集中在家庭成員對家庭網(wǎng)絡(luò)的體驗以及對家庭網(wǎng)絡(luò)固有的特性的看法上。為此,我們希望首先探討家庭網(wǎng)絡(luò)控制的幾個方面,了解家庭網(wǎng)絡(luò)控制需要控制和管理哪些方面的問題,然后實現(xiàn)一個簡單的家庭網(wǎng)絡(luò)控制和管理的客戶端,來解決以上提到的一個或者多個問題。工具盡可能簡單易用,能夠讓一點都不熟悉網(wǎng)絡(luò)技術(shù)的家庭成員也可以很方便的使用它的功能來達到對家庭網(wǎng)絡(luò)的控制和管理。2.2 家庭網(wǎng)絡(luò)控制簡單的家庭網(wǎng)絡(luò)控制和管理包括以下四個方面的內(nèi)容:連接配置、安全和訪問控制、網(wǎng)絡(luò)監(jiān)控、故障排除[3]。對于家庭網(wǎng)絡(luò)控制以上幾個方面的容,大多數(shù)家庭都采用極其簡單的方法來實現(xiàn),然而效率卻非常低。經(jīng)過我詢問同學(xué)和身邊的朋友,發(fā)現(xiàn)他們大多使用這些方法來解決以上的問題。關(guān)于連接和配置,不少人都依賴其路由器的固件接口和內(nèi)置于其計算設(shè)備操作系統(tǒng)中的工具,例如DLINK路由器接口以及Windows或Mac網(wǎng)絡(luò)連接向?qū)?。他們主要使用路由器進行無線網(wǎng)絡(luò)設(shè)置和地址分配,而他們使用內(nèi)置于操作系統(tǒng)中的工具將他們的計算設(shè)備添加到網(wǎng)絡(luò)中。他們使用操作系統(tǒng)或者路由器的內(nèi)置工具的一個主要原因是他們不需要自己安裝其他軟件。然而,他們提到這些工具,特別是路由器中的工具,提供了太多沒有被使用的低級網(wǎng)絡(luò)配置選項來進行配置(例如,DHCP地址更改選項僅僅被少數(shù)用戶所知道并且僅供少數(shù)用戶使用),以及對使用的術(shù)語不熟悉。這些即使是專業(yè)用戶,完成起來也具有較高的難度。關(guān)于安全和訪問控制,許多同學(xué)都是使用類似360之類的防病毒軟件,他們主要使用這些工具來保護電腦免受外部攻擊和不必要的訪問。比如當(dāng)他們下載了一個文件,這類防病毒軟件會檢查文件的內(nèi)容,與它們的特征庫進行對比,判斷這些文件是否存在會危害計算機系統(tǒng)的內(nèi)容。還有一部分使用操作系統(tǒng)自帶的防火墻或者網(wǎng)絡(luò)工具。然而訪問控制極少有用到的。通常在有兒童的家庭會有這方面的需求。據(jù)我了解有些家長甚至使用了“物理”方式的網(wǎng)絡(luò)控制,他們在孩子上網(wǎng)的時候陪在孩子身邊,這樣就知道孩子訪問了什么網(wǎng)站以及他們訪問的內(nèi)容了。關(guān)于網(wǎng)絡(luò)監(jiān)控,有些同學(xué)在家中也是使用操作系統(tǒng)或者路由器自帶的工具進行的。不過大多數(shù)都是通過使用網(wǎng)絡(luò)上的應(yīng)用程序提供的信息檢查其各個設(shè)備的網(wǎng)絡(luò)速度。還有的直接使用搜索引擎搜索到的測試網(wǎng)速的網(wǎng)站來進行設(shè)備網(wǎng)絡(luò)速度的測試。但是,大多數(shù)非專業(yè)用戶以前從未檢查過整個網(wǎng)絡(luò)狀態(tài)和速度,因為他們不知道如何這樣做。上面的工具通常允許他們檢查單個計算機的狀態(tài)和速度。因此,他們抱怨說,沒有明確的方法來監(jiān)控整個網(wǎng)絡(luò)性能或檢測網(wǎng)絡(luò)速度瓶頸來自哪里。他們表示希望通過一種簡單的方式一眼就能看到整個網(wǎng)絡(luò)正在發(fā)生的事情。關(guān)于故障排除,一些對于網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)技術(shù)不是很熟悉的朋友,往往采用非常簡單的物理行為,比如重置路由器,重啟電腦,或者拔了路由器的電源再重新插上。如果發(fā)現(xiàn)還是沒用,他們會選擇給網(wǎng)絡(luò)運營商打電話,讓他們的技術(shù)人員過來排查錯誤。或者請教其他懂計算機網(wǎng)絡(luò)的朋友或者家人。盡管許多用戶使用內(nèi)置在操作系統(tǒng)中的工具,但他們抱怨說,用這些工具乍一看很難發(fā)現(xiàn)是什么原因造成了問題。一位對網(wǎng)絡(luò)不是很了解的朋友表示希望能夠輕松排除故障,他說:“我只想獲得有關(guān)網(wǎng)絡(luò)的問題和簡單、直接的解決方案?!彼谕玫揭粋€簡單的信息,例如“您的路由器已關(guān)閉”,而不是需要遵循的多個步驟來診斷網(wǎng)絡(luò)問題。2.3 家庭網(wǎng)絡(luò)控制系統(tǒng)現(xiàn)有的一些網(wǎng)絡(luò)控制的方案,存在著很大的問題,主要在于這些工具難以理解和使用。許多非專業(yè)用戶強調(diào)了這一點:“(要使用這些工具)必須具備技術(shù)知識。如果你不這樣做,你必須花很多時間來學(xué)習(xí)它?!艾F(xiàn)有的工具,尤其是內(nèi)置于操作系統(tǒng)和路由器中的工具,需要用戶擁有精密的技術(shù)知識。然而據(jù)我了解,許多普通的用戶并沒有如此復(fù)雜的網(wǎng)絡(luò)技術(shù)知識。例如,有相當(dāng)多的用戶不明白諸如什么IP地址等基本概念(更不用說MAC地址)。他們中的許多人也不了解無線網(wǎng)絡(luò)加密,也不知道它是如何工作的。還有些朋友提到,這些工具不必要地暴露了太多他們既不想知道也不想理解的低級技術(shù)選項。例如,除極少數(shù)用戶之外的大多數(shù)用戶不理解(也不想理解)諸如路由器提供的DHCP參數(shù)(例如,客戶端設(shè)備的IP地址范圍)的設(shè)置。有個朋友指出,這些工具中的無線安全選項太多,無論他是否愿意,他都得看著它們并選擇一個。然而他并不關(guān)心存在哪種無線安全選項,而只關(guān)心他的家庭網(wǎng)絡(luò)是否安全??偠灾?,大家在他們的陳述中強烈表達了他們想要易于理解和易于使用的工具的愿望,例如:“工具中的所有內(nèi)容都應(yīng)該易于查看,理解和使用”和“讓家庭網(wǎng)絡(luò)(工具)更容易,讓受教育程度較低的人更容易使用網(wǎng)絡(luò)技術(shù)?!斑@些言論確認了了家庭網(wǎng)絡(luò)管理工具的必要性,該工具必須很容易用于這種家庭網(wǎng)絡(luò)用戶,而不需要太多的底層技術(shù)網(wǎng)絡(luò)知識。然而事實上大家難以找到這樣的工具。許多用戶也經(jīng)常提到這一點。他們抱怨說,他們不知道他們需要運行哪些工具或如何獲得這些工具來執(zhí)行特定的任務(wù)。由于工具通常支持網(wǎng)絡(luò)管理的某些方面,用戶必須針對不同的管理任務(wù)運行不同的工具。一些用戶解決了進入內(nèi)置路由器工具的可用性問題。要獲得內(nèi)置于路由器中的工具,用戶通常必須知道瀏覽器上路由器的IP地址,這是許多用戶不熟悉的。而且,不同的路由器有不同的默認IP地址。例如,Linksys路由器通常使用作為其默認IP地址,而DLINK路由器使用。工具可訪問性的問題表明,向用戶提供一次性支持所有網(wǎng)絡(luò)管理任務(wù)的一體化網(wǎng)絡(luò)管理工具是一件好事,這種工具可以被普通用戶輕松訪問。還有一些人提到的問題在于,對于不同的廠商生產(chǎn)的設(shè)備沒有統(tǒng)一的用戶界面,同樣的,不同的操作系統(tǒng)也存在這樣的問題。他們?nèi)鄙僖环N可以一體化控制網(wǎng)絡(luò)的東西。對于這些工具,他們還缺乏易于讀懂的用戶手冊。往往這些工具的用戶手冊都含有太多的專業(yè)技術(shù)詞匯,當(dāng)我們閱讀它們時,有時甚至還要上網(wǎng)去查那些專業(yè)詞匯,這樣十分不方便。綜合以上的考量,我們要設(shè)計一個簡單易用的網(wǎng)絡(luò)管理工具,來達到網(wǎng)絡(luò)控制和管理的目的。這個工具必須不能含有太多的專業(yè)性的東西,即使有一些常人不太能接觸到的內(nèi)容,也要通過簡單教學(xué)就能學(xué)會的。以及不能含有太多復(fù)雜的功能,功能需要專一,最好還能跨平臺使用,因為有的用戶使用Windows操作系統(tǒng),有的用戶使用Mac操作系統(tǒng)。2.4 本章小結(jié)本章主要描述了家庭網(wǎng)絡(luò)面臨的主要問題,通過詢問身邊的朋友和同學(xué)了解他們在家庭網(wǎng)絡(luò)控制和管理方面遇到了什么困境,以及他們希望用什么樣的方式來解決這類問題。然后通過他們說的話,提出設(shè)計家庭網(wǎng)絡(luò)控制系統(tǒng)的一些特性:界面必須簡潔,不存在特別技術(shù)性的操作,一般非專業(yè)用戶也要易于上手,最好還能跨平臺運行。
第三章 家庭網(wǎng)絡(luò)控制系統(tǒng)分析與設(shè)計本章簡單闡述了家庭網(wǎng)絡(luò)控制系統(tǒng)可以在網(wǎng)絡(luò)訪問的哪些過程入手,進行網(wǎng)絡(luò)訪問控制。以及有哪些技術(shù)可以用在實現(xiàn)網(wǎng)絡(luò)訪問控制這一環(huán)節(jié)。這些對之后所要實現(xiàn)的網(wǎng)絡(luò)訪問控制工具有非常重要的鋪墊作用。3.1 網(wǎng)絡(luò)訪問3.1.1DNS查詢域名系統(tǒng)(DNS)是互聯(lián)網(wǎng)的核心部分,任何連接到互聯(lián)網(wǎng)的東西包括筆記本電腦,平板電腦,手機,網(wǎng)站等都有一個由數(shù)字組成的互聯(lián)網(wǎng)協(xié)議(IP)地址[4]。比如一個我們經(jīng)常訪問的網(wǎng)站可能有一個像33這樣的IP地址,但這顯然不容易記住。然而,像這樣的域名是大家都比較容易記住。DNS使域名與IP地址同步,使人們可以使用令人難忘的域名,而互聯(lián)網(wǎng)上的計算機可以使用IP地址。DNS本質(zhì)上充當(dāng)分布式數(shù)據(jù)庫,它使用需要名稱解析的客戶端(將主機名映射到IP地址)和維護DNS數(shù)據(jù)的服務(wù)器之間的客戶端/服務(wù)器關(guān)系。這種分布式數(shù)據(jù)庫結(jié)構(gòu)使DNS名稱空間既是動態(tài)的,又是分散的,使本地域可以控制自己的DNS數(shù)據(jù)庫部分,同時還可以讓任何客戶端訪問數(shù)據(jù)庫的任何部分。DNS查找的簡單過程如下:(1)瀏覽器會緩存DNS一段時間,當(dāng)我們發(fā)起請求,瀏覽器首先在緩存中進行查詢。如果這個映射關(guān)系存在,就直接調(diào)用。(2)緩存中假如沒有我們要訪問的網(wǎng)站的DNS記錄,瀏覽器進而向操作系統(tǒng)請求服務(wù)器的IP地址。(3)操作系統(tǒng)首先檢查本地hosts文件中是否有這個網(wǎng)站網(wǎng)址和對應(yīng)IP地址的映射關(guān)系,如果存在這樣的映射關(guān)系,就直接調(diào)用。(4)如果hosts文件中不存在相關(guān)域名的映射,操作系統(tǒng)緩存中也不存在這樣的映射關(guān)系,系統(tǒng)就向網(wǎng)絡(luò)上的服務(wù)器請求這樣一個映射(5)請求的DNS服務(wù)器通常由internet服務(wù)提供商(ISP)管理。ISP的DNS服務(wù)器就是我們從DHCP(DynamicHostConfigurationProtocol,動態(tài)主機配置協(xié)議)獲得的網(wǎng)絡(luò)配置的一部分[5]。這些服務(wù)器駐留在ISP的數(shù)據(jù)中心,它們按如下方式處理請求[6]:首先如果它的數(shù)據(jù)庫中包含域名和IP地址的映射,它將自行解析。如果它的數(shù)據(jù)庫中沒有域名和IP地址的映射,它會聯(lián)系internet上的另一臺DNS服務(wù)器。這個過程可能會被執(zhí)行多次。如果必須聯(lián)系另一臺DNS服務(wù)器,它會在有限的時間內(nèi)緩存查找結(jié)果,以便快速解析對相同域名的后續(xù)請求。如果在合理搜索后沒有找到域名,它會返回一個錯誤,指出名稱無效或不存在。3.1.2 建立TCP連接傳輸控制協(xié)議(TCP)是internet協(xié)議套件的主要協(xié)議之一。它起源于最初的網(wǎng)絡(luò)實現(xiàn),它補充了互聯(lián)網(wǎng)協(xié)議(IP)。因此,整個套件通常被稱為TCP/IP[7]。TCP連接的建立使用三次握手。在客戶端嘗試連接服務(wù)器之前,服務(wù)器必須首先綁定到端口并在端口上偵聽才能將其打開以進行連接:這稱為被動打開。要建立連接,會發(fā)生三路(或三步)握手[8]:(1)SYN:主動打開由客戶端向服務(wù)器發(fā)送SYN請求報文段??蛻舳藢⒍蔚男蛄刑栐O(shè)置為隨機值A(chǔ).(2)SYN-ACK:服務(wù)器回復(fù)SYN-ACK來響應(yīng)。確認號碼設(shè)置為比接收到的序列號碼多1即(A+1),并且服務(wù)器為該分組選擇的序列號碼是另一個隨機數(shù)字B.(3)ACK:最后,客戶端將ACK發(fā)送回服務(wù)器。序列號被設(shè)置為接收到的確認值即A+1,并且確認號被設(shè)置為比接收到的序列號多1即(B+1)。此時,客戶端和服務(wù)器都已收到連接確認。步驟1,2建立一個方向的連接參數(shù)(序列號)并進行確認。步驟2,3建立另一方向的連接參數(shù)(序列號)并進行確認。通過這些,建立了全雙工通信。連接終止階段使用四次握手,連接的每一側(cè)都是獨立終止的。當(dāng)一個端點希望停止其一半的連接時,它發(fā)送一個FIN數(shù)據(jù)包,另一端用ACK來確認[9]。因此,典型的拆分需要來自每個TCP端點的一對FIN和ACK段。在兩個FIN/ACK交換結(jié)束之后,發(fā)送第一個FIN的一方在收到一個FIN之前等待一個超時,最后關(guān)閉連接,在此期間本地端口不可用于新的連接;這可以防止由于在后續(xù)連接期間傳遞延遲的分組而導(dǎo)致混淆。連接可以是“半開放”的,在這種情況下,一方已經(jīng)終止了連接,但另一方?jīng)]有終止。已終止的一方不能再向連接發(fā)送任何數(shù)據(jù),但另一方可以。終端方應(yīng)繼續(xù)讀取數(shù)據(jù),直到另一方終止。兩臺主機都可以同時發(fā)送FIN,然后雙方都必須進行ACK。這可能被認為是雙向握手,因為FIN/ACK序列在兩個方向上并行完成。某些主機TCP堆??赡軙?zhí)行半雙工關(guān)閉序列,如Linux或HP-UX所做的那樣。如果這樣的主機主動關(guān)閉連接,但仍未讀取從鏈路已經(jīng)收到的所有入站數(shù)據(jù),則該主機將發(fā)送RST而不是FIN(RFC1122中的第3節(jié))。這允許TCP應(yīng)用程序確定遠程應(yīng)用程序已經(jīng)讀取了前者發(fā)送的所有數(shù)據(jù)——當(dāng)它主動關(guān)閉連接時,從遠程端等待FIN。但是,遠程TCP堆棧無法區(qū)分連接中止RST和此數(shù)據(jù)丟失RST[10]。兩者都會導(dǎo)致遠程堆棧丟棄收到的所有數(shù)據(jù)。3.1.3 發(fā)送HTTP請求及后續(xù)(1)當(dāng)建立TCP連接之后,瀏覽器通過TCP連接發(fā)送HTTP請求;(2)瀏覽器接收到HTTP響應(yīng)并可能關(guān)閉TCP連接,或?qū)⑵渲匦掠糜谄渌埱?;?)瀏覽器檢查響應(yīng)并返回相應(yīng)的結(jié)果狀態(tài)碼[11];(4)如果可緩存,則響應(yīng)存儲在緩存中;(5)瀏覽器解碼響應(yīng)(例如,如果它被解壓縮);(6)瀏覽器確定如何處理響應(yīng)(例如,它是HTML頁面,是圖像,是聲音剪輯嗎?);(7)瀏覽器呈現(xiàn)響應(yīng),或為無法識別的類型提供下載對話框。3.2 內(nèi)容檢測3.2.1深度包檢測技術(shù)的背景近年來,許多攻擊已經(jīng)從網(wǎng)絡(luò)級別轉(zhuǎn)移到應(yīng)用級別。由于防火墻有效阻止了為網(wǎng)絡(luò)利用而開放的多個端口,因此新攻擊的研究集中在通常通過大多數(shù)防火墻安全策略開放的應(yīng)用程序中,它們重點關(guān)注諸如超文本傳輸??協(xié)議(HTTP),簡單郵件傳輸協(xié)議(SMTP),數(shù)據(jù)庫訪問協(xié)議等。此外,HTTP已成為許多新軟件開發(fā)技術(shù)的最重要途徑之一,旨在使新Web應(yīng)用程序的交付更加容易并充滿先前無法提供的豐富新功能[12]。HTTP和上述其他協(xié)議的大量使用迫使大多數(shù)網(wǎng)絡(luò)和安全管理員在其防火墻中創(chuàng)建特定規(guī)則,以允許以幾乎不受限制的方式進行這些類型的通信。例如即時消息或互聯(lián)網(wǎng)電話之類的應(yīng)用程序的幾個軟件開發(fā)者已經(jīng)將它們用于使用這些開放式通信信道,以避免組織強制執(zhí)行的限制和控制。有些公司甚至通過記住端口掃描器的方法,即歷史上用于網(wǎng)絡(luò)和主機安全評估和入侵的工具,來調(diào)整其代碼,以搜索和使用防火墻中的任何開放端口。網(wǎng)絡(luò)訪問控制需要變得更細化,超越了大多數(shù)技術(shù)提供的基本功能。重點不在于阻止或不阻止HTTP端口,而是保證此開放端口僅用于特定類型的授權(quán)HTTP通信[13]。這包括防范諸如以下事情:(1)未經(jīng)授權(quán)下載移動代碼,如ActiveX控件和Java小程序(2)針對Web站點的應(yīng)用程序級別攻擊(3)惡意軟件通過授權(quán)協(xié)議傳播(4)未經(jīng)允許使用對等網(wǎng)絡(luò)(Peer-to-Peer,簡稱P2P)、訪問網(wǎng)站、使用流媒體(5)未授權(quán)的應(yīng)用程序使用授權(quán)的開放端口(6)可以表征攻擊的具體行為因此,如何深度感知互聯(lián)網(wǎng)/移動互聯(lián)網(wǎng)業(yè)務(wù),防范諸如上面提到的這些問題,逐漸成為研究的熱點,深度包檢測技術(shù)就在這樣的環(huán)境中逐漸成熟起來。3.2.2 深度包檢測技術(shù)的簡介深度數(shù)據(jù)包檢測(DPI)是一種過濾方式,用于檢查通過網(wǎng)絡(luò)從一臺計算機發(fā)送到另一臺計算機的數(shù)據(jù)包。DPI是檢查和管理網(wǎng)絡(luò)流量的先進方法,它在開放系統(tǒng)互連(OSI)參考模型的第七層(應(yīng)用層)上運行[14]。DPI的有效使用使其用戶能夠追蹤、識別、分類、重新路由或阻止具有不良代碼或數(shù)據(jù)的數(shù)據(jù)包進行傳輸。DPI通常比典型的數(shù)據(jù)包過濾更有效,后者僅檢查數(shù)據(jù)包標(biāo)頭。DPI還會在檢查點檢查數(shù)據(jù)包的數(shù)據(jù)部分(有時是數(shù)據(jù)包標(biāo)頭),試圖找到協(xié)議不合規(guī)性、入侵、垃圾郵件、病毒或其他預(yù)定義因素,以確定數(shù)據(jù)包是否可以通過或者是否必須指向另一個位置。深度數(shù)據(jù)包檢測可以檢查消息的內(nèi)容并識別發(fā)送它的服務(wù)或者應(yīng)用程序[15]。另外,深度包檢測可以對過濾器進行編程,以查找和重新路由來自特定互聯(lián)網(wǎng)協(xié)議(IP)地址范圍或網(wǎng)易云音樂等特定在線服務(wù)的網(wǎng)絡(luò)流量。3.3 系統(tǒng)構(gòu)思3.3.1干擾域名解析域名系統(tǒng)是一項互聯(lián)網(wǎng)服務(wù)。當(dāng)人們想要從瀏覽器訪問某個域名的時候:(1)瀏覽器會緩存DNS一段時間,當(dāng)我們發(fā)起請求,瀏覽器首先在緩存中進行查詢。如果這個映射關(guān)系存在,就直接調(diào)用。(2)緩存中假如沒有我們要訪問的網(wǎng)站的DNS記錄,瀏覽器進而向操作系統(tǒng)請求服務(wù)器的IP地址。(3)操作系統(tǒng)首先檢查本地hosts文件中是否有這個網(wǎng)站網(wǎng)址和對應(yīng)IP地址的映射關(guān)系,如果存在這樣的映射關(guān)系,就直接調(diào)用。以上三步均在本地完成,即在計算機設(shè)備上或者在本地的路由器上。因此有一種方法,我們可以修改本地DNS解析器緩存,將里面保存的IP映射進行修改[16],將某個域名指向一個虛假的或者根本不存在的IP地址?;蛘吒唵蔚囊粋€方法,修改系統(tǒng)hosts文件,在文件內(nèi)添加相應(yīng)的映射關(guān)系,將某個域名映射到不是它在網(wǎng)絡(luò)上的正確IP地址,例如可以將4399.com映射到(/8整個IP段都是環(huán)回地址,是用來測試本機TCP/IP協(xié)議棧的,發(fā)往這段A類地址的數(shù)據(jù)包不會出網(wǎng)卡,網(wǎng)絡(luò)設(shè)備也不會對其做路由),這樣就無法訪問到4399.com真實的IP了,從而達到了訪問控制的目的。3.3.2TCP連接重置本質(zhì)上來說,互聯(lián)網(wǎng)是個人計算機交換電子信息或IP數(shù)據(jù)包的系統(tǒng)。該系統(tǒng)包括攜帶消息的硬件(如銅線和光纖光纜)以及格式化消息的正式系統(tǒng),稱為“協(xié)議”。Internet上使用的基本協(xié)議是IP協(xié)議,它通常與其他協(xié)議(如TCP(傳輸控制協(xié)議)或UDP(用戶數(shù)據(jù)報協(xié)議))相耦合[17]。每個協(xié)議都有一個信息塊,稱為頭,包含在每個數(shù)據(jù)包的前面。標(biāo)題包含有關(guān)哪臺計算機發(fā)送數(shù)據(jù)包,哪臺計算機應(yīng)該接收數(shù)據(jù),數(shù)據(jù)包大小等信息。當(dāng)兩臺計算機之間需要雙向虛擬連接時,TCP與IP一起使用(UDP另一方面是無連接的IP協(xié)議)。通過交換數(shù)據(jù)包流,兩臺機器上的TCP軟件(例如,帶有瀏覽器和Web服務(wù)器的工作站)進行通信[18]。通過使用TCP連接,計算機可以輕松交換數(shù)據(jù)項,這些數(shù)據(jù)項對于單個數(shù)據(jù)包來說太大了,例如視頻剪輯,電子郵件附件或音樂文件。雖然有些網(wǎng)頁對于單個數(shù)據(jù)包足夠小,但為了方便起見,它們是通過TCP連接發(fā)送的。在TCP連接的數(shù)據(jù)包流中,每個數(shù)據(jù)包都包含一個TCP標(biāo)頭。這些標(biāo)頭中的每一個都包含一個稱為“復(fù)位”(RST)標(biāo)志的位。在大多數(shù)數(shù)據(jù)包中,該位設(shè)置為0并且沒有影響;但是,如果該位設(shè)置為1,則它向接收計算機指示計算機應(yīng)立即停止使用TCP連接;它不應(yīng)該使用連接的標(biāo)識號碼(稱為端口)發(fā)送更多的數(shù)據(jù)包,并且丟棄它接收到的任何其他數(shù)據(jù)包,并標(biāo)頭指示它們屬于該連接。TCP重置基本上立即終止TCP連接。3.4 本章小結(jié)本章分析了從網(wǎng)絡(luò)訪問的哪些環(huán)節(jié)入手可以對訪問進行控制。以及研究了哪些技術(shù)可以用于網(wǎng)絡(luò)訪問控制。一種設(shè)想是在我們客戶端和服務(wù)端之間加入一個代理服務(wù)器,帶服務(wù)器。代理服務(wù)器通過深度包檢測,可以檢測到HTTP請求中HOST字段中包含的主機名,比如4399.com這個主機名。當(dāng)檢測到規(guī)則中匹配的主機名時,代理服務(wù)器模擬服務(wù)端,將向客戶端發(fā)送的TCP連接的數(shù)據(jù)包的標(biāo)頭中RST標(biāo)志位設(shè)置為1,客戶端接收到這個數(shù)據(jù)包時便認為服務(wù)器關(guān)閉了這個連接,從而連接終止。另一種設(shè)想是在進行DNS查詢的階段,直接返回一個錯誤的域名和IP的映射,這樣瀏覽器向這個IP請求數(shù)據(jù)的時候就返回并非是原來要請求的域名的真實IP所返回的內(nèi)容了。當(dāng)設(shè)置的IP不存在或為/8時,直接返回連接關(guān)閉的錯誤。第四章 家庭網(wǎng)絡(luò)控制系統(tǒng)實現(xiàn)本章介紹了一個簡單的網(wǎng)絡(luò)訪問控制系統(tǒng)程序的實現(xiàn),包括介紹實現(xiàn)這個系需要哪些內(nèi)容,然后介紹這個系統(tǒng)的主要功能。4.1 開發(fā)環(huán)境4.1.1Node.jsNode.js是一個開源的,跨平臺的JavaScript運行時環(huán)境,可以在服務(wù)器端執(zhí)行JavaScript代碼。歷史上,JavaScript主要用于客戶端腳本編寫,其中使用JavaScript編寫的腳本嵌入在網(wǎng)頁的HTML中,并通過用戶的Web瀏覽器中的JavaScript引擎運行客戶端。Node.js允許開發(fā)人員使用JavaScript進行服務(wù)器端腳本運行,運行服務(wù)器端腳本生成動態(tài)網(wǎng)頁內(nèi)容,然后將頁面發(fā)送到用戶的Web瀏覽器。因此,Node.js代表了一種“無處不在JavaScript”范式,圍繞單一編程語言統(tǒng)一Web應(yīng)用程序開發(fā),而不是用于服務(wù)器端和客戶端腳本的不同語言。雖然.js是JavaScript代碼的常規(guī)文件擴展名,但名稱“Node.js”在此上下文中并不涉及特定文件,而僅僅是產(chǎn)品的名稱。Node.js函數(shù)是非阻塞的(命令同時執(zhí)行或者并行執(zhí)行并使用回調(diào)來表示完成或失?。?。Node.js具有能夠異步輸入/輸出的事件驅(qū)動架構(gòu)。這些設(shè)計選擇旨在優(yōu)化具有多種輸入/輸出操作的Web應(yīng)用程序以及實時Web應(yīng)用程序(例如實時通信程序和瀏覽器游戲)的吞吐量和可伸縮性[19]。4.1.2ElectronElectron(以前稱為AtomShell)是由GitHub創(chuàng)建和維護的開源框架。它允許使用最初為Web應(yīng)用程序開發(fā)的前端和后端組件開發(fā)桌面GUI應(yīng)用程序:用于后端的Node.js運行時和用于前端的Chromium瀏覽器。Electron通過將Chromium和Node.js合并到同一個運行時環(huán)境中,并可以將其打包為Mac,Windows和Linux系統(tǒng)下的應(yīng)用。Electron是幾個著名的開源項目背后的主要GUI框架,包括GitHub的Atom和Microsoft的VisualStudioCode源代碼編輯器,Tidal音樂流服務(wù)桌面應(yīng)用程序和LightTable集成開發(fā)環(huán)境,Discord聊天服務(wù)的免費桌面客戶端軟件等[20]。4.1.3ReactReact(有時也叫React.js或ReactJS)是一個用于構(gòu)建用戶界面的開源JavaScript庫。React可用于開發(fā)單頁面應(yīng)用程序和移動應(yīng)用程序。它主要目的是提供高效性,便捷性和可擴展性。作為用戶界面庫,React經(jīng)常與其他庫(如Redux)結(jié)合使用。React最初由Facebook的軟件工程師JordanWalke創(chuàng)建。他受到PHP的HTML組件框架XHP的影響。它在2011年首次部署在Facebook的新聞源中,后來在2012年在I上部署。它于2013年5月在JSConfUS開源。ReactNative于2015年2月在Facebook的React.jsConf上發(fā)布,并于2015年3月開放源代碼,該平臺支持使用React進行原生Android,iOS和UWP開發(fā)。2017年4月18日,F(xiàn)acebook發(fā)布了一種新的React框架庫核心算法ReactFiber,用于構(gòu)建用戶界面。ReactFiber將成為任何未來的改進和React框架功能開發(fā)的基礎(chǔ)[21]。4.2 系統(tǒng)實現(xiàn)這個網(wǎng)絡(luò)訪問控制系統(tǒng)采取在DNS查詢過程中,干擾查詢使得瀏覽器發(fā)出訪問請求之后得到錯誤的域名與IP的映射的方法,來控制對某些域名的訪問控制。本系統(tǒng)采用Node.js運行時環(huán)境,以Electron為框架進行開發(fā)。當(dāng)完成基本的代碼編寫以后在源代碼存放的根目錄和app子目錄分別運行安裝相關(guān)依賴庫。然后進入根目錄建立通用文件,之后便能在根目錄通過npmstart運行這一系統(tǒng)了。運行這個系統(tǒng)的時候,首先給出一個默認的hosts界面,如圖4.1所示。會生成一個默認的配置頁面,當(dāng)用戶點擊左下角的“+”符號時,系統(tǒng)顯示一個添加配置的對話框并要求輸入配置的名稱,如圖4.2所示。圖4.1程序啟動時的默認頁面圖4.2添加hosts方案我們輸入方案名稱test,然后進入以test命名的方案內(nèi),進行規(guī)則的添加。規(guī)則的添加十分之簡單明了。當(dāng)你不希望計算機的用戶訪問某個域名的時候,就使用本文3.4中提到的方法,在添加規(guī)則的頁面另起一行,輸入加一個空格,后面填寫不希望用戶訪問的域名,例如可以設(shè)置,并且點擊規(guī)則名稱右邊的小開關(guān)圖標(biāo),表示啟用test這個方案內(nèi)的規(guī)則,如圖4.3所示。這樣用戶就無法使用瀏覽器訪問這個域名了,效果如圖4.4所示。當(dāng)然,在默認的“網(wǎng)絡(luò)訪問控制”方案內(nèi)進行規(guī)則的添加也是同樣可行的。圖4.3配置一條規(guī)則并啟用方案圖4.4啟用規(guī)則后訪問域名的效果在進行規(guī)則的設(shè)置并啟用方案后,瀏覽器訪問就返回?zé)o法連接的信息,對錯誤的描述為連接被拒絕。這樣就達到了網(wǎng)絡(luò)訪問控制的目的了。本系統(tǒng)還有其他一些方便使用的小功能。點擊規(guī)則前面的序號,自動將注釋本條規(guī)則。當(dāng)用戶添加的規(guī)則特別多的時候,想要靈活調(diào)整規(guī)則就十分的便捷了。當(dāng)用戶輸入的規(guī)則不符合hosts文件的規(guī)范時,序號后面的內(nèi)容以紅色顯示,用以提示用戶該條規(guī)則出現(xiàn)了錯誤。其實hosts文件用以網(wǎng)絡(luò)訪問控制的限制訪問某一網(wǎng)站時,它的規(guī)則就如同上面介紹的一般簡單,用戶不需要記住許多細節(jié)性和技術(shù)性的內(nèi)容。僅僅需要知道輸入然后空格,在空格之后填寫不希望被用戶訪問的域名。這樣的簡潔是前所未有的,極少有系統(tǒng)可以在用戶完全不了解網(wǎng)絡(luò)知識的情況下,也能迅速理解并進行網(wǎng)絡(luò)訪問控制。4.3 本章小結(jié)本章簡單介紹了實現(xiàn)一個簡單的網(wǎng)絡(luò)訪問控制系統(tǒng)需要的環(huán)境和用到的框架及依賴庫。還介紹了簡單網(wǎng)絡(luò)訪問控制系統(tǒng)的使用方法和使用效果圖。證明前面章節(jié)所述的控制網(wǎng)絡(luò)訪問的方法是有效的。由于這一系統(tǒng)用Electron和Node.js實現(xiàn),理論上具有跨平臺運行的能力,但是沒有相關(guān)操作系統(tǒng)環(huán)境,本系統(tǒng)僅在Mac操作系統(tǒng)下運行成功。
第五章總結(jié)與展望5.1 本文總結(jié)本文首先從網(wǎng)絡(luò)的發(fā)展引出家庭網(wǎng)絡(luò)的概念,并對家庭網(wǎng)絡(luò)進行了闡述。結(jié)合對身邊朋友以及同學(xué)的情況的了解,提出大家對家庭網(wǎng)絡(luò)控制方面的需求。然而考慮到現(xiàn)實生活中,因為大多數(shù)人以及他們的家庭成員都沒有非常專業(yè)的網(wǎng)絡(luò)知識,并且許多可以用于家庭網(wǎng)絡(luò)管理的硬件和軟件使用起來十分復(fù)雜,大家對家庭網(wǎng)絡(luò)控制和管理的需求難以達到。然后文章分析了家庭網(wǎng)絡(luò)訪問控制和管理可以從網(wǎng)絡(luò)訪問的哪些環(huán)節(jié)入手。接著介紹了在這些環(huán)節(jié),有哪些技術(shù)可以用于網(wǎng)絡(luò)訪問控制和管理。最后提出一個家庭網(wǎng)絡(luò)控制系統(tǒng)的實施方案并且展示這一系統(tǒng)實施的效果。5.2 后續(xù)工作展望然而,本文第四章中實現(xiàn)的家庭網(wǎng)絡(luò)控制系統(tǒng)也存在以下不足:(1)由于需要滿足用戶沒有網(wǎng)絡(luò)基礎(chǔ)也能輕松使用這一需求,這一系統(tǒng)設(shè)計的功能過于簡單。(2)本文研究的另一種方案由于缺乏相關(guān)網(wǎng)絡(luò)編程的知識和沒有充足的時間,并沒有能夠在這一系統(tǒng)中進行實現(xiàn)。(3)本文提到的系統(tǒng)是通過修改系統(tǒng)hosts文件來實現(xiàn)的,而瀏覽器訪問網(wǎng)站首先會檢查瀏覽器的緩存,如果緩存中存在對應(yīng)的映射關(guān)系,便不會請求系統(tǒng)hosts文件的內(nèi)容。由于不清楚瀏覽器緩存DNS信息具體的時間,通過本系統(tǒng)設(shè)置的訪問控制規(guī)則可能沒有辦法在方案被啟用的同時生效,可能要手動清除瀏覽器緩存或者進行重啟設(shè)備的操作后方案才能生效。(4)本系統(tǒng)僅僅在Mac操作系統(tǒng)下實現(xiàn)了網(wǎng)絡(luò)訪問控制的功能,按照常理是應(yīng)該可以在Linux(然而一般家庭并不會用到Linux操作系統(tǒng))和Windows操作系統(tǒng)中運行的,只要這些系統(tǒng)都安裝了Node.js運行環(huán)境。然而并沒有對這一系統(tǒng)的跨平臺運行能力進行測試。(5)這一系統(tǒng)目前沒有打包成.app文件(相應(yīng)的Windows操作系統(tǒng)中為.exe文件),而需要使用控制臺或者編輯器運行,一定程度上削弱了這一系統(tǒng)的簡單性和易用性。我希望今后可以將這一系統(tǒng)進行完善,解決上面提出的不足。另外,通過撰寫本文以及實現(xiàn)這樣一個簡單的家庭網(wǎng)絡(luò)控制系統(tǒng)的過程,我學(xué)習(xí)到了不少相關(guān)的知識。就文中提到的“TCP連接重置”和“深度包檢測”這兩項技術(shù),我希望未來能有相關(guān)人士能夠?qū)⑺鼈儜?yīng)用到網(wǎng)絡(luò)控制和管理系統(tǒng)中。我的一個想法是,實現(xiàn)一個HTTP和HTTPS的代理,這個代理具備深度包檢測的功能,并且可以積累或者從網(wǎng)絡(luò)上下載特征庫。代理通過中間人攻擊的方法,在本地安裝證書,獲得系統(tǒng)和瀏覽器的信任以解密HTTPS的流量,然后對比特征庫[22],發(fā)現(xiàn)不希望被訪問的內(nèi)容時,向客戶端發(fā)送RST消息或者直接丟棄服務(wù)器回傳的數(shù)據(jù)包。同樣的,這一代理需要有簡潔的用戶界面并且不需要用戶做太多的專業(yè)操作。雖然復(fù)雜,但易于使用。我相信隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,像這樣的或者比這好的方案很快都能夠?qū)崿F(xiàn)。參考文獻[1] 張茁,孫潔.基于以太網(wǎng)的智能家庭網(wǎng)絡(luò)系統(tǒng)設(shè)計[D].,2005.[2] 王修暉,吳明光.CEBus家庭網(wǎng)絡(luò)管理器的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2002,28(6):60-62.[3] YangJ,EdwardsWK.Astudyonnetworkmanagementtoolsofhouseholders[C]//Proceedingsofthe2010ACMSIGCOMMworkshoponHomenetworks.ACM,2010:1-6.[4] ZhangM,RuanY,PaiVS,etal.HowDNSMisnamingDisto
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色豬肉采購合作協(xié)議書6篇
- 2025年度砌體施工環(huán)保評估合同3篇
- 家庭旅館員工培訓(xùn)與激勵機制
- 小學(xué)數(shù)學(xué)基礎(chǔ)解題技巧與能力培養(yǎng)
- 教育技術(shù)下的小學(xué)數(shù)學(xué)與科學(xué)教育整合趨勢
- 2025年度高空作業(yè)升降機租賃及維護服務(wù)合同6篇
- 人教版八年級 歷史與社會上冊 1.2.1 早期國家與社會 說課稿
- 2024-2025學(xué)年一年級上冊(第二、三、四單元說課稿)科學(xué)蘇教版
- 專題11:動力學(xué)中的臨界問題-2024-2025學(xué)年高中物理同步練習(xí)分類專題說課稿(人教版2019必修第一冊)
- 2025年度施工合同尾款預(yù)付擔(dān)保編制流程及要點3篇
- 2025新北師大版英語七年級下單詞表
- 《智慧城市概述》課件
- 2024年北京市家庭教育需求及發(fā)展趨勢白皮書
- GB/T 45089-20240~3歲嬰幼兒居家照護服務(wù)規(guī)范
- 中建道路排水工程施工方案
- 拆機移機合同范例
- 智能停車充電一體化解決方案
- 化學(xué)驗室安全培訓(xùn)
- 天書奇譚美術(shù)課件
- GB/T 18916.15-2024工業(yè)用水定額第15部分:白酒
- 部編四年級道德與法治下冊全冊教案(含反思)
評論
0/150
提交評論