




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、網(wǎng)絡安全課程設計報告題 目: 端口掃描程序設計專業(yè)網(wǎng)絡工程學號姓名 B12070405彭慧珺B12070408魏園園指導教師董小燕日期2014.12.2評 分項 分 評秀好 良等 中差原況 情 實 匕匕 厶冃 功 題 諜寫 書 告簡 短 評 語日月 各年評分等級備注分細端口掃描程序設計、設計目的和任務掃描器是網(wǎng)絡信息收集的一種方法,是入侵者搜集信息的幾種常用手法之一,也正是 這一過程最容易使入侵者暴露自己的身份和意圖。如果入侵者掌握了目標主機開放了哪些 服務,運行何種操作系統(tǒng),他們就能夠使用相應的手段實現(xiàn)入侵。從功能上可分為漏洞掃 描器和端口掃描器。根據(jù)提供服務類型的不同,端口分為兩種,一種是
2、TCP端 口,一種是UDP端口。通過此次課程設計,能夠掌握端口的基礎知識,掌握掃描器的基本原理并設計 實現(xiàn)端口掃描。本程序主要實現(xiàn):簡易的端口掃描,支持多線程,并可指定線程數(shù)進行端口掃描,并 記錄時間;能對指定的主機進行端口掃描;能掃描特定的部分端口號或?qū)χ付ǖ亩丝诙蝺?nèi) 的端口進行逐個掃描;能識別部分開放端口所提供的服務;以及使端口掃描器具有簡單易 懂美觀的用戶圖形界面。二、設計原理2.1關(guān)于攻擊In ternet的網(wǎng)絡通信大多是建立在 TCP和UDP協(xié)議之上的,各個主機遵循著 TCP/IP 協(xié)議封裝數(shù)據(jù)包進行通信。根據(jù)提供服務類型的不同,端口分為兩種,一種是TCP端口,一種是UDP端口。?
3、TCP端口:即傳輸控制協(xié)議端口,需要在客戶端和服務器之間建立連接,這樣可以提供可靠的數(shù)據(jù)傳輸。常見的包括FTP服務的21端口,Tel net服務的23端口,SMTP 服務的25端口,以及HTTP月艮務的80端口等等。? UDP端口:即用戶數(shù)據(jù)包協(xié)議端口,無需在客戶端和服務器之間建立連接,可靠性得不到保障。常見的有DNS月艮務的53端口,SNM(簡單網(wǎng)絡管理協(xié)議)服務的161 端口,QICQ使用的8000和4000端口等等。本程序通過 TCP connect 掃描:通過調(diào)用 socket 函數(shù) connect() 連接到目標計算機上,完成一次完整的三次握手過程。如果端口處于偵聽狀態(tài),那么conn
4、ect() 就能成功返回。否則,這個端口不可用,即沒有提供服務。優(yōu)點:穩(wěn)定可靠,不需要特殊的權(quán)限。缺點:掃描方式不隱蔽,服務器日志會記錄下大量密集的連接和錯誤記錄,并容易被防火墻發(fā)現(xiàn)和屏蔽。2.2關(guān)于防御1 .關(guān)閉閑置和有潛在危險的端口這個方法有些 死板”它的本質(zhì)是一一將所有用戶需要用到的正常計算機端口外的其 他端口都關(guān)閉掉。因為就黑客而言, 所有的端口都可能成為攻擊的目標。換句話說計算機的所有對外通訊的端口都存在潛在的危險 ”而一些系統(tǒng)必要的通訊端口,如訪問網(wǎng)頁需要 的HTTP (80端口); QQ (4000端口)等不能被關(guān)閉。2 .檢查各端口,有端口掃描的癥狀時,立即屏蔽該端口這種預防端
5、口掃描的方式顯然用戶自己手工是不可能完成的,或者說完成起來相當困 難,需要借助軟件。這些軟件就是我們常用的網(wǎng)絡防火墻防火墻的工作原理是:首先檢查每個到達你的電腦的數(shù)據(jù)包,在這個包被你機上運行的任何軟件看到之前,防火墻有完全 的否決權(quán),可以禁止你的電腦接收In ternet上的任何東西。當?shù)谝粋€請求建立連接的包被 你的電腦回應后,一個“ TCP/IP端 口”被打開;端口掃描時,對方計算機不斷和本地計算機 建立連接,并逐漸打開各個服務所對應的“ TCP/IP端 口”及閑置端口,防火墻經(jīng)過自帶的攔截規(guī)則判斷,就能夠知道對方是否正進行端口掃描,并攔截掉對方發(fā)送過來的所有掃描需 要的數(shù)據(jù)包。三、實驗環(huán)境
6、和總體設計3.1實驗環(huán)境開發(fā)工具:J2SDK 1.7.0 Eclipse語言:Java運行環(huán)境:Windows 2000以上3.2總體設計多線程端口掃描器是實現(xiàn)計算機的端口的掃描,只要在在前臺設置好所要掃描的IP、起始端口、結(jié)束端口以及所要用到的線程數(shù),點擊掃描,就可以掃描到所輸入IP地址主機的開放端口,并顯示在主窗體中;點擊退出,則可以退出該程序。 IP設置應為所在主機 的IP地址,起始端口和結(jié)束端口應為 065535之間的一個數(shù),且起始端口應小于結(jié)束端 口的大小。線程數(shù)為0200之間的一個數(shù)。點擊開始后就會運行,直到掃描完畢顯示出開 放端口,如果沒有開放端口,則只顯示掃描完畢。功能分為以下
7、四模塊: 圖像顯示功能:顯示界面圖形。 端口掃描功能:掃描開放的端口,并將掃描到的開放端口號送到前臺。 多線程功能:當客戶端要求與服務器端建立連接時,服務器端就將用到多線程功 能,為每一個建立起來的連接創(chuàng)建一個線程。 異常拋出功能:對于明顯的錯誤,提示出錯誤的類型并結(jié)束程序的運行。界面設置構(gòu)思圖序 A *1:拉小化、關(guān)閭抉±L2也址起去霍口|結(jié)卑站口|揪粗戟匚二I4寸錨能一豊亜眾4 4崔卡n界面使用構(gòu)思當出現(xiàn)如圖所示的界面時,填寫好要掃描的IP地址,需要掃描的端口范圍和線程數(shù), 單擊命令提示按鈕就可以開始掃描,掃描結(jié)果就會顯示在中間的掃描結(jié)果顯示區(qū)域,在掃 描狀態(tài)顯示區(qū)就會顯示是否掃
8、描完畢。流程圖如下:四、詳細設計步驟本程序使用了為主要的Seanner類和Sean類。Scan類的作用是創(chuàng)建線程掃描端口, 然后把結(jié)果顯示到前臺。Sea nner類的作用是構(gòu)造前臺布局,調(diào)用 Scan類添加事件處理, 對輸入進行錯誤判斷,如果輸入不在允許的范圍之內(nèi)則顯示相關(guān)錯誤。以下是四模塊的詳細設計步驟:4.1圖像顯示功能界面設計本程序采用小窗口形式,外圍大小為 170mm*90mr字體采用宋體五號,結(jié)果顯示區(qū)域框架大小為160mm*45mr底色為粉紅,結(jié)果顯示字幕為主機地址加開放端口。其余地方設置按鈕和掃描的主機地址、端口和線程數(shù)。設計的預計頁面圖形如圖:參豔程満口掃勵廢茸第読園園(藍魚)
9、圭機1P施揣口 o堵京揣口 口-8 -# -掃后結(jié)更豈示粉江託邑mJJ3JS狀態(tài):本程序調(diào)用一些類和包,比如軟件包java.awt.color、java.awt.event、io.lOException、Javax.Swing jvnet.substanee.*。1. java.awt.color 包:提供用于顏色空間的類。它包含了基于國際色彩聯(lián)盟 (ICC)配 置文件格式規(guī)范的顏色空間實現(xiàn)。 e.g. Result.setBackground(Color.PINK)設置窗口為粉 紅2. java.awt.eve nt 包:提供處理由AWT組件所激發(fā)的各類事件的接口和類。此包定義了事件和事件偵
10、聽器,以及事件偵聽器適配器,它是讓事件偵聽器的編寫過程更為輕松 的便捷類。e.g.public void actio nPeformed(Actio nEve nt e) Stri ng cmd = e.getAct ion Comma nd();if(cmd.equals("Start")3. Javax.Swing:由所有Java圖形用戶界面(GUI)組件所構(gòu)成,它們可以提供比本地 平臺GUI組件更多的功能。Swi ng 包的 組成:javax.sw ing , javax.sw in g.borde , javax.sw in g.colorchooser, avax
11、.swing.even, javax.swing.filechooser, javax.swing.plaf, javax.swing.tree等接口-9 -常用Swing組件:按鈕:JButton文本區(qū):JTextArea文本字段:JTextField在本程序中使用如下:/設置主窗體位置和大小mai nFrame.setBou nds(180, 200, 550, 300);/設置掃描按鈕和退出按鈕Start.setActio nComma nd("Start");Start.addActio nListe ner(this);Exit.setActio nComma n
12、d("Exit");Exit.addActi on Liste ner(this);4.2端口掃描功能在本程序中后臺端口掃描關(guān)鍵代碼使用的兩個類,下面介紹這兩個類的常用方法。InetSocketAddress類構(gòu)造方法如下:InetSocketAddress(InetAddress addr, int port)根據(jù) IP 地址和端口號創(chuàng)建套接字地址。Socket類常用方法如下:Socket():通過系統(tǒng)默認類型的SocketImpl創(chuàng)建未連接套接字Socket(InetAddress address, int port):創(chuàng)建一個流套接字并將其連接到指定IP地址的指定端口
13、號。void bin d(SocketAddress bin dpoi nt):將套接字綁定到本地地址。void close():關(guān)閉此套接字。void connect(SocketAddress endpoint, int timeout)將此套接字連接至U具有指定超時值的服務器。關(guān)鍵代碼如下:SocketAddress sockaddr = new In etSocketAddress(hostAddress, i);Socket sca ns=new Socket();int timeoutMs=50;scans.connect(sockaddr,timeoutMs); / 將 此套接字
14、連接 到具有 指定超 時值的 服務器 -8 -sea ns.close();/關(guān)閉此套接字4.3多線程功能用遞歸函數(shù)實驗多線程使用關(guān)鍵算法如下:for(int i = minPort;i <= maxPort; ) if(i + threadNum) <= maxPort) new Scan (i, i + threadNum).start();i += threadNum; else new Sca n(i, maxPort).start();i += threadNum;4.4異常拋出功能使用io.lOException包:用來處理io的錯誤,在以后的程序中調(diào)用這個函數(shù)的時候就
15、必須 用try和catch來捕獲異常,否則編譯會報錯,這主要涉及到java的安全機制。e.g try catch (NumberFormatExceptio n e1) DLGINFO.setText("錯誤的端口號或線程數(shù)!端口號和線程數(shù)必須為整數(shù)!");return;4.5總流程圖如下:-11 -填寫IP地址,可填寫任意的個IP設置開設置結(jié)束始端口 口,設置設置進大小,設10655351程數(shù),置1之間的端0200之065535/ 口號且必 j間且必之間的/須為整/須為整端口號/數(shù),并且丿數(shù)于開始點擊掃描可 以開始掃描結(jié)果顯示結(jié)束程是,重新設置13 -四、結(jié)果測試與分析4
16、.1運行結(jié)果1.運行界面:14#玉防 11 2(1 J4 12 I iltJEKn : |0: I 'OOdJ 覆聲:_ 102. 未開始掃描狀態(tài):掃辟爭扌融iKlU正常掃描時:#4.起始端口設置有誤掃描開始后狀態(tài)報錯:圖6圖75.結(jié)束端口設置有誤掃描開始后狀態(tài)報錯:圖816 -6.線程數(shù)設置錯誤報錯:圖97.另外我們計算了掃描器的掃描時間,我們能發(fā)現(xiàn)線程數(shù)的增多能有效減少掃描器的掃描時間圖10第一個紅框是線程數(shù)為10時的掃描時間,而線程數(shù)為20所用時間為3000ms可見線 程數(shù)增多縮短了掃描時間4.2防御措施根據(jù)防御原理,我們通過開啟系統(tǒng)防火墻來對端口掃描進行防御圖11防火墻關(guān)閉圖1
17、2防火墻開啟從圖中可得知,開啟防火墻之后,只能掃出端口912,902,443,掃描不出端口23,445,135,139??梢娤到y(tǒng)自帶防火墻能對防御端口掃描起到一定作用,但并不能夠完全 阻止,需要設計具有更嚴格規(guī)則的包過濾防火墻才行。4.3系統(tǒng)異常圖13系統(tǒng)異常當線程數(shù)為100或過多時,掃描結(jié)果已顯示掃描完成,但掃描器左下方的掃描狀態(tài)卻并沒 有顯示掃描完成,而是呈現(xiàn)正在掃描某一端口的情況,在后續(xù)的改進中會加以改進。五、存在的問題1、由于對Java的編程掌握得不夠深入,所以程序的界面設計得不夠完美。我們通過調(diào)用一些包,盡可能優(yōu)化用戶界面,后續(xù)將對按鈕,皮膚等等進行優(yōu)化。2、掃描狀態(tài)的輸出函數(shù)的速度
18、跟不上端口掃描的速度,最后程序掃描結(jié)束時,掃描 狀態(tài)函數(shù)有時還在繼續(xù)運行,程序運行無法達到一致性。3. 本程序還不能實現(xiàn)對一整個網(wǎng)段的IP進行端口掃描,我們考慮套更大的IP段for 循環(huán)來實現(xiàn),但因時間有限未能調(diào)試成功。4. 關(guān)于防御功能,我們采用的是系統(tǒng)自帶防火墻進行防御,但并不能夠完全阻止,我 們的改進思想是設計規(guī)則更為嚴格的包過濾防火墻進行防御。六、總結(jié)本次設計我們選的課題是編寫一個簡單的端口掃描程序,因此我們選擇eclipse使用Java語言進行編寫。經(jīng)過這兩個星期的課程,通過圖書館和網(wǎng)上查找資料,順利完成了設 計和開發(fā),端口掃描系統(tǒng)開發(fā)完畢。系統(tǒng)基本符合要求,由于時間比較匆促,但還存在以 下一些小問題,本次課程設計結(jié)束后還會繼續(xù)完善。在整個設計過程中,得到了老師和同學的幫助,在不斷學習的過程中我體會到:1、這次課程設計是一個不斷學習的過程,從設計初的模糊認識到最后能夠順利完成, 我體會到在實踐中學習的重要性。2、設計過程中,由于要實現(xiàn)某些功能,網(wǎng)上資源解決了我的問題。多借鑒網(wǎng)絡資源 也是學好軟件編程一個不錯的方法,但自己要有創(chuàng)新。關(guān)于本課題,我們還認識到,端口掃描是綜合掃描器最基礎的功能,也是黑客攻擊的 基本步驟,因此,掌握端口掃描的常用技術(shù)和防范措施對維護系統(tǒng)安全有重要作用。端口 掃描不僅可以得知系統(tǒng)哪
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2031年中國電動車快速充電器行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國小雞配合飼料行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國安保型可視對講分機行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國PVC燙線行業(yè)投資前景及策略咨詢研究報告
- 2025至2030年中國高強無收縮灌注料數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國葡萄糖衍生物數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國碳鋼低金儲氣罐數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國牛二層膠袖手套數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國油箱蓋鎖數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國顯微鏡數(shù)碼攝像儀數(shù)據(jù)監(jiān)測研究報告
- 稻盛和夫的哲學與阿米巴
- 冷庫驗證方案
- 行政事業(yè)單位會計實操
- 中國燃氣建設工程竣工驗收暫行規(guī)定
- 春尺蠖測報辦法
- 降低鉆孔灌注樁混凝土充盈系數(shù)QC
- 巖海動測儀器及軟件使用說明1
- 家譜宗譜WORD模板
- 趣味歷史(課堂PPT)
- 供應鏈供應鏈管理
- 智慧樹知到《模擬電子技術(shù)(中南大學)》見面課答案
評論
0/150
提交評論