畢業(yè)設(shè)計(jì)So Easy:基于C++實(shí)現(xiàn)網(wǎng)絡(luò)掃描器
很多計(jì)算機(jī)專業(yè)大學(xué)生經(jīng)常和我交流:畢業(yè)設(shè)計(jì)沒思路、不會(huì)做、論文不會(huì)寫、太難了......
針對(duì)這些問題,決定分享一些軟、硬件項(xiàng)目的設(shè)計(jì)思路和實(shí)施方法,希望可以幫助大家,也祝愿各位學(xué)子,順利畢業(yè)!
項(xiàng)目專欄:https://blog.csdn.net/m0_38106923/category_11085518.html?spm=1001.2014.3001.5482
對(duì)計(jì)算機(jī)技術(shù)感興趣的小伙伴請關(guān)注公眾號(hào):美男子玩編程,公眾號(hào)優(yōu)先推送最新技術(shù)博文,創(chuàng)作不易,請各位朋友多多點(diǎn)贊、收藏、關(guān)注支持~
目前主流的網(wǎng)絡(luò)掃描器,大多數(shù)采用的是命令行界面,用戶使用的門檻相對(duì)較高,可視化的圖形界面旨在提供給用戶一個(gè)友好的使用環(huán)境,這種用戶—界面的體系結(jié)構(gòu)深受廣大喜愛。它不需要用戶去熟記過多的參數(shù),只需要填入相應(yīng)的關(guān)鍵信息,通過鼠標(biāo)點(diǎn)擊選擇即可完成,大大降低了操作使用的難度。
1
系統(tǒng)目標(biāo)
本設(shè)計(jì)的最終目標(biāo)是打造一個(gè)具有多種掃描功能的網(wǎng)絡(luò)掃描器。該掃描器具有以下功能:
可視化的圖形界面,旨在為用戶提供友好的使用環(huán)境。
實(shí)現(xiàn)一些基本的掃描任務(wù),如讀取到目的主機(jī)的軟硬件信息,開放的端口等等。
幫助用戶去自動(dòng)生成符合用戶心理的掃描結(jié)果報(bào)告,并將掃描結(jié)果以文件的形式展現(xiàn)出了。
其對(duì)應(yīng)的整體層次設(shè)計(jì)圖如下圖所示:
項(xiàng)目工程資源下載請參見:https://www.syjshare.com/res/40V489VZ
2
系統(tǒng)原理
管理員站在攻擊者的角度去看網(wǎng)絡(luò)掃描器的工作原理,一切都變得清晰易懂。作為一個(gè)攻擊者,管理員會(huì)考慮首先去搜索網(wǎng)絡(luò)上存活的主機(jī),選擇其中某一些主機(jī)作為管理員攻擊的目標(biāo),管理員再通過向目標(biāo)主機(jī)發(fā)送數(shù)據(jù)包,通過分析反饋的數(shù)據(jù)包,尋找可能存在的安全隱患,通過利用這些安全隱患去模擬嘗試攻擊,找到修復(fù)該安全隱患的解決方案,從而達(dá)到修復(fù)漏洞的目的。網(wǎng)絡(luò)掃描器的工作原理如下圖所示:
3
系統(tǒng)設(shè)計(jì)
3.1、主機(jī)掃描模塊
主機(jī)掃描就是掃描網(wǎng)絡(luò)中可能存在的主機(jī),主要是通過向特定的主機(jī)或者目的 IP 發(fā)送構(gòu)造的 ICMP 協(xié)議包來確定目標(biāo)網(wǎng)絡(luò)上的主機(jī)是否可達(dá)。其流程圖如下圖所示:
3.2、端口掃描模塊
對(duì)某一 IP 段目標(biāo)主機(jī) IP 的一段端口逐個(gè)連接,通過發(fā)送數(shù)據(jù)包對(duì)目標(biāo)主機(jī)進(jìn)行通信,根據(jù)反饋回來的數(shù)據(jù)包信息判斷該主機(jī)的開放狀態(tài),根據(jù)其開放端口所對(duì)應(yīng)的主機(jī)服務(wù)去有針對(duì)性的發(fā)起相關(guān)的服務(wù)缺陷攻擊。其流程圖如下圖所示:
3.3、NetBIOS 掃描模塊
對(duì)網(wǎng)上基本輸入輸出系統(tǒng) NetBIOS 協(xié)議而言,它作為應(yīng)用層上的一種特殊的協(xié)議,它常常被用來管理局域網(wǎng)上的主機(jī),通過該協(xié)議的相關(guān)約定,管理員可以很方便的讀取到局域網(wǎng)上相關(guān)目標(biāo)主機(jī)可擁有的相關(guān)屬性的詳細(xì)信息。其流程圖如下圖所示:
3.4、SNMP掃描模塊
簡單網(wǎng)絡(luò)管理協(xié)議 SNMP 是對(duì)智能終端設(shè)備做簡單管理,管理員可以利用該協(xié)議的相關(guān)約定去獲取支持該協(xié)議的各種設(shè)備的詳細(xì)的信息。其流程圖如下圖所示:
3.5、弱密碼掃描模塊
弱密碼掃描是逐個(gè)對(duì)目標(biāo)主機(jī)的用戶名和密碼進(jìn)行掃描,依次窮舉遍歷所有的用戶名和密碼的組合,用遍歷生成的密碼去逐次嘗試驗(yàn)證。通過密碼驗(yàn)證系統(tǒng)給出的正確或錯(cuò)誤的反饋來判斷是否成功獲取到了用戶的信息。其流程圖如下圖所示:
3.6、****器掃描模塊
****器掃描是對(duì)所接收到的所有數(shù)據(jù)包進(jìn)行實(shí)時(shí)監(jiān)聽,然后依次與監(jiān)測關(guān)鍵字進(jìn)行匹配,篩選出那些關(guān)鍵信息。其流程圖如下圖所示:
3.7、DOS攻擊模塊
DOS 攻擊是對(duì)目標(biāo) IP 的特定端口采用指定的線程數(shù)去發(fā)送大量的數(shù)據(jù)和連接請求,不斷的消耗目標(biāo)主機(jī)的資源,從而造成目標(biāo)主機(jī)連接資源耗盡,導(dǎo)致其它主機(jī)無法使用這些連接資源。其流程圖如下圖所示:
3.8、注入檢測模塊
由于程序員及軟件設(shè)計(jì)師在編寫程序或設(shè)計(jì)相關(guān)軟件模型的過程中出現(xiàn)了設(shè)計(jì)缺陷,導(dǎo)致非法用戶可以通過構(gòu)造一系列特殊的字符串去拼接到軟件的缺陷部分,從而導(dǎo)致非授權(quán)用戶可以繞過系統(tǒng)驗(yàn)證而讀取到數(shù)據(jù)庫中的隱私數(shù)據(jù),從而造成信息的泄露,造成巨大的損失。其流程圖如下圖所示:
3.9、報(bào)告生成模塊
報(bào)告生成是網(wǎng)絡(luò)掃描器所提供的任意多種掃描功能對(duì)目標(biāo) IP 的掃描結(jié)果進(jìn)行匯總,最終以報(bào)告的形式打印出來,提供了 html、txt 和 xml 三種打印格式。其流程圖如下圖所示:
4
系統(tǒng)實(shí)現(xiàn)
4.1、工作流圖
網(wǎng)絡(luò)掃描器主要工作流程圖如下圖所示:
4.2、界面設(shè)計(jì)
4.2.1、主界面
網(wǎng)絡(luò)掃描器主界面如下圖所示:
4.2.2、子界面
網(wǎng)絡(luò)掃描器共實(shí)現(xiàn)了九個(gè)功能模塊,下面管理員分別看看這九個(gè)功能模塊的子界面。
下圖的是主機(jī)掃描功能模塊的界面:
下圖展示的是端口掃描功能模塊的界面:
下圖展示的是 NetBIOS 掃描功能模塊的界面:
下圖展示的是 SNMP 掃描功能模塊的界面:
下圖展示的是弱密碼掃描功能模塊的界面:
下圖展示的是****器掃描功能模塊的界面:
下圖展示的是 DOS 攻擊功能模塊的界面:
下圖展示的是注入檢測功能模塊的界面:
下圖展示的是報(bào)告生成功能模塊的界面:
項(xiàng)目工程資源下載請參見:https://www.syjshare.com/res/40V489VZ
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。