版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
PAGE請輸入題目PAGE摘??要當(dāng)前互聯(lián)網(wǎng)的網(wǎng)絡(luò)空間由最初的混沌到現(xiàn)在快速擴(kuò)展,互聯(lián)網(wǎng)設(shè)備的也運(yùn)用越來越廣泛,全世界上網(wǎng)設(shè)備的激增導(dǎo)致連IPV4地址都無法包含下去,想象在未來,會有越來越多設(shè)備在互聯(lián)網(wǎng)中相連接,以互聯(lián)網(wǎng)為基礎(chǔ)上的延伸和擴(kuò)展,人類生活的延伸擴(kuò)展到了一切物品之間的信息交換與通信。但是越來越信息化的時代也伴隨著越來越多的風(fēng)險,通過網(wǎng)絡(luò)空間搜索引擎,我們快速的知道,全世界大約有多少網(wǎng)絡(luò)攝像頭,有多少服務(wù)器,某個開源組件的使用情況等等。網(wǎng)絡(luò)空間搜索引擎在網(wǎng)絡(luò)空間測繪,態(tài)勢感知,企業(yè)資產(chǎn)安全管理等網(wǎng)絡(luò)安全領(lǐng)域發(fā)揮著巨大的作用。阿爾文托夫勒在《第三次浪潮》中提到,“誰掌握了信息,控制了網(wǎng)絡(luò),誰就將擁有整個世界”。就“棱鏡”事件來看,整個中國社會必須重新認(rèn)識到網(wǎng)絡(luò)空間在整個國家安全體系下的重大意義。本文設(shè)計的目標(biāo)便是制造這樣一個系統(tǒng),用于監(jiān)控整個網(wǎng)絡(luò)設(shè)備,甚至得到某個地區(qū)的設(shè)備的相關(guān)分布情況。關(guān)鍵詞:網(wǎng)絡(luò)空間;網(wǎng)絡(luò)資產(chǎn);搜索引擎;監(jiān)控ABSTRACTThecurrentInternetspaceoftheInternethasexpandedrapidlyfromtheinitialchaostothepresent,andtheuseofInternetdeviceshasbecomemorewidespread.ThesurgeinInternetdevicesworldwidehaspreventedevenIPV4addressesfrombeingincluded.Itisconceivablethattherewillbemoreandmoreinthefuture.DevicesareconnectedintheInternet,extendedandextendedontheInternet,andtheextensionofhumanlifeextendstotheexchangeandcommunicationofinformationbetweenallitems.Buttheeraofmoreandmoreinformationisaccompaniedbymoreandmorerisks.Throughthecyberspacesearchengine,wecanquicklyknowhowmanywebcameras,howmanyservers,theuseofanopensourcecomponent,etc.Wait.Thecyberspacesearchengineplaysahugeroleinthefieldofnetworksecuritysuchasnetworkspacemapping,situationalawareness,andenterpriseassetsecuritymanagement.AlvinTofflermentionedinthe"ThirdWave"that"whoeverhastheinformationandcontrolsthenetworkwillhavethewholeworld."Asfarasthe"prism"incidentisconcerned,theentireChinesesocietymustre-recognizethesignificanceofcyberspaceundertheentirenationalsecuritysystem.Thegoalofthispaperistocreateasystemformonitoringtheentirenetworkequipmentandeventherelevantdistributionofequipmentinacertainarea.Keywords:Cyberspace;Networkassets;Searchengine;Mon 目錄第一章序言 11.1?研究目的 11.2?發(fā)展概況 11.3?開發(fā)環(huán)境 11.4?其他環(huán)境 11.4.1Django框架 21.4.2Redis緩存服務(wù)器 21.4.3Elasticsearch分布式搜索分析引擎 21.4.5Masscan網(wǎng)絡(luò)掃描工具 3第二章系統(tǒng)分析 42.1?主要功能 42.2Client端設(shè)計原理 42.2.1網(wǎng)絡(luò)服務(wù)識別 42.2.2網(wǎng)絡(luò)端口掃描 42.2.3WEB指紋識別原理 52.2.4插件化掃描 52.2.5去重、緩存調(diào)度算法 52.3WEB端設(shè)計原理 62.3.1Restful接收數(shù)據(jù) 62.3.2大數(shù)據(jù)搜索解決方案 62.3.3資產(chǎn)關(guān)聯(lián)性算法 62.4?掃描端與WEB端的數(shù)據(jù)交互 72.4.1MQ的選擇 72.4.2Redis消息隊列的實現(xiàn) 72.4.3相關(guān)操作命令 72.4.4代碼原型 72.5?掃描端節(jié)點監(jiān)控 82.5.1節(jié)點監(jiān)控思路概述 82.5.2節(jié)點注冊 82.5.3節(jié)點異常條件 82.5.4節(jié)點與WEB的通信 82.5.5節(jié)點銷毀 82.5.6WEB端獲取節(jié)點信息 8第三章掃描端分析 93.1?需求分析 93.1.1功能需求 93.1.2性能需求 93.2?系統(tǒng)總體架構(gòu)設(shè)計 93.3系統(tǒng)功能的插件化設(shè)計 113.3.1Python代碼原型 113.4調(diào)用外部倉庫 123.5IP地理位置查詢 12第四章Web端設(shè)計 144.1設(shè)計架構(gòu) 144.2Web端總體設(shè)計 144.2.1前端布局設(shè)計 144.2.2API模塊設(shè)計 174.2.3資產(chǎn)模塊設(shè)計 174.2.4搜索模塊設(shè)計 184.3數(shù)據(jù)存儲結(jié)構(gòu) 184.3.1域名信息存儲結(jié)構(gòu) 184.3.2IP信息存儲結(jié)構(gòu) 19第五章運(yùn)行測試 215.1Web端運(yùn)行測試 215.1.1首頁 215.1.2域名資產(chǎn)信息 225.1.3系統(tǒng)統(tǒng)計頁面 235.2掃描端運(yùn)行測試 25結(jié)束語 27參考文獻(xiàn) 28致謝 29廣東東軟學(xué)院本科生畢業(yè)設(shè)計(論文)PAGE1第一章?序言1.1?研究目的網(wǎng)絡(luò)安全是國家的重點發(fā)展目標(biāo)之一,在防衛(wèi)自身安全的同時,我們需要了解某個國家的大概網(wǎng)絡(luò)基礎(chǔ)設(shè)施情況,有多少的使用率,這樣才能在未來的網(wǎng)絡(luò)空間戰(zhàn)中從容不迫,有的放矢。不僅是了解網(wǎng)絡(luò)基礎(chǔ)設(shè)施,當(dāng)某個使用量大的服務(wù)組件被爆出存在漏洞時,我們也需要這樣一個系統(tǒng),來了解使用了該服務(wù)組件的主機(jī)、相關(guān)等等,做好預(yù)防措施。當(dāng)公司需要管理其資產(chǎn)時,只需要在資產(chǎn)配置上輸入自己企業(yè)的相關(guān)域名,ip地址,該引擎就會自動匹配與其相應(yīng)的服務(wù)器、域名等信息,同時也包含在該服務(wù)器上運(yùn)行的各項服務(wù),WEB使用的開源CMS類型,讓你一眼就能夠了解自己企業(yè)相關(guān)狀況。1.2?發(fā)展概況在2009年黑客大會DEFCON,名叫John
Matherley黑客啟動了一個名為“撒旦”的搜索引擎程序。Shodan將掃描整個設(shè)備,并捕獲和分析每個設(shè)備返回的banana信息。掌握這些信息,Shodan就知道當(dāng)前最流行的Web服務(wù)器是什么類型或網(wǎng)絡(luò)上存在的匿名登錄的數(shù)量、FTP服務(wù)器等。近年來,Zoomeye和FOFA在中國推出了追隨者,并且功能大致相同,具有網(wǎng)絡(luò)指紋識別,服務(wù)識別,組件發(fā)現(xiàn),資產(chǎn)發(fā)現(xiàn)和其他功能。1.3?開發(fā)環(huán)境本項目開發(fā)環(huán)境是MacOSMojave,版本10.14.6,在實際部署期間,將WEB和客戶端代碼都部署在Linux系統(tǒng)上,開發(fā)語言使用python3作為編程語言,基于Django框架實現(xiàn)。Python是一種高級腳本語言,與其他語言相比,英語關(guān)鍵字更會被經(jīng)常使用,其他語言中的一些標(biāo)點符號在語法上比其他語言更獨特。1.4?其他環(huán)境現(xiàn)代軟件科學(xué)有許多成熟的框架,我們只是站在巨人的肩膀上并享受它。1.4.1?Django框架Django的是快速開發(fā)安全和維護(hù)網(wǎng)站的高級PythonWeb框架,它采用的軟件設(shè)計模式MVT:即模型Model,視圖View和模板Template。它最初是被開發(fā)來用于管理勞倫斯出版集團(tuán)旗下的一些以新聞內(nèi)容為主的網(wǎng)站的。并于2005年7月在BSD許可證下發(fā)布。這套框架是以比利時的吉普賽爵士吉他手DjangoReinhardt來命名的。它的主要目標(biāo)是使得開發(fā)復(fù)雜的、數(shù)據(jù)庫驅(qū)動的網(wǎng)站變得簡單。Django注重組件的重用性和“可插拔性”,敏捷開發(fā)和DRY法則(Don'tRepeatYourself)。在Django中Python被普遍使用,甚至包括配置文件和數(shù)據(jù)模型。1.4.2?Redis緩存服務(wù)器Redis是一個開源的,基于網(wǎng)絡(luò)的,基于內(nèi)存的鍵值存儲系統(tǒng)。它是使用最廣泛的鍵值存儲數(shù)據(jù)庫,具有高可用性和并發(fā)支持。Redis鍵包括字符串、列表、集合、哈希、排序集合、位圖和superlog。因此,它通常被稱為數(shù)據(jù)結(jié)構(gòu)服務(wù)器。
對于高性能,Redis在內(nèi)存中使用數(shù)據(jù)集,并且在沒有任何其他依賴項的情況下運(yùn)行。Redis的是在Linux和OS
X操作系統(tǒng)和全面的測試開發(fā),因此使用Linux作為一個部署環(huán)境這個環(huán)境。1.4.3?Elasticsearch分布式搜索分析引擎Elasticsearch是一個分布式、RESTful風(fēng)格的搜索和數(shù)據(jù)分析引擎,能夠解決不斷涌現(xiàn)出的各種用例。作為ElasticStack的核心,它集中存儲您的數(shù)據(jù),幫助您發(fā)現(xiàn)意料之中以及意料之外的情況。開源的Elasticsearch(以下簡稱Elastic)是目前全文搜索引擎的首選。它可以快速地儲存、搜索和分析海量數(shù)據(jù)。維基百科、StackOverflow、Github都采用它。1.4.4?Nmap網(wǎng)絡(luò)探測工具Nmap全稱NetworkMapper,又叫網(wǎng)絡(luò)映射器,用來掃描互聯(lián)網(wǎng)開放的網(wǎng)絡(luò)連接。它將特殊的數(shù)據(jù)包發(fā)送到我們檢測的目標(biāo)主機(jī),然后來分析返回的數(shù)據(jù)包,檢查哪個服務(wù)在哪個連接上運(yùn)行,并推斷計算機(jī)上運(yùn)行的操作系統(tǒng)(也稱為指紋)。它探測網(wǎng)絡(luò)上的主機(jī)存活情況,目標(biāo)主機(jī)開發(fā)的端口有哪些,端口對應(yīng)的軟件和版本,以及操作系統(tǒng)等。許多系統(tǒng)管理員和網(wǎng)絡(luò)管理員也用它來做一些日常的工作,比如查看整個網(wǎng)絡(luò)的信息,管理服務(wù)升級計劃,以及監(jiān)視主機(jī)和服務(wù)的運(yùn)行。1.4.5?Masscan網(wǎng)絡(luò)掃描工具M(jìn)asscan,也被稱為最快的互聯(lián)網(wǎng)端口掃描工具,在六分鐘內(nèi)掃描互聯(lián)網(wǎng)。masscan相比NMAP掃描要快得多,因為masscan通過異步傳輸模式,無狀態(tài)掃描。而nmap需要記錄TCP/IP的狀態(tài),但os處理大約1500個TCP/IP連接。masscan最高1000萬/秒并發(fā),相對于其他掃描器來說,它的掃描速度是比較快的。
第二章?系統(tǒng)分析2.1?主要功能本論文主要是設(shè)計一款資產(chǎn)發(fā)現(xiàn)引擎,包括Client端和WEB端,Client端用于不斷掃描并識別網(wǎng)絡(luò)的服務(wù),即本文實現(xiàn)的“網(wǎng)絡(luò)發(fā)現(xiàn)引擎”,本文統(tǒng)一使用“CLient”端稱呼它。WEB端用于接收Client端返回的結(jié)果,并以人性化友好的方式展現(xiàn)出來。在設(shè)計中需要考慮非關(guān)系型數(shù)據(jù)如何存儲,如何快速搜索相關(guān)數(shù)據(jù),以及Client端如何快速的掃描和識別網(wǎng)絡(luò),針對一個域名,如何識別其所使用的技術(shù)等等。本文主要設(shè)計為包括Client端和WEB的資產(chǎn)搜索引擎,并且Client端用于連續(xù)掃描和識別網(wǎng)絡(luò)服務(wù),即本文實現(xiàn)的“網(wǎng)絡(luò)搜索引擎”。WEB端用于接收client端返回的結(jié)果,并以人性化和友好的方式顯示它們。設(shè)計應(yīng)考慮如何存儲非關(guān)系數(shù)據(jù),如何快速搜索相關(guān)數(shù)據(jù),如何在客戶端快速搜索和標(biāo)識網(wǎng)絡(luò),如何標(biāo)識域名以及如何標(biāo)識所使用的技術(shù)。2.2?Client端設(shè)計原理2.2.1?網(wǎng)絡(luò)服務(wù)識別TCP協(xié)議中三次握手可判斷一個端口的存活,而一個服務(wù)器最多可開啟65535個端口,在TCP的最后一次握手中,服務(wù)器會返回一段信息給請求者。所以可以使用TCP連接對一個目標(biāo)ip進(jìn)行65535次連接,在連接成功的端口中,獲取到服務(wù)器最后返回的一段信息,由于不同的服務(wù)ftp,http會有不同的返回結(jié)果,根據(jù)這些結(jié)果作為指紋,來識別出該端口所對應(yīng)的服務(wù)。2.2.2?網(wǎng)絡(luò)端口掃描TCP是可靠的面向連接的協(xié)議,如圖1.1所示,一個完整的TCP會話每個過程都有不同的狀態(tài)??焖俚亩丝趻呙杵髟矶际腔跓o狀態(tài)的掃描。在確認(rèn)端口打開后,通過RST放棄建立連接。圖SEQ圖\*ARABIC1.1?Tcp連接圖Masscan掃描互聯(lián)網(wǎng)規(guī)模的端口掃描器,可用于互聯(lián)網(wǎng)或內(nèi)部網(wǎng)絡(luò)的大規(guī)模檢測。它選擇高達(dá)2500萬個數(shù)據(jù)包/秒的掃描速度,這個速度足以在3分鐘內(nèi)掃描互聯(lián)網(wǎng)。本文所設(shè)計的引擎也是調(diào)用masscan來進(jìn)行掃描。2.2.3?WEB指紋識別原理一般開源項目中,靜態(tài)文件里都會包含一些特征字符串。開源的WEB系統(tǒng)在靜態(tài)文件(例如html,js,css)中會包含一些特征字符串,即使不包含特征值,固定的URL鏈接也可能是某開源項目的特征。比如在wordpress中,robots.txt文件里包含wp-admin等,默認(rèn)樣式在主頁上包括generator=wordpressxx,在頁面上包括wp-content路徑等,并且?guī)缀跛虚_源CMS都是相似的。如果指紋數(shù)據(jù)庫中存在相應(yīng)的指紋,則通過采用特定路徑并判斷該路徑下返回的文本來識別Web指紋(通過md5或regex)來判斷Web應(yīng)用程序。2.2.4?插件化掃描插件有助于程序擴(kuò)展,Python很自然地適合于插件化,因此在本文的設(shè)計思想中,插件化是整個程序設(shè)計的重點。在進(jìn)行WEB掃描時,所有東西都被用作具有掃描功能的插件(如敏感文檔掃描,Web指紋識別等),“調(diào)度控制中心”僅需要收集URL和IP之后就可動態(tài)調(diào)用插件。2.2.5?去重、緩存調(diào)度算法當(dāng)一個資產(chǎn)被檢測后,又再另一次掃描任務(wù)中重新添加此任務(wù),為了節(jié)省掃描資源,這些重復(fù)的資產(chǎn)會被舍棄,并不會加入到檢測任務(wù)中,但如果這個資產(chǎn)已經(jīng)存在系統(tǒng)中,過段時間如果對新的資產(chǎn)進(jìn)行檢測,包含了之前檢測過的資產(chǎn),那么也會將重復(fù)的資產(chǎn)重新添加到檢測任務(wù)中。這里我們就需要引入“高速緩存數(shù)據(jù)庫”的概念,我們只需要維護(hù)一個“已經(jīng)掃描”的數(shù)據(jù)庫,并且在每次掃描時,您只需要查詢此記錄在數(shù)據(jù)庫中是否存在,如果存在就不會對資產(chǎn)進(jìn)行重新檢測,之后數(shù)據(jù)庫將自動刪除這些“緩存”數(shù)據(jù)。并且要保證數(shù)據(jù)庫的讀取速度和性能。緩存數(shù)據(jù)庫使用Redis,它是一款高性能的NOSQL系列的非關(guān)系型數(shù)據(jù)庫,充當(dāng)緩存和消息隊列,Redis簡單地設(shè)計一個滿足您需求的程序。2.3?WEB端設(shè)計原理2.3.1?Restful接收數(shù)據(jù)
Restful框架是目前最流行的Web數(shù)據(jù)接口設(shè)計API設(shè)計規(guī)范。在Client端傳入數(shù)據(jù)到WEB端的時候,采用RESTful架構(gòu)接收,很方便的從URL中得到表達(dá)意義(具體展現(xiàn)在URL的表現(xiàn)層狀態(tài)轉(zhuǎn)化),當(dāng)客戶端將數(shù)據(jù)發(fā)送到WEB時,它使用RESTful體系結(jié)構(gòu)來接收數(shù)據(jù),我輕松地從URL中獲取含義(這在URL的表示層狀態(tài)轉(zhuǎn)換中特別顯示),清晰易懂。2.3.2?大數(shù)據(jù)搜索解決方案由于已在設(shè)計中掃描了全球網(wǎng)絡(luò),因此也必須將基于此分析的各種服務(wù)、指紋、應(yīng)用程序和版本存儲在數(shù)據(jù)庫中。因此,由于搜索解決方案中的數(shù)據(jù)量很大,某些常見的數(shù)據(jù)庫搜索可能無法滿足時間需求,另一種是需要查找非關(guān)系數(shù)據(jù)來存儲這些數(shù)據(jù)。在衡量了各種數(shù)據(jù)指標(biāo)之后,選擇開源的Elasticsearch作為解決方案。ElasticSearch是搜索服務(wù)器,全文搜索引擎和RESTfulWeb界面,它具有非常強(qiáng)大的數(shù)據(jù)分析和處理功能,還對中文語言支持,并且安裝中文分詞插件來分析中文。ElasticSearch通過對存儲在數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行分段和索引來顯著加快查詢速度,其獨特的結(jié)構(gòu)化查詢語言使查找所需數(shù)據(jù)以及該數(shù)據(jù)的相關(guān)信息變得容易。2.3.3?資產(chǎn)關(guān)聯(lián)性算法在本文的設(shè)計中,我們需要設(shè)計一種算法,以在存儲數(shù)據(jù)的數(shù)據(jù)庫中找到我們所需的“某處”資產(chǎn)相關(guān)情況。例如,需要查看“京東”的相關(guān)資產(chǎn)信息,Web程序無法通過輸入“京東”關(guān)鍵字自動找到所有相關(guān)的百度資產(chǎn)。本文的設(shè)計在Web后端上有一個用于資產(chǎn)檢索的配置頁面,您需要手動輸入與“京東”相關(guān)的資產(chǎn),例如域名,*.,*.,ip資產(chǎn)等。程序使用這些配置來查找相關(guān)資產(chǎn)的狀態(tài)。Elasticsearch提供了滿足您需求的通配符搜索方法。通過Elasticsearch添加布爾查詢條件,并使用通配符查詢方法來滿足您的查詢需求。2.4?掃描端與WEB端的數(shù)據(jù)交互當(dāng)掃描端體系結(jié)構(gòu)和Web端體系結(jié)構(gòu)都完成時,下一個考慮因素是如何在Web端下發(fā)任務(wù),并讓客戶端完成該任務(wù)。在分布式體系結(jié)構(gòu)中有一個術(shù)語“消息隊列”,即使使用了消息隊列,該系統(tǒng)仍采用此方法。消息隊列代表消費(fèi)者生產(chǎn)者模型,一端連續(xù)將消息寫入消息隊列,另一端讀取或訂閱隊列中的消息。在本文采用的體系結(jié)構(gòu)中,作為生產(chǎn)者的WEB端將要處理的數(shù)據(jù)記錄在消息隊列中,而掃描端在使用者從消息隊列中讀取和處理數(shù)據(jù)時結(jié)束。2.4.1?MQ的選擇更成熟的成熟產(chǎn)品包括IBMWEBSPHEREMQ,rabbitmq等。之所以選擇redis數(shù)據(jù)庫作為消息傳輸隊列,是因為該系統(tǒng)的要求相對簡單,因此不需要復(fù)雜的狀態(tài)管理,也不需要使用過多的服務(wù)并且難以維護(hù)。在掃描結(jié)束時,redis服務(wù)還用作重復(fù)數(shù)據(jù)刪除服務(wù)。2.4.2?Redis消息隊列的實現(xiàn)Redis支持列表操作Redis的列表是一個簡單的雙端列表。您選擇從左側(cè)或右側(cè)插入數(shù)據(jù),也選擇從左側(cè)或右側(cè)讀取數(shù)據(jù)。在該系統(tǒng)的實現(xiàn)中,只要同意一端插入和一端取出,就實現(xiàn)消息隊列的功能。Redis本身是線程安全的,因此無需考慮在插入過程中如何執(zhí)行讀取操作。2.4.3?相關(guān)操作命令?lpushkeyvalue插入value到key左端。?lpopkey移除并獲取第一個元素,如果此時列表為空則返回None。?blpopkey移除并獲取第一個元素,如果此時列表為空則一直等待。2.4.4?代碼原型Redis消息隊列的Python代碼表達(dá)importredis#導(dǎo)入redis模塊,通過python操作redis,以直接在redis主機(jī)上的服務(wù)器上操作緩存數(shù)據(jù)庫。pool=redis.ConnectionPool(host='localhost',port='6379',decode_responses=True)#host為redis主機(jī),redis默認(rèn)使用端口是6379,解碼返回的消息為真redis_con=redis.Redis(connection_pool=pool)redis_con.lpush("wscan_scanned",ip)2.5?掃描端節(jié)點監(jiān)控由于實際工作中掃描節(jié)點數(shù)量的增加,管理員需要檢查每個掃描節(jié)點的運(yùn)行狀態(tài)是否正常,因此有必要設(shè)計一套直接從WEB端方便地檢查節(jié)點狀態(tài)的功能。節(jié)點監(jiān)視不僅檢查每個節(jié)點的運(yùn)行狀態(tài)(運(yùn)行作業(yè),成功運(yùn)行的作業(yè),節(jié)點是否運(yùn)行狀況良好以及節(jié)點記錄的日志等),還處理失敗的節(jié)點,了解原因并刪除該節(jié)點。2.5.1?節(jié)點監(jiān)控思路概述節(jié)點監(jiān)視方法使用掃描端每5分鐘(5*50秒)將數(shù)據(jù)寫入Redis。內(nèi)容為當(dāng)前時間,若WEB端讀取時間超過五分鐘,會報告節(jié)點異常。2.5.2?節(jié)點注冊掃描程序運(yùn)行時,它以'node'開頭,然后輸入自定義節(jié)點名稱,同時將三個字段注冊到該節(jié)點,以將特定密鑰寫入redis數(shù)據(jù)庫以注冊該節(jié)點。?last_time用于保存節(jié)點最后寫入時間。?running用于保存正在運(yùn)行的任務(wù)數(shù)量。?finished用于保存已經(jīng)完成的任務(wù)數(shù)量。2.5.3?節(jié)點異常條件節(jié)點異常由WEB端判斷,如果當(dāng)前WEB端的redis讀取時間超過五分鐘,則通知節(jié)點異常,并顯示刪除節(jié)點按鈕。2.5.4?節(jié)點與WEB的通信?節(jié)點向指定的redis隊列中寫入消息如w_log_[nodename]。?節(jié)點向指定rediskey中寫入消息,如w_node_[nodename]。2.5.5?節(jié)點銷毀當(dāng)節(jié)點無法再通信時,將執(zhí)行節(jié)點刪除選項,僅從redis數(shù)據(jù)庫中刪除兩個keyw_log_[nodename]和w_node_[nodename]。如果節(jié)點在與之通信的條件下發(fā)生故障,則需要確保將Unicom節(jié)點一起銷毀。2.5.6?WEB端獲取節(jié)點信息Redis使用模式匹配(例如w_node_*)來匹配任何節(jié)點,它瀏覽數(shù)據(jù)以讀取每個節(jié)點的信息,然后讀取w_log_[nodename]并讀取節(jié)點的日志。廣東東軟學(xué)院本科生畢業(yè)設(shè)計(論文)第三章?掃描端分析3.1?需求分析在設(shè)計完整掃描端時,應(yīng)闡明對這兩個要求的分析,并證明其有效性。需求分析對于掃描《網(wǎng)絡(luò)資產(chǎn)發(fā)現(xiàn)引擎》的框架尤其重要,它決定了將來的《網(wǎng)絡(luò)資產(chǎn)發(fā)現(xiàn)引擎》中獲得的數(shù)據(jù)的有效性和真實性。需求分析主要基于功能需求和性能需求,設(shè)計原則是在滿足功能需求的前提下盡可能滿足性能需求。3.1.1?功能需求根據(jù)功能要求,搜索引擎應(yīng)能夠接收大量域名或IP地址。搜索引擎針對每個域名和IP地址發(fā)出訪問請求,并執(zhí)行“分析”以獲取WEB屬性的指紋并將其發(fā)送到Web端的Webrestful接口發(fā)送結(jié)果?!胺治觥笔侵竿ㄟ^IP或域名(例如IP地址)獲得盡可能多的不同詳細(xì)信息,獲得開放端口和在每個端口上運(yùn)行的服務(wù)。換句話說,需要得到服務(wù)器、操作系統(tǒng)、運(yùn)行腳本環(huán)境,網(wǎng)站的標(biāo)題、網(wǎng)站使用的相關(guān)技術(shù)以及開源組件服務(wù)使用的技術(shù)等。3.1.2?性能需求掃描大量IP地址和域名會占用大量IO延遲,為了加快掃描速度,在IO延遲期間繼續(xù)掃描其他目標(biāo),每次掃描都使用開源的masscan作為網(wǎng)站域名的端口掃描程序工具。在掃描方面,使用多線程技術(shù)檢測網(wǎng)站。在完成掃描后,Massscan默認(rèn)情況下會等待10秒,因此會花費(fèi)太多時間,因此掃描結(jié)束時收到的IP地址將緩存在列表中。如果緩存的IP數(shù)量大于某個值,則調(diào)用Masscan對其進(jìn)行掃描,類似于IP緩沖池的設(shè)計,還設(shè)計了域名緩存池。如果域名緩沖池大于某個值,則將緩沖池的域名發(fā)送到多線程框架以進(jìn)行域名解析和發(fā)現(xiàn)。3.2?系統(tǒng)總體架構(gòu)設(shè)計需求分析中詳細(xì)介紹了掃描端的需求。現(xiàn)在我們需要協(xié)調(diào)WEB端和掃描端的整體,并計劃WEB端如何使用redis作為中間數(shù)據(jù)庫與掃描端通信的消息隊列。設(shè)計圖3.1展示了掃描端的運(yùn)行流程以及如何與WEB進(jìn)行通信的流程。圖3.1系統(tǒng)總體設(shè)計流程圖如圖所示,掃描端的掃描任務(wù)后,會將結(jié)果發(fā)送到Web端Webrestful接口,然后Web端將數(shù)據(jù)存儲在Elasticsearch數(shù)據(jù)庫中。WEB端還提供了一個restful接口來添加掃描目標(biāo),首先將掃描目標(biāo)添加到redis數(shù)據(jù)庫中,然后客戶端掃描端從該redis數(shù)據(jù)庫中讀取內(nèi)容。URL和IP的輸入首先執(zhí)行“重復(fù)數(shù)據(jù)刪除過濾算法”,并且過濾后的目標(biāo)進(jìn)入“作業(yè)分發(fā)調(diào)度程序”。作業(yè)分配調(diào)度程序?qū)⒆R別目的地是URL還是IP地址,并根據(jù)流程圖進(jìn)行發(fā)送。具有不同的操作流程。最后,結(jié)果進(jìn)入“收集器”,“收集器”自動將結(jié)果提交到WEBRestful接口。3.3?系統(tǒng)功能的插件化設(shè)計當(dāng)“分配調(diào)度器”接收到域名或IP時,它將緩存一定數(shù)量,當(dāng)達(dá)到該數(shù)量時,就會開始掃描操作。掃描端會調(diào)動“插件”,每個功能模塊都用作為一個單獨的插件運(yùn)行。域名和ip會有兩種不同的插件集。對于IP服務(wù),會調(diào)用masscan檢測出開發(fā)的IP端口,然后調(diào)用nmap服務(wù)以標(biāo)識與每個端口相對應(yīng)的服務(wù)類型。如果在打開的端口上找到http服務(wù),則會將其添加到域名掃描隊列中。如果還有其他服務(wù),例如redis,mysql等,則將調(diào)用相應(yīng)的搜索插件進(jìn)行密碼爆破,漏洞攻擊等其他服務(wù)。Poc插件:PoC(全名:ProofofConcept),中文翻譯為概念證明。與安全領(lǐng)域中的某些應(yīng)用程序相比,PoC只是一個漏洞驗證程序,但是無法對漏洞進(jìn)行深度利用,它只是證明漏洞是否存在。對于域名服務(wù),首先發(fā)出http請求,以獲取服務(wù)器返回的標(biāo)頭和正文,并對標(biāo)頭和正文進(jìn)行匹配和關(guān)鍵字分析。獲取服務(wù)器信息。插件化意義在于,每個插件都獲取域名的標(biāo)題和正文進(jìn)行分析,然后返回結(jié)果。然后,它搜索并收集敏感文件中的域名,如.git,svn和其他敏感文件,一些敏感目錄,后臺目錄等。最后,通過指紋識別獲得用于域名的cms系統(tǒng)名稱,并通過該名稱調(diào)用相應(yīng)的攻擊插件。由于這些攻擊插件的及時性,新的漏洞爆發(fā),一個攻擊利用鏈會被迅速利用。該poc插件具有時間效率,poc可能會在2-3個月后失效,所以需要定期維護(hù)poc插件集。Poc插件在添加到客戶端程序時的思路已被棄用,但是由于Python語言的固有靈活性,您從特定網(wǎng)絡(luò)下載攻擊插件,只需將poc插件存儲庫保留在github上即可。識別該服務(wù)后,瀏覽器的工作流程將自動獲取與其自身信息相關(guān)聯(lián)的插件,進(jìn)行攻擊,以確保插件維護(hù)的及時性和有效性。3.3.1?Python代碼原型Python是一門靈活的動態(tài)語言,它是邊解釋邊執(zhí)行的腳本語言,因為這個特性,所以在運(yùn)行的時候動態(tài)修改類或變量,當(dāng)然也在動態(tài)運(yùn)行當(dāng)中加載其他模塊,加載方式是文件或純文本。我們要實現(xiàn)從源碼加載程序的功能,這是一個非常hack的事情。順便幻想一下,如果直接從運(yùn)行中的程序中加載源碼,獲得其功能并再次運(yùn)行,那么是不是我們只需要實現(xiàn)一個類似“加載器”的東西,其主要功能的代碼全部從網(wǎng)上下載?是的這是實現(xiàn)的,我們在線調(diào)用漏洞程序也是依據(jù)此原理進(jìn)而聯(lián)想到的。用Python來實現(xiàn)這個功能,Python的內(nèi)置函數(shù)庫中有importlib庫用于加載模塊的操作,以上在線加載的所有功能依賴該庫即可完成。通過閱讀Python官方文檔的相關(guān)說明,要實現(xiàn)從源碼中加載模塊的功能,需要我們自己實現(xiàn)一個加載器,在該加載器中聲明加載源碼的路徑,文件名,以及申明一個唯一值來代表該模塊。需要注意的是,由于我們是從網(wǎng)絡(luò)上下載源碼,源碼存儲的地方是內(nèi)存中,我們根本不需要將從網(wǎng)絡(luò)上讀取的源碼單獨寫到一個文件中再從文件中調(diào)用,我們只需要讀入到內(nèi)存中,Python有自帶的Compile函數(shù)將它編譯成模塊。同時編譯模塊的路徑我們不需要將它寫成真實路徑,我們只需要一個唯一的偽路徑來表達(dá)即可,每個模塊的唯一值從該源碼文件的md5值計算得出。3.4?調(diào)用外部倉庫由于各種漏洞的發(fā)生,Poc更新也非常頻繁,如果將poc插件放置在設(shè)計“云端”,并且掃描程序僅需要訪問特殊的接口,則從云端加載相關(guān)的插件。這樣不僅保證更新速度,而且易于維護(hù)和使用。在本文的設(shè)計中,將選擇github用作為開放云端,免費(fèi)使用的且維護(hù)的插件與世界各地的開發(fā)人員隨時隨地進(jìn)行通信交流。我的設(shè)計思想是維護(hù)一個github存儲庫來存儲相關(guān)的poc文件,poc文件以python3統(tǒng)一編寫,并且格式一致。api.json文件在github存儲庫的根目錄中以json格式存在,并且內(nèi)容包括漏洞類型,軟件名稱,時間和與漏洞相對應(yīng)的路徑。因此,根據(jù)相應(yīng)的文件路徑找到并加載所需的poc文件。相關(guān)github倉庫示例:/boy-hack/airbug3.5?IP地理位置查詢掃描端需要獲取IP的地理位置,解決方案是通過網(wǎng)絡(luò)的查詢API和開源地理位置數(shù)據(jù)庫。經(jīng)過幾次測試,網(wǎng)絡(luò)的查詢API的準(zhǔn)確性很高,但請求頻率有限,因此決定使用開源的地理信息庫進(jìn)行無限制使用。經(jīng)過篩選,我決定在網(wǎng)絡(luò)上使用開放源代碼的GeoLite2(GeoLite2國家)數(shù)據(jù)庫,它提供了便捷的API,還提供了Python調(diào)用例程。Python調(diào)試代碼如下:importgeoip2.databasedefgeoip(arg):filename=os.path.join(PATHS.DATA_PATH,"GeoLite2","GeoLite2-City.mmdb")reader=geoip2.database.Reader(filename)response=reader.city(arg)d={"country_id":response.country.iso_code,"country":,"region":}returndprint(geoip(''))3.6?收集器設(shè)計收集器以集成方式收集掃描結(jié)果,并自動將其上傳到Webrestful接口進(jìn)行下一步處理。域名或IP掃描結(jié)束后,收集器將通知,并且收集器會將結(jié)果排隊。當(dāng)隊列數(shù)量達(dá)到一定數(shù)量時,會自動讀取隊列中的結(jié)果,批量發(fā)送給web端的restful接口存儲數(shù)據(jù)。整個搜索引擎實際上僅處理兩種類型的元數(shù)據(jù):域名類和ip類,并且這兩種類型的結(jié)果也具有不同的結(jié)果,因此收集器將分別保存這兩種結(jié)果。它使用兩個緩存隊列,這也是提交到Web時讀取這兩種隊列的結(jié)果。在處理域名時,每個掃描插件都將掃描結(jié)果存儲在收集器中,但是有時掃描插件可能需要當(dāng)前域名中其他插件提供的掃描信息。所以必須對接口進(jìn)行設(shè)計,以便收集器返回與該域名對應(yīng)的信息,同時還要考慮插件掃描的執(zhí)行順序(例如,依次運(yùn)行a,b和c插件,首先運(yùn)行a插件,最后運(yùn)行c插件),如果a插件需要從c插件結(jié)果中調(diào)用相關(guān)信息,則無法調(diào)用它,因此還需在設(shè)計中考慮這一點。
第四章?Web端設(shè)計4.1?設(shè)計架構(gòu)MVC模型是Web服務(wù)器領(lǐng)域中眾所周知的開發(fā)模型,它將Web應(yīng)用程序分為三層:模型層(M),控制器(C)和視圖(V)。這三個模型以松散耦合的方式連接,各自發(fā)揮自己的作用。模型層處理業(yè)務(wù)數(shù)據(jù)庫,控制器接收用戶請求并將其發(fā)送到視圖,并且視圖層負(fù)責(zé)與用戶進(jìn)行交互。Django使用的開發(fā)框架基本上是MVC模式架構(gòu)。4.2?Web端總體設(shè)計Web端的作用是顯示數(shù)據(jù)并與用戶交互,前端部分使用Html5+Bootstrap+JavaScript進(jìn)行完善,后端部分使用Python語言和Django框架進(jìn)行開發(fā),而數(shù)據(jù)庫則以MySQL為功能要求由于需要快速使用搜索服務(wù)。還許使用Elasticsearch。根據(jù)對資產(chǎn)配置功能的需求,將sqlite3數(shù)據(jù)庫作為存儲。Web端的“任務(wù)隊列”應(yīng)使用redis數(shù)據(jù)庫,用作任務(wù)的去重,而掃描端應(yīng)使用中間數(shù)據(jù)庫進(jìn)行通信。4.2.1?前端布局設(shè)計前端基于bootstrap框架編寫模板,bootstrap已經(jīng)為我們提供了web前端場景中經(jīng)常使用到的前端組件,我們只需要將這些組件稍微整合成我們需要的樣子即可。本文設(shè)計的前端主要有三個頁面模塊需要設(shè)計,分別是前端首頁的布局,前端導(dǎo)航頁布局,前端資產(chǎn)顯示頁面的布局。前端的布局主要是上下布局,上為導(dǎo)航欄的一些導(dǎo)航鏈接,下為展示界面,首頁的布局主要以藍(lán)色為主色調(diào),其他顏色為作為輔助。首頁布局此設(shè)計的靈感來源是國內(nèi)的zoomeye、Fofa和國外的Shadons,因此設(shè)計的布局也來源于此。頂部是導(dǎo)航欄,顯示了各個主頁的路徑,而左側(cè)是用于統(tǒng)計“國家/地區(qū)”,“服務(wù)名稱”,“開放端口”,“相關(guān)組件”等數(shù)據(jù)信息。右側(cè)顯示基本信息,“頁面標(biāo)題”,“歸屬地”,“頁面正文信息”,“相關(guān)鏈接”,“加入時間”等,以及左側(cè)通過過濾方法選擇的相關(guān)主機(jī)和IP地址。網(wǎng)頁中使用的某些技術(shù)帶有相應(yīng)的圖標(biāo),當(dāng)檢測到漏洞時,標(biāo)題右側(cè)將顯示一個紅色框,以警告用戶該網(wǎng)站可能受到威脅。圖4.1顯示了詳細(xì)的布局。圖4.1首頁布局圖導(dǎo)航布局Dashboard主要用于可視化顯示掃描端系統(tǒng)的狀態(tài)信息,并計算域名、IP和漏洞數(shù)量之類的數(shù)據(jù)。圖表中將顯示掃描結(jié)束時掃描的工作量以及節(jié)點的運(yùn)行狀態(tài)之類的信息。由于在設(shè)計時掃描端是分布式節(jié)點,因此它顯示來自多個節(jié)點的任務(wù)信息,包括掃描隊列信息,掃描次數(shù)和完成的掃描次數(shù)。指示節(jié)點狀態(tài)是running還是pendding。任務(wù)量報告以條形圖顯示,主要顯示每日掃描的工作負(fù)載進(jìn)行直觀比較。工作量報告的基本單位是比較單位,是日,周,月,年等。漏洞統(tǒng)計信息在檢索相關(guān)威脅的漏洞信息后,掃描程序會統(tǒng)計相同類型的威脅信息并以不同的顏色顯示,設(shè)計圖如圖4.2所示。圖4.2導(dǎo)航布局資產(chǎn)布局資產(chǎn)布局用于顯示IP資產(chǎn),域名資產(chǎn)或公司相關(guān)資產(chǎn)的布局,每個布局結(jié)構(gòu)相似但略有不同。資產(chǎn)布局的顯示通過選項卡頁面顯示,選項卡列分為三層:基本信息,域名資產(chǎn)信息和IP資產(chǎn)信息?;拘畔⒂糜陲@示有關(guān)資產(chǎn)的一些基本信息,例如資產(chǎn)名稱,資產(chǎn)描述和資產(chǎn)IP范圍。以下內(nèi)容以圖表形式總結(jié)了總體資產(chǎn)影響的范圍,并以圖表形式總結(jié)了各種應(yīng)用程序所占的百分比。顯示),剩余的域名資產(chǎn)信息和IP資產(chǎn)信息顯示在表中。在資產(chǎn)布局資產(chǎn)統(tǒng)計信息之后,有“域名資產(chǎn)”和“IP資產(chǎn)”的統(tǒng)計表,主要顯示用于此資產(chǎn)的IP或域名使用了哪些技術(shù)。統(tǒng)計后的信息以表格格式顯示,單擊以查看詳情,并查看有關(guān)資產(chǎn)下的域名或IP的詳細(xì)信息。圖4.3資產(chǎn)布局如圖4.3所示,域名資產(chǎn)表格的內(nèi)容包括域名,IP,標(biāo)題,使用說明和其他信息,IP資產(chǎn)表單中的標(biāo)頭信息包括ip,開放端口和其他信息。4.2.2?API模塊設(shè)計掃描端(Client端)需要與Elasticsearch數(shù)據(jù)庫進(jìn)行交互并通過Web的restfulapi進(jìn)行通信。API模塊的設(shè)計就是要解決這個中間問題。有兩個主要接口用于接收域名信息和接收IP信息,它是使用POST提交的,其內(nèi)容為json格式??紤]到API的安全性,使用驗證標(biāo)頭對其進(jìn)行檢查。4.2.3?資產(chǎn)模塊設(shè)計資產(chǎn)模塊的設(shè)計包括添加,刪除,修改,查看和保存資產(chǎn),并使用Elasticsearch搜索引擎顯示資產(chǎn)的詳細(xì)信息。使用MySQL數(shù)據(jù)庫添加,刪除,修改和檢查資產(chǎn),并且“資產(chǎn)”模塊要求輸入如資產(chǎn)名稱,資產(chǎn)描述,IP范圍,域名范圍和額外時間之類的字段,使用elasticsearch過濾出需要的數(shù)據(jù)。4.2.4?搜索模塊設(shè)計在搜索模塊的設(shè)計中,會根據(jù)相應(yīng)的搜索語法來搜索相關(guān)數(shù)據(jù),使用類似于key=“value”的語法搜索,elasticsearch存儲非關(guān)系數(shù)據(jù),字段較多,因此用此搜索方式來搜索數(shù)據(jù)。搜索模塊同時也支持組合查詢。相關(guān)搜索語法示例:?title=“abc”#從標(biāo)題中搜索?header=“abc”#從http頭搜索?body=“123”#從body搜索?url=“.”#搜索的子域名,``號是通配符?ip=‘’#搜索IP,支持CIDR'/24'和通配符搜索'192.168.1.*'?port=‘80’#搜索端口?app=’nginx’#搜索組件?country=‘cn’#搜索國家?service=‘mysql’#搜索服務(wù)?bugs='xx'#尋找存在某個漏洞的地址4.3?數(shù)據(jù)存儲結(jié)構(gòu)對搜索服務(wù)的需求使用Elasticsearch服務(wù)框架,而Elasticsearch是基于它的開源搜索引擎。無論是開源還是專有領(lǐng)域,Lucene都被視為迄今為止最先進(jìn),性能最強(qiáng),功能最強(qiáng)大的搜索引擎庫。因此,數(shù)據(jù)字段的定義應(yīng)基于Elasticsearch規(guī)則。Elasticsearch是一個非關(guān)系型數(shù)據(jù)庫,常見的數(shù)據(jù)類型包括intger整數(shù)型,text文本型和keyword關(guān)鍵詞,date日期型。Elasticsearch基本上會分析分詞,從而使查詢非???。Elasticsearch和關(guān)系數(shù)據(jù)庫以完全不同的方式定義數(shù)據(jù)存儲結(jié)構(gòu),所定義的是一些在系統(tǒng)實現(xiàn)中必須的字段,也是需要被“分析”的字段。類別關(guān)系型數(shù)據(jù)庫Elasticsearch有自己Index和Type,Index就像關(guān)系型數(shù)據(jù)庫里的database,Type就像database里的table。4.3.1?域名信息存儲結(jié)構(gòu)域名信息主要存儲狀態(tài)代碼,標(biāo)題,header頭,網(wǎng)頁源代碼,服務(wù)器文本,IP地址,URL地址,CMS名稱和添加時間。因為它是Elasticsearch存儲數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字段是非關(guān)系型,所以只能人為的確定“索引”中包括哪些字段以及每個字段的含義。數(shù)據(jù)類型與關(guān)系型有所差別,主要體現(xiàn)在定義字段的名稱上。圖用于表示域名字段中的存儲結(jié)構(gòu)及其結(jié)構(gòu)類型。圖4.4域名信息數(shù)據(jù)結(jié)構(gòu)4.3.2?IP信息存儲結(jié)構(gòu)IP信息不僅要存儲位置信息和IP的一些基本信息,包括版本信息,服務(wù)名稱和端口開放信息,因為是非關(guān)系型的數(shù)據(jù)庫,有些數(shù)據(jù)定義字段結(jié)合自身業(yè)務(wù)需求的關(guān)聯(lián)性,需要將數(shù)據(jù)結(jié)構(gòu)定為嵌套結(jié)構(gòu),在嵌套結(jié)構(gòu)中在定義多個相關(guān)字段。Elasticsearch在聚集分析時也支持很多嵌入字段,因此只需要將字段類型定義為Nested。Elasticsearch在分析時就能進(jìn)入到嵌入字段內(nèi)部,對該字段下的下屬字段進(jìn)行分析了。下圖是IP信息存儲結(jié)構(gòu)中定義的字段詳細(xì)信息,包括所包含字段的定義和相關(guān)字段定義的注釋。圖4.5IP信息數(shù)據(jù)結(jié)構(gòu)
第五章運(yùn)行測試5.1Web端運(yùn)行測試5.1.1?首頁首頁會分為三個部分,頂部的導(dǎo)航欄以及下發(fā)左側(cè)的統(tǒng)計信息,用于統(tǒng)計國家,端口,服務(wù)以及App,清楚標(biāo)明數(shù)量,右側(cè)為展示區(qū),展示新掃描到的地址以及相關(guān)的詳情。如圖5.1首頁所示:主頁分為三個部分,頂部的導(dǎo)航欄以及統(tǒng)計信息用于計算國家、端口、服務(wù)和應(yīng)用程序。右側(cè)為展示區(qū),展示掃描到的地址和相關(guān)詳細(xì)信息。如圖5.1第一頁所示:圖5.1?首頁主頁的結(jié)構(gòu)布局樣式,參考shodan,zoomeye和fofa等搜索引擎樣式。但是,但總體上和他們不同的是,左側(cè)的統(tǒng)計信息自動生成相應(yīng)的搜索短語并將其顯示在搜索框中,或單擊搜索框中的搜索按鈕進(jìn)行搜索。與搜索短語相對應(yīng)的鏈接,地址和其他詳細(xì)信息顯示在右側(cè)的界面中。5.1.2?域名資產(chǎn)信息域名資產(chǎn)信息即展示了該域名的詳細(xì)資產(chǎn)信息,如圖5.2所示。如果通過“域名”進(jìn)入到的該頁面,它同時會顯示該域名的子域名對應(yīng)的資產(chǎn)信息,包括子域名的數(shù)量。下圖一個選擇夾分為Basic基礎(chǔ)信息與Historyrecord歷史記錄,基礎(chǔ)信息中顯示ip,標(biāo)題,使用技術(shù),HttpResponse返回包等信息,同時也提供一些第三方在線查詢站點查詢相關(guān)的信息。圖5.2域名資產(chǎn)信息歷史記錄會顯示目標(biāo)掃描的歷史信息,域名或IP可能會在一段時間內(nèi)發(fā)生變化,所以有時歷史信息會更有價值。程序默認(rèn)將目標(biāo)緩存一段時間(默認(rèn)為30天)。當(dāng)緩存期到期時,再次添加目標(biāo)掃描,并且相關(guān)信息將被新的掃描結(jié)果替換。要查找歷史記錄,轉(zhuǎn)到HistoryRecord查看即可。程序自動關(guān)聯(lián)子域名中的所有信息,展示標(biāo)題、IP和使用的框架技術(shù)等,并列出可能存在的威脅。它是程序的核心部分,會把相關(guān)資產(chǎn)鏈串聯(lián)起來,它是程序自動搜索相關(guān)資產(chǎn)的核心部分。自動關(guān)聯(lián)域名如圖5.3所示,單擊域名進(jìn)入詳情頁面,該目錄所有子域名都會被發(fā)現(xiàn),并且會展示子域名的一些關(guān)鍵特征,也單擊此處轉(zhuǎn)到詳細(xì)信息頁面跳轉(zhuǎn)另一個目標(biāo)的詳情頁面。圖5.3子域名資產(chǎn)信息5.1.3?系統(tǒng)統(tǒng)計頁面系統(tǒng)統(tǒng)計信息頁面與整個系統(tǒng)的運(yùn)行狀況分析相同,數(shù)據(jù)分析的起始頁面會統(tǒng)計掃描的域名及IP數(shù)量,對掃描漏洞的狀態(tài)以及每天掃描的工作量進(jìn)行分析,同時也包含運(yùn)行節(jié)點狀態(tài)等。統(tǒng)計頁面主要功能是向用戶提供參考,以便用戶了解整個系統(tǒng)的操作,從而促進(jìn)將來的系統(tǒng)升級和改進(jìn)。第一列顯示域名數(shù)據(jù),IP數(shù)據(jù)和漏洞數(shù)量,第二列以可視條形圖顯示作業(yè)量報告,使用戶方便地了解所有搜索節(jié)點的每日掃描任務(wù)量。漏洞統(tǒng)計是使用內(nèi)置漏洞掃描框架來獲取每個域名的統(tǒng)計信息,將可能出現(xiàn)的漏洞利用點以名稱的形式展現(xiàn)出來,并統(tǒng)計總數(shù),這只是一個大范圍的粗略統(tǒng)計,如果是通過資產(chǎn)配置中進(jìn)行的漏洞統(tǒng)計,將計算詳細(xì)的狀態(tài)和數(shù)量,并且統(tǒng)計信息將變得更加詳細(xì),如圖5.4所示。圖5.4系統(tǒng)統(tǒng)計5.1.4?資產(chǎn)詳情頁面自動查找資產(chǎn)是程序資產(chǎn)關(guān)聯(lián)的一部分,還手動添加一些相關(guān)資產(chǎn),例如,要找到京東的相關(guān)資產(chǎn),只需在資產(chǎn)配置中配置類似于*.即可。還手動將一些關(guān)聯(lián)性的資產(chǎn)加入進(jìn)來,例如像查找騰訊Tencent的相關(guān)資產(chǎn),程序支持通配符進(jìn)行匹配。當(dāng)然目前京東的資產(chǎn)肯定還不止這些,例如*.等等的都加入進(jìn)來,如果又從其他地方找到了京東的IP段劃分范圍,也加入進(jìn)來,資產(chǎn)配置中支持CIDR的IP段描述。加入進(jìn)來后,程序?qū)ο嚓P(guān)的域名范圍以及IP范圍進(jìn)行聚合分析,得出結(jié)果并以圖表的形式展示。資產(chǎn)詳情中的信息由一個tab選擇夾表示,如圖5.5資產(chǎn)詳細(xì)信息所示,主要分為三層,第一層是用于統(tǒng)計基本信息,第二層是域名統(tǒng)計,會將聚合分類到的域名資產(chǎn)以表格的形式在此頁面中展示,第三層是IP資產(chǎn)統(tǒng)計,也是通過Elasticsearch聚合分類的形式以表格的形式在此頁面中統(tǒng)計顯示。圖5.5資產(chǎn)詳情資產(chǎn)詳情是完全由用戶可控配置的,用戶也配置多個資產(chǎn)詳情。在以后的使用場景中,想象,如果配置騰訊的資產(chǎn),京東的資產(chǎn),中國湖北省的資產(chǎn),美國的資產(chǎn)等,程序都分析出該范圍內(nèi)的資產(chǎn)詳細(xì)情況,漏洞情況,方便安全從業(yè)人員對其進(jìn)行安全監(jiān)測以及漏洞挖掘等。5.2?掃描端運(yùn)行測試前面說到,掃描端不會直接與用戶交互的,用戶需要從Web端將相關(guān)數(shù)據(jù)存入到中間件數(shù)據(jù)庫中,由掃描端從中間件數(shù)據(jù)庫讀取消息并按照消息內(nèi)容執(zhí)行程序。掃描端的作用是為WEB端提供數(shù)據(jù)的支持,所以在Web端設(shè)計了一種在web端直接查看掃描節(jié)點的運(yùn)行過程的功能,可查看到當(dāng)前節(jié)點的運(yùn)行日志狀態(tài),如圖5.6節(jié)點日志所示。圖5.6節(jié)點日志通過節(jié)點日志,清楚查看到掃描端的運(yùn)行過程,運(yùn)行時間以及運(yùn)行內(nèi)容,方便快速定位異常點并處理異常。結(jié)束語資產(chǎn)收集的行為已經(jīng)成為黑客們信息收集中必備的手段了,隨著Zoomeye、Fofa、Shodan的廣泛使用,我也曾幻想自己也能寫出和它們一樣的工具,通過這次設(shè)計,因為需求原因接觸到了自己之前從未接觸的東西,例如Elasticsearch,Django等等,出現(xiàn)過很多問題,幸運(yùn)的是最后都被解決了。在最后的部署上線過程中,我又學(xué)習(xí)了Docker的使用,和Nginx與Djangouwsgi的聯(lián)調(diào)方式上線網(wǎng)站,當(dāng)網(wǎng)站成功運(yùn)行的時候,內(nèi)心充滿了滿足感。目前系統(tǒng)還有很多功能優(yōu)化,當(dāng)數(shù)據(jù)量巨大的時候還會有速度的瓶頸等等,但我相信在未來隨著我技術(shù)的提高這些問題都會被逐步解決。
?參考文獻(xiàn)[1]冉世偉.基于Masscan漏洞掃描技術(shù)的研究[D].南開大學(xué),2016.[2]何云華,牛童,劉天一,肖珂,蘆翔.網(wǎng)絡(luò)匿名掃描系統(tǒng)設(shè)計及優(yōu)化[J].計算機(jī)應(yīng)用,2019,39(05):1385-1388.[3]王續(xù)法.基于Redis的一致性分析與改進(jìn)[D].電子科技大學(xué),2017.[4]張建鵬.利用Nmap監(jiān)測網(wǎng)絡(luò)安全[J].網(wǎng)絡(luò)安全和信息化,2017(09):122-123.[5]白潔.大數(shù)據(jù)應(yīng)用[J].信息安全與通信保密,2013(10):13-16.[6]張哲,劉云鶴,王乃生.ElasticSearch分布式搜索引擎在地名地址檢索中的應(yīng)用[J].測繪與空間地理信息,2020,43(01):184-187.[7]郭楚栩,施勇,薛質(zhì).基于機(jī)器學(xué)習(xí)的端口掃描入侵檢測[J].通信技術(shù),2020,53(02):421-426.[8]俞海.基于Nmap網(wǎng)絡(luò)掃描的場景仿真實驗[J].紹興文理學(xué)院學(xué)報(自然科學(xué)),2017,37(01):28-31.[9]王凱,李志超,王榮昌,高文清,王微雅,王炅.基于Nmap&Nessus的漏洞掃描[J].通信電源技術(shù),2020,37(03):135-136.[10]王迎生,宗學(xué),梁后健.基于NMAP的電力公司網(wǎng)絡(luò)漏洞管理實踐[J].數(shù)字技術(shù)與應(yīng)用,2016(06):209-210.
致謝在整個論文編寫以及程序設(shè)計期間,我要特別感謝張彤宇老師,從論文的確定題材、資料收集再到論文的撰寫完成的階段,張彤宇老師每一個環(huán)節(jié)都在指導(dǎo)我如何去做,從項目的整體架構(gòu)、設(shè)計思路都為我提供了很好的理念,本次項目目前不是很成熟,但老師豐富的經(jīng)驗讓我少走很多彎路,也是在老師指導(dǎo)期間,一直在不停學(xué)習(xí)、進(jìn)步,程序也從最初稚嫩的模板逐漸開發(fā)成品,老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,豐富的實踐經(jīng)驗讓我受益匪淺。
怎樣提高電腦系統(tǒng)運(yùn)行速度WindowsXP的啟動速度比Windows2000要快30%左右,但相對于Windows98仍然要慢了不少,不過,我們可以通過優(yōu)化設(shè)置,來大大提高WindowsXP的啟動速度。加快系統(tǒng)啟動速度主要有以下方法:盡量減少系統(tǒng)在啟動時加載的程序與服務(wù);對磁盤及CPU等硬件進(jìn)行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動等待時間等。這些方法大部分既可減少系統(tǒng)啟動的時間,又可以節(jié)省系統(tǒng)資源,加快電腦運(yùn)行速度。1.加快系統(tǒng)啟動速度WindowsXP的啟動速度比Windows2000要快30%左右,但相對于Windows98仍然要慢了不少,不過,我們可以通過優(yōu)化設(shè)置,來大大提高WindowsXP的啟動速度。加快系統(tǒng)啟動速度主要有以下方法:盡量減少系統(tǒng)在啟動時加載的程序與服務(wù);對磁盤及CPU等硬件進(jìn)行優(yōu)化設(shè)置;修改默認(rèn)設(shè)置,減少啟動等待時間等。這些方法大部分既可減少系統(tǒng)啟動的時間,又可以節(jié)省系統(tǒng)資源,加快電腦運(yùn)行速度。(1)MsconfigWindowsXP的啟動速度在系統(tǒng)安裝初期還比較快,但隨著安裝的軟件不斷增多,系統(tǒng)的啟動速度會越來越慢,這是由于許多軟件把自己加在了啟動程序中,這樣開機(jī)即需運(yùn)行,大大降低了啟動速度,而且也占用了大量的系統(tǒng)資源。對于這樣一些程序,我們可以通過系統(tǒng)配置實用程序Msconfig將它們從啟動組中排除出去。選擇“開始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對話框中鍵入“Msconfig”,回車后會彈出“系統(tǒng)配置實用程序”對話框,選擇其中的“啟動”選項卡(如圖1),該選項卡中列出了系統(tǒng)啟動時加載的項目及來源,仔細(xì)查看每個項目是否需要自動加載,否則清除項目前的復(fù)選框,加載的項目越少,啟動的速度就越快。設(shè)置完成后需要重新啟動方能生效。(2)BootvisBootvis是微軟提供的一個啟動優(yōu)化工具,可提高WindowsXP的啟動速度。用BootVis提升WindowsXP的啟動速度必須按照正確的順序進(jìn)行操作,否則將不會起到提速的效果。其正確的操作方法如下:啟動Bootvis,從其主窗口(如圖2)中選擇“工具”菜單下的“選項”命令,在“符號路徑”處鍵入Bootvis的安裝路徑,如“C:\ProgramFiles\Bootvis”,單擊“保存”退出。從“跟蹤”菜單中選擇“下次引導(dǎo)”命令,會彈出“重復(fù)跟蹤”對話框,單擊“確定”按鈕,BootVis將引導(dǎo)WindowsXP重新啟動,默認(rèn)的重新啟動時間是10秒。系統(tǒng)重新啟動后,BootVis自動開始運(yùn)行并記錄啟動進(jìn)程,生成啟動進(jìn)程的相關(guān)BIN文件,并把這個記錄文件自動命名為TRACE_BOOT_1_1。程序記錄完啟動進(jìn)程文件后,會重新啟動BootVis主界面,在“文件”菜單中選擇剛剛生成的啟動進(jìn)程文件“TRACE_BOOT_1_1”。窗口中即會出現(xiàn)“CPU>使用”、“磁盤I/O”、“磁盤使用”、“驅(qū)動程序延遲”等幾項具體圖例供我們分析,不過最好還是讓BootVis程序來自動進(jìn)行分析:從“跟蹤”菜單中選擇“系統(tǒng)優(yōu)化”命令,程序會再次重新啟動計算機(jī),并分析啟動進(jìn)程文件,從而使計算機(jī)啟動得更快。(3)禁用多余的服務(wù)WindowsXP在啟動時會有眾多程序或服務(wù)被調(diào)入到系統(tǒng)的內(nèi)存中,它們往往用來控制Windows系統(tǒng)的硬件設(shè)備、內(nèi)存、文件管理或者其他重要的系統(tǒng)功能。但這些服務(wù)有很多對我們用途不大甚至根本沒有用,它們的存在會占用內(nèi)存和系統(tǒng)資源,所以應(yīng)該將它們禁用,這樣最多可以節(jié)省70MB的內(nèi)存空間,系統(tǒng)速度自然也會有很大的提高。選擇“開始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對話框鍵入“services.msc”后回車,即可打開“服務(wù)”窗口。窗口的服務(wù)列表中列出了系統(tǒng)提供的所有服務(wù)的名稱、狀態(tài)及啟動類型。要修改某個服務(wù),可從列表雙擊它,會彈出它的屬性對話框(如圖3),你可從“常規(guī)”選項卡對服務(wù)進(jìn)行修改,通過單擊“啟動”、“停止”、“暫?!?、“恢復(fù)”四個按鈕來修改服務(wù)的狀態(tài),并可從“啟動類型”下拉列表中修改啟動類型,啟動類型有“自動”、“手動”、“已禁用”三種。如果要禁止某個服務(wù)在啟動自動加載,可將其啟動類型改為“已禁用”。WindowsXP提供的所有服務(wù)有36個默認(rèn)是自動啟動的,實際上,其中只有8個是必須保留的(見下表),其他的則可根據(jù)自己的需要進(jìn)行設(shè)置,每種服務(wù)的作用在軟件中有提示。4)修改注冊表來減少預(yù)讀取,減少進(jìn)度條等待時間WindowsXP在啟動過程中會出現(xiàn)一個進(jìn)度條,我們可以通過修改注冊表,讓進(jìn)度條只跑一圈就進(jìn)入登錄畫面。選擇“開始”菜單中的“運(yùn)行”命令,在“運(yùn)行”對話框鍵入“regedit”命令后回車,即可啟動注冊表編輯器,在注冊表中找HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters,選擇其下的EnablePrefetcher鍵,把它的鍵值改為“1”即可。(5)減少開機(jī)磁盤掃描等待時間當(dāng)Windows日志中記錄有非正常關(guān)機(jī)、死機(jī)引起的重新啟動,系統(tǒng)就會自動在啟動的時候運(yùn)行磁盤掃描程序。在默認(rèn)情況下,掃描每個分區(qū)前會等待10秒鐘,如果每個分區(qū)都要等上10秒才能開始進(jìn)行掃描,再加上掃描本身需要的時間,會耗費(fèi)相當(dāng)長的時間才能完成啟動過程。對于這種情況我們可以設(shè)置取消磁盤掃描的等待時間,甚至禁止對某個磁盤分區(qū)進(jìn)行掃描。選擇“開始→運(yùn)行”,在運(yùn)行對話框中鍵入“chkntfs/t:0”,即可將磁盤掃描等待時間設(shè)置為0;如果要在計算機(jī)啟動時忽略掃描某個分區(qū),比如C盤,可以輸入“chkntfs/xc:”命令;如果要恢復(fù)對C盤的掃描,可使用“chkntfs/dc:”命令,即可還原所有chkntfs默認(rèn)設(shè)置,除了自動文件檢查的倒計時之外。2.提高系統(tǒng)運(yùn)行速度提升系統(tǒng)運(yùn)行速度的思路與加快啟動的速度類似:盡量優(yōu)化軟硬件設(shè)置,減輕系統(tǒng)負(fù)擔(dān)。以下是一些常用的優(yōu)化手段。(1)設(shè)置處理器二級緩存容量WindowsXP無法自動檢測處理器的二級緩存容量,需要我們自己在注冊表中手動設(shè)置,首先打開注冊表,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”,選擇其下的“SecondLevelDataCache”,根據(jù)自己所用的處理器設(shè)置即可,例如PIIICoppermine/P4Willamette是“256”,AthlonXP是“384”,P4Northwood是“512”。(2)提升系統(tǒng)緩存同樣也是在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”位置,把其下的“LargeSystemCache”鍵值從0改為1,WindowsXP就會把除了4M之外的系統(tǒng)內(nèi)存全部分配到文件系統(tǒng)緩存中,這樣XP的內(nèi)核能夠在內(nèi)存中運(yùn)行,大大提高系統(tǒng)速度。通常來說,該優(yōu)化會使系統(tǒng)性能得到相當(dāng)?shù)奶嵘?,但也有可能會使某些?yīng)用程序性能降低。需要注意的是必須有256M以上的內(nèi)存,激活LargeSystemCache才可起到正面的作用,否則不要輕易改動它。(3)改進(jìn)輸入/輸出性能這個優(yōu)化能夠提升系統(tǒng)進(jìn)行大容量文件傳輸時的性能,不過這只對服務(wù)器用戶才有實在意義。我們可在中新建一個DWORD(雙字節(jié)值)鍵值,命名為IOPageLockLimit。一般情況下把數(shù)據(jù)設(shè)置8~16MB之間性能最好,要記住這個值是用字節(jié)來計算的,例如你要分配10MB的話,就是10×?1024×1024,也就是10485760。這里的優(yōu)化也需要你的機(jī)器擁有大于256M的內(nèi)存。(4)禁用內(nèi)存頁面調(diào)度在正常情況下,XP會把內(nèi)存中的片斷寫入硬盤,我們可以阻止它這樣做,讓數(shù)據(jù)保留在內(nèi)存中,從而提升系統(tǒng)性能。在注冊表中找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\”下的“DisablePagingExecutive”鍵,把它的值從0改為1即可禁止內(nèi)存頁面調(diào)度了。(5)關(guān)閉自動重新啟動功能當(dāng)WindowsXP遇到嚴(yán)重問題時便會突然重新開機(jī),可從注冊表將此功能取消。打開注冊表編輯器,找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl\”將AutoReboot鍵的Dword值更改為0,重新啟動后設(shè)置即可生效。(6)改變視覺效果WindowsXP在默認(rèn)情況下啟用了幾乎所有的視覺效果,如淡入淡出、在菜單下顯示陰影。這些視覺效果雖然漂亮,但對系統(tǒng)性能會有一定的影響,有時甚至造成應(yīng)用軟件在運(yùn)行時出現(xiàn)停頓。一般情況下建議少用或者取消這些視覺效果。選擇桌面上“我的電腦”圖標(biāo),單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”命令,打開“系統(tǒng)屬性”對話框。選擇“高級”選項卡,在其中的“性能”欄中單擊“設(shè)置”按鈕,會彈出“性能選項”對話框(如圖4),可選擇“調(diào)整為最佳性能”單選框來關(guān)閉所有的視覺效果,也可選擇“自定義”然后選擇自己需要的視覺效果。(7)合理設(shè)置頁面虛擬內(nèi)存同樣也是在“性能選項”對話框中,選擇“高級”選項卡,在其中的“虛擬內(nèi)存”欄中單擊“更改”按鈕,接下來選擇虛擬內(nèi)存為“自定義大小”,然后設(shè)置其數(shù)值。一般情況下,把虛擬設(shè)為不小于256M,不大于382M比較合適,而且最大值和最小值最好一樣。(8)修改外觀方案WindowsXP默認(rèn)的外觀方案雖然漂亮,但對系統(tǒng)資源的占用也多,可將其改為經(jīng)典外觀以獲得更好的性能。在桌面空白位置單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“屬性”命令,會打開“顯示屬性”對話框,在“主題”選項卡選擇主題為“Windows經(jīng)典”,即可將外觀修改為更為經(jīng)濟(jì)的Windows經(jīng)典外觀。(9)取消XP對ZIP支持WindowsXP在默認(rèn)情況下打開了對zip文件支持,這要占用一定的系統(tǒng)資源,可選擇“開始→運(yùn)行”,在“運(yùn)行”對話框中鍵入“regsvr32/uzipfldr.dll”,回車確認(rèn)即可取消XP對ZIP解壓縮的支持,從而節(jié)省系統(tǒng)資源。(10)關(guān)閉Dr.WatsonDr.Watson是WindowsXP的一個崩潰分析工具,它會在應(yīng)用程序崩潰的時候自動彈出,并且在默認(rèn)情況下,它會將與出錯有關(guān)的內(nèi)存保存為DUMP文件以供程序員分析。不過,記錄DUMP文件對普通用戶則毫無幫助,反而會帶來很大的不便:由于Dr.Watson在應(yīng)用程序崩潰時會對內(nèi)存進(jìn)行DUMP記錄,將出現(xiàn)長時間硬盤讀寫操作,要很長一斷時間程序才能關(guān)閉,并且DUMP文件還會占用大量磁盤空間。要關(guān)閉Dr.Watson可打開注冊表編輯器,找到“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug”分支,雙擊其下的Auto鍵值名稱,將其“數(shù)值數(shù)據(jù)”改為0,最后按F5刷新使設(shè)置生效,這樣就取消它的運(yùn)行了。同樣,我們可以把所有具備調(diào)試功能的選項取消,比如藍(lán)屏?xí)r出現(xiàn)的memory.dmp,可在“系統(tǒng)屬性”對話框中選擇“高級”選項卡,單擊“啟動和故障恢復(fù)”欄中的“設(shè)置”按鈕,并在彈出的“啟動和故障恢復(fù)”對話框中選擇“寫入調(diào)試信息”為“無”(如圖5)。(11)啟動硬盤/光驅(qū)DMA模式打開“系統(tǒng)屬性”對話框,選擇“硬件”選擇卡中的“設(shè)備管理器”按鈕,打開“設(shè)備管理器”窗口,在設(shè)備列表中選擇“IDEATA/ATAPI控制器”,雙擊“主要IDE通道”或“次要IDE通過”,在其屬性對話框的“高級設(shè)置”選項卡中檢查DMA模式是否已啟動,一般來說如果設(shè)備支持,系統(tǒng)就會自動打開DMA功能,如果沒有打開可將“傳輸模式”設(shè)為“DMA(若可用)”。(12)關(guān)掉不用的設(shè)備WindowsXP總是盡可能為電腦的所有設(shè)備安裝驅(qū)動程序并進(jìn)行管理,這不僅會減慢系統(tǒng)啟動的速度,同時也造成了系統(tǒng)資源的大量占用。針對這一情況,你可在設(shè)備管理器中,將PCMCIA卡、調(diào)制解調(diào)器、紅外線設(shè)備、打印機(jī)端口(LPT1)或者串口(COM1)等不常用的設(shè)備停用,方法是雙擊要停用的設(shè)備,在其屬性對話框中的“常規(guī)”選項卡中選擇“不要使用這個設(shè)備(停用)”。在重新啟動設(shè)置即可生效,當(dāng)需要使用這些設(shè)備時再從設(shè)備管理器中啟用它們。(13)關(guān)閉錯誤報告當(dāng)應(yīng)用程序出錯時,會彈出發(fā)送錯誤報告的窗口,其實這樣的錯誤報告對普通用戶而言幾乎沒有任何意義,關(guān)閉它是明智的選擇。在“系統(tǒng)屬性”對話框中選擇“高級”選項卡,單擊“錯誤報告”按鈕,在彈出的“錯誤匯報”對話框中,選擇“禁用錯誤匯報”單選項,最后單擊“確定”即可。另外我們也可以從組策略中關(guān)閉錯誤報告:從“運(yùn)行”中鍵入“gpedit.msc”,運(yùn)行“組策略編輯器”,展開“計算機(jī)配置→管理模板→系統(tǒng)→錯誤報告功能”,雙擊右邊設(shè)置欄中的“報告錯誤”,在彈出的“屬性”對話框中選擇“已禁用”單選框即可將“報告錯誤”禁用。(14)關(guān)閉自動更新“自動更新”功能對許多WindowsXP用戶而言并不是必需的,可將其關(guān)閉以節(jié)省系統(tǒng)資源。在“我的電腦”上單擊鼠標(biāo)右鍵,從快捷菜單中選擇“屬性”命令,選擇“系統(tǒng)屬性”對話框中的“自動更新”選項卡,勾選“關(guān)閉自動更新,我將手動更新計算機(jī)”單選框,單擊“確定”按鈕即可關(guān)閉自動更新功能。如果在“服務(wù)”已經(jīng)將“AutomaticUpdates”服務(wù)關(guān)閉,“系統(tǒng)屬性”對話框中的“自動更新”選項卡就不能進(jìn)行任何設(shè)置了。(15)去掉菜單延遲去掉菜單彈出時的延遲,可以在一定程度上加快XP。要修改的鍵值位置在“HKEY_CURRENT_USER\ControlPanel\Desktop”。修改其下的“MenuShowDelay”鍵,把默認(rèn)的400修改為0,按F5刷新注冊表即可生效。(16)清除預(yù)讀文件WindowsXP的預(yù)讀設(shè)置雖然可以提高系統(tǒng)速度,但是使用一段時間后,預(yù)讀文件夾里的文件數(shù)量會變得相當(dāng)龐大,導(dǎo)致系統(tǒng)搜索花費(fèi)的時間變長。而且有些應(yīng)用程序會產(chǎn)生死鏈接文件,更加重了系統(tǒng)搜索的負(fù)擔(dān)。所以,應(yīng)該定期刪除這些預(yù)讀文件。預(yù)計文件存放在WindowsXP系統(tǒng)文件夾的Prefetch文件夾中,該文件夾下的所有文件均可刪除。(17)關(guān)閉自動播放功能在WindowsXP中,當(dāng)往光驅(qū)中放入光盤或?qū)SB硬盤接上電腦時,系統(tǒng)都會自動將光驅(qū)或USB硬盤掃描一遍,同時提示你是否播放里面的圖片、視頻、音樂等文件,如果是擁有多個分區(qū)的大容量的USB硬盤,掃描會耗費(fèi)很長的時間,而且你得多次手動關(guān)閉提示窗口,非常麻煩。這種情況下我們可以將WindowsXP的自動播放功能關(guān)閉。運(yùn)行“組策略”程序。在組策略窗口左邊欄中,打開“計算機(jī)配置”,選擇“管理模板”下的“系統(tǒng)”,然后在右邊的配置欄中找到“關(guān)閉自動播放”并雙擊它,會彈出“關(guān)閉自動播放屬性”對話框。在其中“設(shè)置”選項卡中選擇“已啟用”,“關(guān)閉自動播放”下拉列表中選擇“所有驅(qū)動器”(如圖6)。這樣以后就不用擔(dān)心WindowsXP的“自動播放”功能帶來的麻煩了。如果你只是想禁止系統(tǒng)掃描某個驅(qū)動器(如USB硬盤)上的文件,可采用下面的方法。先連上你的USB硬盤,讓系統(tǒng)將它識別出來。然后打開“我的電腦”,選擇USB硬盤上的某個分區(qū),按鼠標(biāo)右鍵,會彈出磁盤屬性窗口,選取“自動播放”選項卡,將所有內(nèi)容的類型都選擇為不執(zhí)行操作。如果USB硬盤有多個分區(qū),對所有分區(qū)都進(jìn)行同樣的操作,這樣當(dāng)你將USB驅(qū)動器拔掉再重新接上時,系統(tǒng)會將USB硬盤識別出來,而不會反復(fù)問你是否播放USB硬盤中的文件了。3.加快關(guān)機(jī)速度WindowsXP的關(guān)機(jī)速度要慢于啟動速度,特別有些任務(wù)還需要手工結(jié)束,更加延緩了關(guān)機(jī)速度。因此,要加快關(guān)機(jī)速度,首先要開啟WindowsXP的自動結(jié)束任務(wù)功能。具體步驟是:從注冊表中找到“HKEY_CURRENT_USER\ControlPanel\Desktop”,把“AutoEndTasks”的鍵值設(shè)置為1即可。然后再修改“HungAppTimeout”為“4000(或更小)”(預(yù)設(shè)為5000),該鍵值同樣也在“HKEY_CURRENT_USER\ControlPanel\Desktop”下;最后一步再找到“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\”,同樣把WaitToKillServiceTimeout設(shè)置為“4000”;通過這樣設(shè)置后的關(guān)機(jī)速度明顯要加快了。夠全面吧~~◆二、硬件優(yōu)化設(shè)置◆1、關(guān)掉不用的設(shè)備
在設(shè)備管理器中,將PCMCIA卡、調(diào)制解調(diào)器、紅外線設(shè)備、打印機(jī)端口(LPT1)或者串口(COM1)等不常用的設(shè)備停用,在要停用設(shè)備屬性對話框中的“常規(guī)”選項卡中選擇“不要使用這個設(shè)備(停用)”。當(dāng)需要使用這些設(shè)備時再從設(shè)備管理器中啟用它們?!?、內(nèi)存性能優(yōu)化
WindowsXP中有幾個選項可以優(yōu)化內(nèi)存性能,它們?nèi)荚谧员硐旅嫖恢茫篐KEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession
ManagerMemory
Management
1)禁用內(nèi)存頁面調(diào)度(Paging
Executive)
XP會把內(nèi)存中的片斷寫入硬盤,我們可以阻止它這樣做,讓數(shù)據(jù)保留在內(nèi)存中,從而提升系統(tǒng)性能。256M以上內(nèi)存才使用這個設(shè)置。把“DisablePagingExecutive”的值從0改為1就可以禁止內(nèi)存頁面調(diào)度了。
2)提升系統(tǒng)緩存
必須有256M以上的內(nèi)存,才激活它。把LargeSystemCache鍵值從0改為1,一般來說,這項優(yōu)化會使系統(tǒng)性能得到相當(dāng)?shù)奶嵘灿锌赡軙鼓承?yīng)用程序性能降低。
3)輸入/輸出性能
內(nèi)存大于256M才更改這里的值,這個優(yōu)化只對server(服務(wù)器)用戶才有實在意義,它能夠提升系統(tǒng)進(jìn)行大容量文件傳輸時的性能。建一個DWORD(雙字節(jié)值)鍵值,命名為IOPageLockLimit,數(shù)值設(shè)8M-16M字節(jié)之間性能最好,具體設(shè)什么值,可試試哪個值可獲得最佳性能。這個值是用字節(jié)來計算的,比如你要分配12M,就是12×1024×1024,也就是12582912?!?、啟動硬盤/光驅(qū)DMA模式
“系統(tǒng)屬性”-“硬件”-“設(shè)備管理器”,在設(shè)備列表中選擇“IDE
ATA/ATAPI控制器”,雙擊“主要
IDE
通道”或“次要
IDE
通道”,在其屬性
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋁合金產(chǎn)品銷售合同
- 煤炭運(yùn)銷合作協(xié)議
- 燃?xì)夤艿辣O(jiān)理人員聘用合同
- 醫(yī)院新生兒配奶制度
- 寫字樓升級石膏板吊頂施工合同
- 云計算服務(wù)租賃合同轉(zhuǎn)讓模板
- 河道治理鉆探施工合同范本
- 辦公樓外墻施工安全合同
- 門禁系統(tǒng)的安裝方法及措施五篇范文
- 停車設(shè)施建設(shè)協(xié)議
- 服務(wù)質(zhì)量保障措施及進(jìn)度保障措施
- 牙周炎詳細(xì)版課件
- 魚塘清淤回填施工技術(shù)方案
- 建筑工程企業(yè)自我評價報告書
- 江蘇省南京市聯(lián)合體2023~2024學(xué)年八年級下學(xué)期期末考試數(shù)學(xué)試卷
- 2024年交管12123學(xué)法減分考試試題庫及答案
- DZ∕T 0262-2014 集鎮(zhèn)滑坡崩塌泥石流勘查規(guī)范(正式版)
- 微量元素與人體健康智慧樹知到期末考試答案章節(jié)答案2024年吉林大學(xué)
- 2024燕舞集團(tuán)限公司公開招聘10人公開引進(jìn)高層次人才和急需緊缺人才筆試參考題庫(共500題)答案詳解版
- 湘教版一年級上冊音樂全冊教案2
- 延安紅色文化資源開發(fā)利用研究
評論
0/150
提交評論