




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、滁州學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:設(shè)計(jì)題目:基于多線程的端口掃描程序院部:計(jì)算機(jī)與信息工程學(xué)院專業(yè):網(wǎng)絡(luò)工程組別:第六組起止日期:起12年12月31日2013年1月6日指導(dǎo)教師:計(jì)算機(jī)與信息工程學(xué)院二。一二年制課程設(shè)計(jì)任務(wù)書課程設(shè)計(jì)題目;良于多線程的端口掃描程序組長(zhǎng)學(xué)號(hào)班級(jí)院部計(jì)算機(jī)與信息工程專業(yè)網(wǎng)絡(luò)工程組員指導(dǎo)教師課程設(shè)計(jì)目的鍛煉Java高級(jí)編程的能力課程設(shè)計(jì)所需環(huán)境PG Windows xp, JCretor Pro課程設(shè)計(jì)任務(wù)要求使用Socket實(shí)現(xiàn)簡(jiǎn)單的端口掃描功能。分別針對(duì) TCP 和UDP采用多線程技術(shù)實(shí)現(xiàn)端口掃描,給出掃描結(jié)果。課程設(shè)計(jì)工作進(jìn)度計(jì)劃序號(hào)起止日期工作內(nèi)容分工情況1分析題
2、目,搜索相關(guān)資料。2整理相關(guān)資料,確定程序分 工,布置任務(wù)。3編寫程序代碼。4調(diào)試改進(jìn)程序。5編寫課程設(shè)計(jì)報(bào)告與 PPT指導(dǎo)教師簽字:年月日系(教研室)審核意見:系(教研室)主任簽字:年月日1需求分析 01.1 1 網(wǎng)絡(luò)安全 01.2 課程背景 01.3 掃描器 01.4 多線程掃描器介紹 1錯(cuò)誤 ! 未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤! 未定義書簽。錯(cuò)誤 ! 未定義書簽。1.5 端口掃描 22 概要設(shè)計(jì) 32.1 整體框架設(shè)計(jì) 32.2 流程圖描述 33 詳細(xì)設(shè)計(jì) 33.1 端口掃描線程啟動(dòng) 33.2 GUI 圖形界面 53.3 按鈕監(jiān)聽及異常處理 64 調(diào)試與操作說(shuō)明 84.1 運(yùn)行界面
3、 84.2 掃描結(jié)果 84.3 錯(cuò)誤提示 85 課程設(shè)計(jì)總結(jié)與體會(huì) 86 參考文獻(xiàn) 97 致謝 98 附錄 01 需求分析1.1 1 網(wǎng)絡(luò)安全二十一世紀(jì)是信息化、網(wǎng)絡(luò)化的世紀(jì),信息是社會(huì)發(fā)展的重要資源。信息安全保障能力是一個(gè)國(guó)家綜合國(guó)力、經(jīng)濟(jì)競(jìng)爭(zhēng)實(shí)力和生存能力的重要組成部分,是世界各國(guó)在奮力攀登的制高點(diǎn)。網(wǎng)絡(luò)安全是指網(wǎng)絡(luò)系統(tǒng)的硬件、軟件及其系統(tǒng)中的數(shù)據(jù)受到保護(hù),不因偶然的或者惡意的原因而遭到破壞、更改、泄露,系統(tǒng)連續(xù)可靠正常地運(yùn)行。網(wǎng)絡(luò)安全包括技術(shù)領(lǐng)域和非技術(shù)領(lǐng)域兩大部分: 非技術(shù)領(lǐng)域包括一些制度、政策、管理、安全意識(shí)、實(shí)體安全等方面的內(nèi)容;技術(shù)領(lǐng)域包括隱患掃描、防火墻、入侵檢測(cè)、訪問(wèn)控制、虛
4、擬專用網(wǎng)、CA認(rèn)證、操作系統(tǒng)等方面的內(nèi)容。這些技術(shù)的目標(biāo)是保證信息的可控性、可用性、保密性、完整性、和不可抵賴性。端口掃描屬于安全探測(cè)技術(shù)范疇,對(duì)應(yīng)于網(wǎng)絡(luò)攻擊技術(shù)中的網(wǎng)絡(luò)信息收集技術(shù)。1.2 課程背景隨著 Internet 的不斷發(fā)展,信息技術(shù)已成為促進(jìn)經(jīng)濟(jì)發(fā)展、社會(huì)進(jìn)步的巨大推動(dòng)力。端口掃描技術(shù)是網(wǎng)絡(luò)安全掃描技術(shù)一個(gè)重要的網(wǎng)絡(luò)安全技術(shù)。與防火墻、入侵檢測(cè)系統(tǒng)互相配合,能夠有效提高網(wǎng)絡(luò)的安全性。安全掃描是安全技術(shù)領(lǐng)域中重要的一類。通過(guò)掃描能自動(dòng)檢測(cè)遠(yuǎn)端或本地主機(jī)系統(tǒng)信息,包括主機(jī)的基本信息( 如計(jì)算機(jī)名、域名、組名、操作系統(tǒng)型等 ) 、服務(wù)信息、用戶信息以及漏洞信息,它的重要性在于能夠?qū)W(wǎng)絡(luò)進(jìn)
5、行安全評(píng)估,及時(shí)發(fā)現(xiàn)安全隱患,防患于未然。網(wǎng)絡(luò)的安全狀況取決于網(wǎng)絡(luò)中最薄弱的環(huán)節(jié),任何疏忽都有可能引入不安全的因素,最有效的方法是定期對(duì)網(wǎng)絡(luò)系統(tǒng)進(jìn)行安全分析,及時(shí)發(fā)現(xiàn)并修正存在的脆弱,保證系統(tǒng)安全。國(guó)外安全掃描技術(shù)的歷史可以追溯到20 世紀(jì) 90 年代,當(dāng)時(shí)因特網(wǎng)剛剛起步,但是在過(guò)去的十年內(nèi),掃描技術(shù)飛速發(fā)展,迄今為止,其掃描技術(shù)已經(jīng)非常完善,但是在全面性,隱蔽性和智能性上還有待提高。安全掃描從最初專門為UNIX系統(tǒng)而編寫的一些只有簡(jiǎn)單功能的小程序發(fā)展到現(xiàn)在,已經(jīng)出現(xiàn)了可以運(yùn)行多個(gè)操作系統(tǒng)平臺(tái)上的,具有復(fù)雜功能的系統(tǒng)程序。國(guó)內(nèi)的掃描技術(shù)是在國(guó)外的掃描器基礎(chǔ)上發(fā)展起來(lái)的。其中有一些專門從事安全技
6、術(shù)的公司。這些公司的掃描器以硬件為主,其特點(diǎn)是執(zhí)行速度快,不像軟件一樣受到安裝主機(jī)系統(tǒng)的限制。然而對(duì)于更多的基于主機(jī)的端口掃描而言,簡(jiǎn)單,實(shí)用,可靠才是它們的長(zhǎng)處。1.3 掃描器掃描器是一種自動(dòng)檢測(cè)遠(yuǎn)程或本地主機(jī)安全性弱點(diǎn)的程序,通過(guò)使用掃描器你可以不留痕跡的發(fā)現(xiàn)遠(yuǎn)程服務(wù)器的各種TCP端口的分配。這就能讓我們間接的或直觀的了解到遠(yuǎn)程主機(jī)所存在的安全問(wèn)題。為了保證網(wǎng)絡(luò)中計(jì)算機(jī)的安全性, 必須采取主動(dòng)策略, 快速、及時(shí)、準(zhǔn) 確、安全的檢測(cè)出網(wǎng)絡(luò)中計(jì)算機(jī)及防火墻開放的和未開放的端口。計(jì)算機(jī)端口掃描技術(shù)就是 這種主動(dòng)防御策略實(shí)現(xiàn)的重要技術(shù)手段。掃描器采用模擬攻擊的形式對(duì)目標(biāo)可能存在的已知安全漏洞進(jìn)行逐
7、項(xiàng)檢查。目標(biāo)可以是工作站、服務(wù)器、交換機(jī)、數(shù)據(jù)庫(kù)應(yīng)用等各種對(duì)象。然后根據(jù)掃描結(jié)果向系統(tǒng)管理員提供周密可靠的安全性分析報(bào)告,為提高網(wǎng)絡(luò)安全整體水平產(chǎn)生重要依據(jù)。在網(wǎng)絡(luò)安全體系的建設(shè)中,安全掃描工具花費(fèi)低、效果好、見效快、與網(wǎng)絡(luò)的運(yùn)行相對(duì)對(duì)立、安裝運(yùn)行簡(jiǎn)單,可以大規(guī)模減少安全管理員的手工勞動(dòng),有利于保持全網(wǎng)安全政策的統(tǒng)一和穩(wěn)定。1.4 多線程掃描器介紹在 java 中,組件放置在窗體上的方式是完全基于代碼的。組件放置在窗體上的方式通常不是通過(guò)絕對(duì)坐標(biāo)控制,而是由“布局管理器”根據(jù)組件加入的順序決定其位置。每個(gè)容器都有一個(gè)屬于的自己布局管理器。使用不同的布局管理器,組件大小,位置和形狀將大不相同。表
8、格型布局管理器將容器劃分成為一個(gè)多行多列的表格,表格的大小全部相同,是由其中最大的組件所決定。通過(guò)add 方法可以將組件一一放在每個(gè)表格中。表格包型布局與表格型布局有些相近,但與表格型布局比較起來(lái),表格包型更加靈活,更加復(fù)雜。通常表格包型布局,我們可以設(shè)定每個(gè)格子的大小,間隙等。每個(gè)正在系統(tǒng)上運(yùn)行的程序都是一個(gè)進(jìn)程。每個(gè)進(jìn)程包含一到多個(gè)線程。進(jìn)程也可能是整個(gè)程序或者是部分程序的動(dòng)態(tài)執(zhí)行。線程是一組指令的集合,或者是程序的特殊段,它可以在程序里獨(dú)立執(zhí)行。也可以把它理解為代碼運(yùn)行的上下文。所以線程基本上是輕量級(jí)的進(jìn)程,它負(fù)責(zé)在單個(gè)程序里執(zhí)行多任務(wù)。通常由操作系統(tǒng)負(fù)責(zé)多個(gè)線程的調(diào)度和執(zhí)行。線程是程序
9、中一個(gè)單一的順序控制流程. 在單個(gè)程序中同時(shí)運(yùn)行多個(gè)線程完成不同的工作 , 稱為多線程.線程和進(jìn)程的區(qū)別在于, 子進(jìn)程和父進(jìn)程有不同的代碼和數(shù)據(jù)空間, 而多個(gè)線程則共享數(shù)據(jù)空間 , 每個(gè)線程有自己的執(zhí)行堆棧和程序計(jì)數(shù)器為其執(zhí)行上下文. 多線程主要是為了節(jié)約CPU寸間,發(fā)揮利用,根據(jù)具體情況而定.線程的運(yùn)行中需要使用計(jì)算機(jī)的內(nèi)存資源和CPU在計(jì)算機(jī)編程中,一個(gè)基本的概念就是同時(shí)對(duì)多個(gè)任務(wù)加以控制。許多程序設(shè)計(jì)問(wèn)題都要求程序能夠停下手頭的工作,改為處理其他一些問(wèn)題,再返回主進(jìn)程。可以通過(guò)多種途徑達(dá)到這個(gè)目的。最開始的時(shí)候,那些掌握機(jī)器低級(jí)語(yǔ)言的程序員編寫一些“中斷服務(wù)例程”,主進(jìn)程的暫停是通過(guò)硬件
10、級(jí)的中斷實(shí)現(xiàn)的。盡管這是一種有用的方法,但編出的程序很難移植,由此造成了另一類的代價(jià)高昂?jiǎn)栴}。中斷對(duì)那些實(shí)時(shí)性很強(qiáng)的任務(wù)來(lái)說(shuō)是很有必要的。但對(duì)于其他許多問(wèn)題,只要求將問(wèn)題劃分進(jìn)入獨(dú)立運(yùn)行的程序片斷中,使整個(gè)程序能更迅速地響應(yīng)用戶的請(qǐng)求。最開始,線程只是用于分配單個(gè)處理器的處理時(shí)間的一種工具。但假如操作系統(tǒng)本身支持多個(gè)處理器,那么每個(gè)線程都可分配給一個(gè)不同的處理器,真正進(jìn)入“并行運(yùn)算”狀態(tài)。從程序設(shè)計(jì)語(yǔ)言的角度看,多線程操作最有價(jià)值的特性之一就是程序員不必關(guān)心到底使用了多少個(gè)處理器。程序在邏輯意義上被分割為數(shù)個(gè)線程;假如機(jī)器本身安裝了多個(gè)處理器,那么程序會(huì)運(yùn)行得更快,毋需作出任何特殊的調(diào)校。根據(jù)
11、前面的論述,大家可能感覺(jué)線程處理非常簡(jiǎn)單。但必須注意一個(gè)問(wèn)題:共享資源!如果有多個(gè)線程同時(shí)運(yùn)行,而且它們?cè)噲D訪問(wèn)相同的資源,就會(huì)遇到一個(gè)問(wèn)題。舉個(gè)例子來(lái)說(shuō),兩個(gè)線程不能將信息同時(shí)發(fā)送給一臺(tái)打印機(jī)。為解決這個(gè)問(wèn)題,對(duì)那些可共享的資源來(lái)說(shuō)(比如打印機(jī)),它們?cè)谑褂闷陂g必須進(jìn)入鎖定狀態(tài)。所以一個(gè)線程可將資源鎖定,在完成了它的任務(wù)后,再解開(釋放)這個(gè)鎖,使其他線程可以接著使用同樣的資源。多線程是為了同步完成多項(xiàng)任務(wù),不是為了提高運(yùn)行效率,而是為了提高資源使用效率來(lái)提高系統(tǒng)的效率。線程是在同一時(shí)間需要完成多項(xiàng)任務(wù)的時(shí)候?qū)崿F(xiàn)的。線程優(yōu)先級(jí)被線程調(diào)度用來(lái)判定何時(shí)哪個(gè)線程允許運(yùn)行。理論上,優(yōu)先級(jí)高的線程比優(yōu)
12、先級(jí)低的線程獲得更多的CPU時(shí)間。實(shí)際上,線程獲得的CPU時(shí)間通常由包括優(yōu)先級(jí)在內(nèi)的多個(gè)因素決定(例如,一個(gè)實(shí)行多任務(wù)處理的操作系統(tǒng)如何更有效的利用CPU時(shí)間)。一個(gè)優(yōu)先級(jí)高的線程自然比優(yōu)先級(jí)低的線程優(yōu)先。舉例來(lái)說(shuō),當(dāng)?shù)蛢?yōu)先級(jí)線程正在運(yùn)行,而一個(gè)高優(yōu)先級(jí)的線程被恢復(fù)(例如從沉睡中或等待I/O 中),它將搶占低優(yōu)先級(jí)線程所使用的CPU。理論上,等優(yōu)先級(jí)線程有同等的權(quán)利使用CPU但你必須小心了。記住, Java是被設(shè)計(jì)成能在很多環(huán)境下工作的。一些環(huán)境下實(shí)現(xiàn)多任務(wù)處理從本質(zhì)上與其他環(huán)境不同。為安全起見,等優(yōu)先級(jí)線程偶爾也受控制。這保證了所有線程在無(wú)優(yōu)先級(jí)的操作系統(tǒng)下都有機(jī)會(huì)運(yùn)行。實(shí)際上,在無(wú)優(yōu)先級(jí)的
13、環(huán)境下,多數(shù)線程仍然有機(jī)會(huì)運(yùn)行,因?yàn)楹芏嗑€程不可避免的會(huì)遭遇阻塞,例如等待輸入輸出。遇到這種情形,阻塞的線程掛起,其他線程運(yùn)行。但是如果你希望多線程執(zhí)行的順利的話,最好不要采用這種方法。同樣,有些類型的任務(wù)是占CPU的。對(duì)于這些支配 CPU類型的線程,有時(shí)你希望能夠支配它們,以便使其他線程可以運(yùn)行。多個(gè)線程同時(shí)讀寫同一份共享資源的時(shí)候,可能會(huì)引起沖突。這時(shí)候,我們需要引入線程“同步”機(jī)制,即各位線程之間要有個(gè)先來(lái)后到,不能一窩蜂擠上去搶作一團(tuán)。同步的關(guān)鍵是管程,管程是一個(gè)互斥獨(dú)占鎖定的對(duì)象,在給定的時(shí)間,僅有一個(gè)線程獲得管程,當(dāng)一個(gè)線程需要鎖定時(shí),他必須進(jìn)入管程。1.5 端口掃描一個(gè)端口就是一
14、個(gè)潛在的通信通道,也就是一個(gè)入侵通道。對(duì)目標(biāo)計(jì)算機(jī)進(jìn)行端口掃描,能得到許多有用的信息。進(jìn)行掃描的方法很多,可以是手工進(jìn)行掃描,也可以用端口掃描軟件進(jìn)行。在手工進(jìn)行掃描時(shí),需要熟悉各種命令。對(duì)命令執(zhí)行后的輸出進(jìn)行分析。用掃描軟件進(jìn)行掃描時(shí),許多掃描器軟件都有分析數(shù)據(jù)的功能。通過(guò)端口掃描,可以得到許多有用的信息,從而發(fā)現(xiàn)系統(tǒng)的安全漏洞。2概要設(shè)計(jì)2.1 整體框架設(shè)計(jì)經(jīng)過(guò)我們組員的思考很研究,得出了以下幾個(gè)模塊的簡(jiǎn)單端口掃描器,整個(gè)端口掃描器 的核心模塊是是端口掃描系統(tǒng),它由許多子模塊組成,其結(jié)構(gòu)如下圖所示:TCP端口掃描程序2.2 流程圖描述開始基本信息檢測(cè)模塊找的參ip數(shù)4一設(shè)輸入線程數(shù)模 塊通
15、 A過(guò)scoket匹配過(guò)濾原則來(lái)進(jìn)行端口掃描IP地址是否存在7測(cè)1匹配1是否在參數(shù)范圍中結(jié)果輸模塊(通過(guò)一GUI界卸輸計(jì)得到的結(jié)果)GUI界面中打印出來(lái)讀取應(yīng)答內(nèi)容3詳細(xì)設(shè)計(jì)3.1端口掃描線程啟動(dòng)掃描程序主要運(yùn)用Socket編程。對(duì)于一個(gè)工作齊全的Socket ,其工作過(guò)程包含以下四個(gè)就基本步驟:創(chuàng)建通信雙方的socket鏈接,即分別為服務(wù)器和客戶端創(chuàng)建Socket對(duì)象,建立Socket連接;打開連接到Socket的輸入流和輸出流;按照一定的協(xié)議對(duì)Socket進(jìn)行讀/寫操作;關(guān)閉連接。以下是程序代碼/ 運(yùn)行 掃描端口public void run()int i;Socket theTCPsoc
16、ket;for(itrytheTCPsocket=new Socket(hostAddress,i);theTCPsocket.close();switch(i)case 21:break;case 23:break;case 25:break;case 80:break;case 110:break;case 139:break;catch (IOException e)if (i=MAX_port)1.2 GUI 圖形界面圖形用戶界面是軟件產(chǎn)品和用戶交互的接口,是軟件產(chǎn)品中用戶直接可以看到并直接操作的部分。public class ThreadScanpublic static JFram
17、e main=new JFrame(" 基于 JAVA的多線程 TCP端口掃描程序");public static JTextArea Result=new JTextArea("",4,43);public static JTextField hostname=new JTextField("localhost",8);public static JTextField minPort=new JTextField("0",4);public static JTextField maxPort=new JTextF
18、ield("1000",4);public static JTextField maxThread=new JTextField("100",3);public static JDialog DLGError=new JDialog(main,"錯(cuò)誤 !");public static Label DLGINFO=new Label("");public static Label status=new Label("掃描狀態(tài): 未開始 ");public static void main(Str
19、ing args) main.setSize(500,220);/main.setLocation(300,300);main.setResizable(false);DLGError.setSize(300,100);DLGError.setLocation(400,400);JPanel mainPanel = new JPanel();Label H=new Label("ip 或域名 :");Label P1=new Label(" 端口范圍:");Label P2=new Label("");Label TNUM=new L
20、abel(" 線程數(shù) :");Label RST=new Label(" 掃描結(jié)果: ");Label con=new Label(" ");Result.setLineWrap(true);Result.setEditable(false);JButton OK = new JButton(" 確定 ");JButton Submit = new JButton("確定");JButton Cancel = new JButton("取消");Container mPane
21、l = main.getContentPane();Container dPanel = DLGError.getContentPane();mPanel.setLayout(new FlowLayout(FlowLayout.LEFT);dPanel.setLayout(new FlowLayout(FlowLayout.CENTER);mPanel.add(H);mPanel.add(hostname);mPanel.add(P1);mPanel.add(minPort);mPanel.add(P2);mPanel.add(maxPort);mPanel.add(TNUM);mPanel.
22、add(maxThread);mPanel.add(RST);mPanel.add(Result);mPanel.add(con);mPanel.add(Submit);mPanel.add(Cancel);mPanel.add(status);dPanel.add(DLGINFO);dPanel.add(OK);main.setVisible(true);Submit.addActionListener(new SubmitAction();Cancel.addActionListener(new CancleAction();OK.addActionListener(new OKActio
23、n();1.3 按鈕監(jiān)聽及異常處理本部分主要對(duì)各個(gè)按鈕進(jìn)行監(jiān)聽。是整個(gè)程序的時(shí)間驅(qū)動(dòng)設(shè)計(jì)部分。并且顯示運(yùn)行結(jié)果。class SubmitAction implements ActionListenerpublic void actionPerformed (ActionEvent a)int minPort;int maxPort;int maxThread;trycatch(NumberFormatException e)return;trycatch(UnknownHostException e)return;if(minPort<0 | minPort>65535 | min
24、Port>maxPort)return;else TCPThread.MIN_port=minPort;if(maxPort<0 | maxPort>65535 | maxPort<minPort)return;else TCPThread.MAX_port=maxPort;if(maxThread<1 | maxThread>200)return;for(int i=0;i<maxThread;i+)new TCPThread("T" + i,i).start();4 調(diào)試與操作說(shuō)明4.1 運(yùn)行界面對(duì)本機(jī)進(jìn)行多線程的端口掃描,即在
25、ip 或域名中輸入localhost 可對(duì)本機(jī)進(jìn)行端口進(jìn)行掃描,也可輸入其他的ip 地址或域名,可自行設(shè)置端口范圍如從0 到 1000,最大不超過(guò)65535,可設(shè)置線程數(shù)范圍為0200 ,掃描狀態(tài)為未開始,點(diǎn)擊確定即可運(yùn)行程序。4.2 掃描結(jié)果程序運(yùn)行后,可以得到相關(guān)的端口掃描過(guò)程,其中掃描狀態(tài)顯示正在掃描的端口號(hào),如下:程序運(yùn)行結(jié)束后在掃描結(jié)果中顯示掃描結(jié)束,并在掃描狀態(tài)中顯示完成。4.3 錯(cuò)誤提示程序中往往由于一些數(shù)據(jù)不正確會(huì)造成運(yùn)行后錯(cuò)誤,所以在程序中添加了異常處理機(jī)制,其中遇到的錯(cuò)誤可能有以下幾種:當(dāng)端口號(hào)或線程數(shù)不是整數(shù)時(shí)會(huì)出現(xiàn)如下錯(cuò)誤:當(dāng) ip 地址或域名錯(cuò)誤時(shí),會(huì)出現(xiàn)如下錯(cuò)誤:當(dāng)
26、最小端口數(shù)不在065535且不小于最大端口數(shù)時(shí)會(huì)出現(xiàn)如下錯(cuò)誤:當(dāng)最大端口數(shù)不在065535且不大于最小端口數(shù)時(shí)會(huì)出現(xiàn)如下錯(cuò)誤:當(dāng)線程數(shù)范圍不在0200 時(shí)會(huì)出現(xiàn)如下錯(cuò)誤:5 課程設(shè)計(jì)總結(jié)與體會(huì)本組成員共同設(shè)計(jì)的基于多線程的端口掃描程序基本滿足了課程設(shè)計(jì)的要求,能夠很好地對(duì)本機(jī)或其他電腦端口進(jìn)行掃描,同時(shí)也處理了程序中可能出現(xiàn)的錯(cuò)誤。本次課程設(shè)計(jì),使我們對(duì)計(jì)算機(jī)網(wǎng)絡(luò)這門課程有了更深入的理解。計(jì)算機(jī)網(wǎng)絡(luò)是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識(shí)的同時(shí),加強(qiáng)上機(jī)實(shí)踐。要想把課程設(shè)計(jì)做的更好,就要學(xué)會(huì)參考一定的資料,吸取別人的經(jīng)驗(yàn),加強(qiáng)團(tuán)隊(duì)合作。在本課程設(shè)計(jì)中,我們明白了理論與實(shí)際應(yīng)
27、用相結(jié)合的重要性,并提高了自己組織數(shù)據(jù)及編寫大程序的能力。培養(yǎng)了基本的、良好的程序設(shè)計(jì)技能以及合作能力。這次課程設(shè)計(jì)同樣提高了我們的綜合運(yùn)用所學(xué)知識(shí)的能力。課程設(shè)計(jì)程序的編寫需要有耐心,有些事情看起來(lái)很復(fù)雜,但問(wèn)題需要一點(diǎn)一點(diǎn)去解決,分析問(wèn)題,把問(wèn)題模塊化,劃分成小塊以后就逐個(gè)去解決。再總體解決大的問(wèn)題。這樣做起來(lái)不僅有條理也使問(wèn)題得到了輕松的解決。通過(guò)這段時(shí)間的課程設(shè)計(jì),我們認(rèn)識(shí)到計(jì)算機(jī)網(wǎng)絡(luò)是一門比較難的課程。需要多花時(shí)間學(xué)習(xí)。這次的課程設(shè)計(jì)培養(yǎng)了我們實(shí)際分析問(wèn)題、編程和動(dòng)手能力,使我們掌握了計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)的基本技能,提高了我們適應(yīng)實(shí)際,運(yùn)用于實(shí)際生活的能力。這次的課程設(shè)計(jì)提高了我們對(duì)于
28、專業(yè)課的學(xué)習(xí)熱情,使我們能夠更加深入的理解課本內(nèi)容,對(duì) 計(jì)算機(jī)網(wǎng)絡(luò)也有了進(jìn)一步的理解和認(rèn)識(shí),同時(shí)也理解了將課本內(nèi)容與實(shí)際生活相結(jié)合的好處。6 參考文獻(xiàn)1 趙生慧 .Java 面向?qū)ο蟪绦蛟O(shè)計(jì). 北京:中國(guó)水利水電出版社,2010。2 謝希仁. 計(jì)算機(jī)網(wǎng)絡(luò)(第五版). 北京:電子工業(yè)出版社,2011 。3 吳功宜. 計(jì)算機(jī)網(wǎng)絡(luò)(第二版). 北京:清華大學(xué)出版社,2007。4 楊靜宇 . Java 程序設(shè)計(jì)與應(yīng)用開發(fā)( 第 2 版 ) M. 北京 : 清華大學(xué)出版社, 20097 致謝非常感謝老師耐心的指導(dǎo),在實(shí)驗(yàn)過(guò)程中給出指導(dǎo)并給幫助分析思路,給我們提供了可行的方案設(shè)計(jì)思路,在實(shí)驗(yàn)過(guò)程中指出不足
29、之處,為能夠成功的完成課程設(shè)計(jì)做了很大的貢獻(xiàn);非常感謝各位組員的積極配合,一起分析題目,整理思路,努力思考解決方案,畫出方案流程圖,并進(jìn)行了嚴(yán)密的算法分析,構(gòu)造嚴(yán)謹(jǐn)?shù)某绦蚩蚣?,然后各自完成自己?fù)責(zé)的模塊,最后一起整理出完整的程序,一起進(jìn)行調(diào)試分析,評(píng)估程序的嚴(yán)謹(jǐn)性,找出不足。完善實(shí)驗(yàn)內(nèi)容,整理資料,編寫文檔。8 附錄源代碼:import .*;import java.io.*;/import java.util.*;import java.awt.*;import javax.swing.*;class TCPThread extends Threadpublic static InetAdd
30、ress hostAddress;public static int MIN_port;public static int MAX_port;private int threadnum;public TCPThread(String name,int threadnum)super(name);this.threadnum = threadnum;public void run()int i;Socket theTCPsocket;for (i = MIN_port+threadnum; i < MAX_port; i += Integer.parseInt trytheTCPsocke
31、t=new Socket(hostAddress,i);theTCPsocket.close();switch(i)case 21:break;case 23:break;case 25:break;case 80:break;case 110:break;case 139:break;catch (IOException e)if (i=MAX_port)class CancleAction implements ActionListenerpublic void actionPerformed (ActionEvent e)System.exit(1);class SubmitAction
32、 implements ActionListenerpublic void actionPerformed (ActionEvent a)int minPort;int maxPort;int maxThread;trycatch(NumberFormatException e)return;tryTCPThread.hostAddress=InetAddress.getByName catch(UnknownHostException e)return;if(minPort<0 | minPort>65535 | minPort>maxPort)return;else TC
33、PThread.MIN_port=minPort;if(maxPort<0 | maxPort>65535 | maxPort<minPort)return;else TCPThread.MAX_port=maxPort; if(maxThread<1 | maxThread>200) return;for(int i=0;i<maxThread;i+)new TCPThread("T" + i,i).start();class OKAction implements ActionListenerpublic void actionPer
34、formed (ActionEvent e)public class ThreadScan基于JAVA的多線程TCP端口掃描程public static JFrame main=new JFrame("序 ");public static JTextArea Result=new JTextArea("",4,43);public static JTextField hostname=new JTextField("localhost",8); public static JTextField minPort=new JTextFie
35、ld("0",4);public static JTextField maxPort=new JTextField("1000",4);public static JTextField maxThread=new JTextField("100",3);public static JDialog DLGError=new JDialog(main,"錯(cuò)誤 !");public static Label DLGINFO=new Label("");public static Label status=new Label("掃描狀態(tài): 未開始 ");public static void main(String args)main.setSize(500,220);/main.set
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 揚(yáng)州大學(xué)廣陵學(xué)院《地貌學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江汽車職業(yè)技術(shù)學(xué)院《社會(huì)工作專題研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 主題客房設(shè)計(jì)改造行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 廈門醫(yī)學(xué)院《數(shù)據(jù)分析與可視化技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 抗菌塑料醫(yī)療輔助器具行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 高空熱氣球節(jié)慶活動(dòng)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 醫(yī)療旅游健康保險(xiǎn)服務(wù)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力項(xiàng)目商業(yè)計(jì)劃書
- 動(dòng)態(tài)圖形與動(dòng)畫設(shè)計(jì)行業(yè)深度調(diào)研及發(fā)展項(xiàng)目商業(yè)計(jì)劃書
- 互動(dòng)式廣告體驗(yàn)平臺(tái)行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 互動(dòng)式天文教學(xué)軟件行業(yè)跨境出海項(xiàng)目商業(yè)計(jì)劃書
- 《基礎(chǔ)護(hù)理學(xué)》給藥課件
- 繪本故事三只小豬蓋房子課件
- 《WPS辦公應(yīng)用職業(yè)技能等級(jí)》課件-1. WPS初級(jí)-文字
- 抗日戰(zhàn)爭(zhēng)與中國(guó)的文化自覺(jué)
- QB∕T 1744-2013 電熱毯、電熱墊及類似柔性發(fā)熱器具用非織造針刺毯
- 中國(guó)人民大學(xué)強(qiáng)基計(jì)劃文科試卷
- 生物-云南省昆明市2023-2024學(xué)年高二下學(xué)期期末質(zhì)量檢測(cè)試題和答案
- 幼兒園小班語(yǔ)言課件:《池塘夏夜》
- 虹吸式雨水排水系統(tǒng)施工方案
- 北京草場(chǎng)改造規(guī)劃方案
- 水利施工安全培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論