2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  信息工程學(xué)院計算機(jī)網(wǎng)絡(luò)</p><p><b>  課程研究報告</b></p><p>  題目全稱: 端口掃描工具設(shè)計 </p><p>  課 程: 計算機(jī)網(wǎng)絡(luò) </p><p>  學(xué) 號: 2

2、0105605 </p><p>  班 級: 通信1004 </p><p>  姓 名: 劉科 </p><p><b>  摘要</b></p><p>  在現(xiàn)在這個信息化的

3、社會中,網(wǎng)絡(luò)的發(fā)展已經(jīng)超出了人們預(yù)想,在很短的時間里已經(jīng)滲透到軍事,金融,商業(yè),交通,電信,教育等領(lǐng)域,并發(fā)揮著越來越大的作用。社會對網(wǎng)絡(luò)系統(tǒng)的依賴也越來越強(qiáng),使得密集信息和財富高度集中與計算機(jī)中。另一方面,這些網(wǎng)絡(luò)系統(tǒng)都依靠計算機(jī)網(wǎng)絡(luò)接受和處理信息,實現(xiàn)其相互間的聯(lián)系和對目標(biāo)的管理與控制。而網(wǎng)絡(luò)端口掃描作為維護(hù)網(wǎng)絡(luò)安全的重要手段,可以幫助服務(wù)器提供商找出自身漏洞,避免黑客攻擊;測試遠(yuǎn)程服務(wù)器的端口是否可達(dá),防止沿途運(yùn)營商、防火墻限制了

4、端口導(dǎo)致服務(wù)不可用。</p><p><b>  .備注</b></p><p>  本次計算機(jī)網(wǎng)絡(luò)課程設(shè)計我主要是學(xué)習(xí)一下端口掃描工具的基本知識以及研究別人做出的端口掃描工具,以下即是本次研究的相關(guān)研究報告。鑒于自己計算機(jī)方面知識不是很好,不足之處還請老師指出與修正。</p><p><b>  端口掃描器的研究</b>

5、</p><p><b>  TCP協(xié)議介紹</b></p><p>  提到端口掃描技術(shù)就不可不提及TCP協(xié)議了,作為互聯(lián)網(wǎng)的核心協(xié)議,TCP協(xié)議的重要性是人人皆知,端口掃描主要是建立在TCP協(xié)議基礎(chǔ)上的一門技術(shù)。TCP協(xié)議是一種面向連接的,可靠的傳輸協(xié)議。一次正常的TCP傳輸需要通過在客戶和服務(wù)器之間建立特定的虛電路連接來完成,這個過程通常被稱為“三次握手”。TC

6、P通過數(shù)據(jù)分段中的序列號保證所有的傳輸數(shù)據(jù)可以在遠(yuǎn)端按照正常的次序重組,而通過確認(rèn)保證數(shù)據(jù)傳輸?shù)耐暾浴?lt;/p><p><b>  三次握手過程:</b></p><p>  1:客戶端發(fā)送一個TCP包(SYN請求)給服務(wù)端,其中標(biāo)記SYN(同步序號)要打開。SYN請求指明了客戶端希望連接的服務(wù)器端端口號和客戶端的ISN。</p><p> 

7、 2:服務(wù)器端發(fā)回應(yīng)答,包含自己的SYN信息ISN和對客戶端的SYN應(yīng)答,應(yīng)答時返回下一個希望得到的字節(jié)序號。</p><p>  3:客戶端對從S服務(wù)器端來的SYN進(jìn)行應(yīng)答,數(shù)據(jù)發(fā)送開始。</p><p><b>  UDP協(xié)議介紹</b></p><p>  UDP,用戶數(shù)據(jù)報協(xié)議。UDP為應(yīng)用程序提供了一種方法來發(fā)送經(jīng)過封裝的IP數(shù)據(jù)報,

8、而且不必建立連接就可以發(fā)送這些IP數(shù)據(jù)報。</p><p>  UDP傳輸?shù)臄?shù)據(jù)段是由8個字節(jié)的頭和凈荷域構(gòu)成的。兩個端口分別被用來標(biāo)識出源機(jī)器和目標(biāo)機(jī)器內(nèi)部的端點(diǎn)。當(dāng)一個UDP分組到來的時候,它的凈荷部分被遞交給與目標(biāo)端口相關(guān)聯(lián)的那個進(jìn)程。當(dāng)目標(biāo)端口必須將一個應(yīng)答送回給源端口的時候,源端口是必須的。發(fā)送應(yīng)答的進(jìn)程只要將近來的數(shù)據(jù)段中的源端口域復(fù)制到輸出的數(shù)據(jù)段中的目標(biāo)端口域,就可以指定在發(fā)送機(jī)器上有哪個進(jìn)程來接

9、受應(yīng)答。UDP長度包含了8字節(jié)的頭和數(shù)據(jù)部分。UDP校驗和是可選的,如果不計算的話,則在該域中存放0,如果真正的計算結(jié)果試的話,則該域中存放的全是1,除非數(shù)據(jù) 的質(zhì)量并不重要,否則就不應(yīng)該將校驗和的功能關(guān)閉。另外值得明確提出來的是UDP沒有做到的一些事情。UDP并不考慮流控制,錯誤控制,在收到一個壞的數(shù)據(jù)段之后它也不重傳。所有這些工作都留給用戶的進(jìn)程。UDP所作的事情是提供一個接口,并且在接口中增加解復(fù)用的特性。他利用端口的概念將數(shù)據(jù)段

10、解復(fù)用到多個進(jìn)程中,這就是他所做的全部工作。</p><p><b>  SOCKET介紹</b></p><p>  Socket接口是TCP/IP網(wǎng)絡(luò)的API,Socket接口定義了許多函數(shù)或例程,程序員可以用它們來開發(fā)TCP/IP網(wǎng)絡(luò)上的應(yīng)用程序。要學(xué)Internet上的TCP/IP網(wǎng)絡(luò)編程,必須理解Socket接口。</p><p> 

11、 Socket接口設(shè)計者最先是將接口放在Unix操作系統(tǒng)里面的。如果了解Uinx系統(tǒng)的輸入和輸出的話,就很容易了解Socket了。網(wǎng)絡(luò)的Socket數(shù)據(jù)傳輸是一種特殊的I/O,Socket也是一種文件描述符。Socket也具有一個類似于打開文件的函數(shù)調(diào)用Socket(),該函數(shù)返回一個整型的Socket描述符,隨后的連接建立,數(shù)據(jù)傳輸?shù)炔僮鞫际峭ㄟ^該Socket實現(xiàn)的。</p><p>  Sockfd是需要關(guān)閉

12、的socket的描述符。參數(shù) how允許為shutdown操作選擇以下幾種方式:</p><p>  ·0-------不允許繼續(xù)接收數(shù)據(jù) </p><p>  ·1-------不允許繼續(xù)發(fā)送數(shù)據(jù) </p><p>  ·2-------不允許繼續(xù)發(fā)送和接收數(shù)據(jù),均為允許則調(diào)用close ()   shutdown在操作成功時返回0

13、,在出現(xiàn)錯誤時返回-1并置相應(yīng)errno。</p><p><b>  常用端口掃描技術(shù)</b></p><p>  TCP connect()掃描:</p><p>  這是最基本的TCP掃描,操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用可以用來與每一個感興趣的目標(biāo)計算機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),那么connect()就能成功。否則,

14、這個端口是不能用的,即沒有提供服務(wù)。這個技術(shù)的一個最大的優(yōu)點(diǎn)是,你不需要任何權(quán)限。系統(tǒng)中的任何用戶都有權(quán)利使用這個調(diào)用。另一個好處就是速度,如果對每個目標(biāo)端口以線性的方式,使用單獨(dú)的connect()調(diào)用,那么將會花費(fèi)相當(dāng)長的時間,使用者可以通過同時打開多個套接字來加速掃描。使用非阻塞I/O允許你設(shè)置一個低的時間用盡周期,同時觀察多個套接字。但這種方法的缺點(diǎn)是很容易被察覺,并且被防火墻將掃描信息包過濾掉。目標(biāo)計算機(jī)的logs文件會顯示一

15、連串的連接和連接出錯消息,并且能很快使它關(guān)閉。</p><p>  TCP SYN掃描:</p><p>  這種技術(shù)通常認(rèn)為是“半開放”掃描,這是因為掃描程序不必要打開一個完全的TCP連接。掃描程序發(fā)送的是一個SYN數(shù)據(jù)包,好象準(zhǔn)備打開一個實際的連接并等待反應(yīng)一樣(參考TCP的三次握手建立一個TCP連接的過程)。一個SYN|ACK的返回信息表示端口處于偵聽狀態(tài):返回RST表示端口沒有處于

16、偵聽?wèi)B(tài)。如果收到一個SYN|ACK,則掃描程序必須再發(fā)送一個RST信號,來關(guān)閉這個連接過程。這種掃描技術(shù)的優(yōu)點(diǎn)在于一般不會在目標(biāo)計算機(jī)上留下記錄,但這種方法的缺點(diǎn)是必須要有root權(quán)限才能建立自己的SYN數(shù)據(jù)包。</p><p>  TCP FIN 掃描:</p><p>  SYN掃描雖然是“半開放”方式掃描,但在某些時候也不能完全隱藏掃描者的動作,防火墻和包過濾器會對管理員指定的端口進(jìn)

17、行監(jiān)視,有的程序能檢測到這些掃描。相反,F(xiàn)IN數(shù)據(jù)包在掃描過程中卻不會遇到過多問題,這種掃描方法的思想是關(guān)閉的端口會用適當(dāng)?shù)腞ST來回復(fù)FIN數(shù)據(jù)包。另一方面,打開的端口會忽略對FIN數(shù)據(jù)包的回復(fù)。這種方法和系統(tǒng)的實現(xiàn)有一定的關(guān)系,有的系統(tǒng)不管端口是否打開都會回復(fù)RST,在這種情況下此種掃描就不適用了。另外這種掃描方法可以非常容易的區(qū)分服務(wù)器是運(yùn)行Unix系統(tǒng)還是NT系統(tǒng)。</p><p><b>  

18、IP段掃描:</b></p><p>  這種掃描方式并不是新技術(shù),它并不是直接發(fā)送TCP探測數(shù)據(jù)包,而是將數(shù)據(jù)包分成兩個較小的IP段。這樣就將一個TCP頭分成好幾個數(shù)據(jù)包,從而過濾器就很難探測到。但必須小心:一些程序在處理這些小數(shù)據(jù)包時會有些麻煩。</p><p>  TCP 反向 ident掃描:</p><p>  ident 協(xié)議允許(rfc14

19、13)看到通過TCP連接的任何進(jìn)程的擁有者的用戶名,即使這個連接不是由這個進(jìn)程開始的。例如掃描者可以連接到http端口,然后用identd來發(fā)現(xiàn)服務(wù)器是否正在以root權(quán)限運(yùn)行。這種方法只能在和目標(biāo)端口建立了一個完整的TCP連接后才能看到。</p><p><b>  FTP 返回攻擊:</b></p><p>  FTP協(xié)議的一個有趣的特點(diǎn)是它支持代理(proxy)

20、FTP連接,即入侵者可以從自己的計算機(jī)self.com和目標(biāo)主機(jī)target.com的FTP server-PI(協(xié)議解釋器)連接,建立一個控制通信連接。然后請求這個server-PI激活一個有效的server-DTP(數(shù)據(jù)傳輸進(jìn)程)來給Internet上任何地方發(fā)送文件。對于一個User-DTP,盡管RFC明確地定義請求一個服務(wù)器發(fā)送文件到另一個服務(wù)器是可以的,但現(xiàn)在這個方法并不是非常有效。這個協(xié)議的缺點(diǎn)是“能用來發(fā)送不能跟蹤的郵件和

21、新聞,給許多服務(wù)器造成打擊,用盡磁盤,企圖越過防火墻”。</p><p>  UDP ICMP端口不能到達(dá)掃描:</p><p>  這種方法與上面幾種方法的不同之處在于使用的是UDP協(xié)議,而非TCP/IP協(xié)議。由于UDP協(xié)議很簡單,所以掃描變得相對比較困難。這是由于打開的端口對掃描探測并不發(fā)送確認(rèn)信息,關(guān)閉的端口也并不需要發(fā)送一個錯誤數(shù)據(jù)包。幸運(yùn)的是許多主機(jī)在向一個未打開的UDP端口發(fā)送

22、數(shù)據(jù)包時,會返回一個ICMP_PORT_UNREACH錯誤,這樣掃描者就能知道哪個端口是關(guān)閉的。UDP和ICMP錯誤都不保證能到達(dá),因此這種掃描器必須還實現(xiàn)在一個包看上去是丟失的時候能重新傳輸。這種掃描方法是很慢的,因為RFC對ICMP錯誤消息的產(chǎn)生速率做了規(guī)定。同樣這種掃描方法也需要具有root權(quán)限。</p><p>  UDP recvfrom()和write() 掃描:</p><p&g

23、t;  當(dāng)非root用戶不能直接讀到端口不能到達(dá)錯誤時,Linux能間接地在它們到達(dá)時通知用戶。比如,對一個關(guān)閉的端口的第二個write()調(diào)用將失敗。在非阻塞的UDP套接字上調(diào)用recvfrom()時,如果ICMP出錯還沒有到達(dá)時回返回EAGAIN-重試。如果ICMP到達(dá)時,返回ECONNREFUSED-連接被拒絕。這就是用來查看端口是否打開的技術(shù)。</p><p><b>  常見端口掃描器<

24、/b></p><p>  NSS(網(wǎng)絡(luò)安全掃描器)</p><p>  NSS由Perl語言編成,它最根本的價值在于它的速度,它運(yùn)行速度非???,它可以執(zhí)行下列常規(guī)檢查:</p><p>  ■Sendmail </p><p><b>  ■匿名FTP </b></p><p><b

25、>  ■NFS出口 </b></p><p><b>  ■TFTP</b></p><p>  ■Hosts.equiv</p><p><b>  ■Xhost</b></p><p>  利用NSS,用戶可以增加更強(qiáng)大的功能,其中包括:</p><p>

26、;  ■AppleTalk掃描</p><p>  ■Novell掃描 </p><p><b>  ■LAN管理員掃描</b></p><p><b>  ■可掃描子網(wǎng)</b></p><p>  NSS執(zhí)行的進(jìn)程包括:</p><p>  ■取得指定域的列表或報告,該域原

27、本不存在這類列表</p><p>  ■用Ping命令確定指定主機(jī)是否是活性的</p><p>  ■掃描目標(biāo)主機(jī)的端口 </p><p>  ■報告指定地址的漏洞 </p><p>  Strobe(超級優(yōu)化TCP端口檢測程序)</p><p>  strobe是一個TCP端口掃描器,它可以記錄指定機(jī)器的所有開放端口

28、。strobe運(yùn)行速度快。</p><p>  strobe的主要特點(diǎn)是,它能快速識別指定機(jī)器上正在運(yùn)行什么服務(wù)。strobe的主要不足是這類信</p><p>  息是很有限的,一次strobe攻擊充其量可以提供給“入侵者”一個粗略的指南,告訴什么服務(wù)可以</p><p>  被攻擊。但是,strobe用擴(kuò)展的行命令選項彌補(bǔ)了這個不足。比如,在用大量指定端口掃描主

29、機(jī)</p><p>  時,可以禁止所有重復(fù)的端口描述。</p><p><b>  其他選項包括:</b></p><p>  ■定義起始和終止端口 ■定義在多長時間內(nèi)接收不到端口或主機(jī)響應(yīng),便終止這次掃描。</p><p>  ■定義使用的socket號碼</p><p>  ■定義stro

30、be要捕捉的目標(biāo)主機(jī)的文件</p><p>  SATAN(安全管理員的網(wǎng)絡(luò)分析工具)</p><p>  SATAN是為UNIX設(shè)計的,它主要是用C和Perl語言編寫的(為了用戶界面的友好性,還用了一些HTML技術(shù))。它能在許多類UNIX平臺上運(yùn)行,有些根本不需要移植,而在其他平臺上也只是略作移植。</p><p>  SATAN用于掃描遠(yuǎn)程主機(jī)的許多已知的漏洞,

31、其中包括,但并不限于下列這些漏洞:</p><p>  ■FTPD脆弱性和可寫的FTP目錄</p><p><b>  ■NFS脆弱性</b></p><p><b>  ■NIS脆弱性</b></p><p><b>  ■RSH脆弱性</b></p><

32、p><b>  ■Sendmail</b></p><p><b>  ■X服務(wù)器脆弱性</b></p><p><b>  Jakal </b></p><p>  Jakal是一個秘密掃描器,也就是就,它可以掃描一個區(qū)域(在防火墻后面),而不留下任何痕跡。秘密掃描器工作時會產(chǎn)生“半掃描”(h

33、alf scans),它啟動(但從不完成)與目標(biāo)主機(jī)的SYN/ACK過程。從根本上講,秘密掃描器繞過了防火墻,并且避開了端口掃描探測器,識別出在防火墻后面運(yùn)行的是什么服務(wù)。(這里包括了像Courtney和GAbriel這樣的精制掃描探測器)</p><p>  IdentTCPscan </p><p>  IdentTCPscan是一個更加專業(yè)化的掃描器,其中加入了識別指定TCP端口進(jìn)程

34、的所有者的功能,也就是說,它能測定該進(jìn)程的UID??稍谌缦碌刂氛业娇截悾篽ttp://www.giga.or.at/pub/hacker/unix ; </p><p><b>  CONNECT</b></p><p>  CONNECT是一個bin/sh程序,它的用途是掃描TFTP服務(wù)子網(wǎng)。</p><p><b>  FSPSc

35、an</b></p><p>  FSPScan用于掃描FSP服務(wù)順。FSP代表文件服務(wù)協(xié)議,是非常類似于FTP的Internet協(xié)議。它提供匿名文件傳輸,并且據(jù)說具有網(wǎng)絡(luò)過載保護(hù)功能(比如,F(xiàn)SP從來不分叉)。FSP最知名的安全特性可能就是它記錄所有到來用戶的主機(jī)名,這被認(rèn)為優(yōu)于FTP,因為FTP僅要求用戶的E-mail地址。 </p><p><b>  XSCA

36、N</b></p><p>  XSCAN掃描具有X服務(wù)器弱點(diǎn)的子網(wǎng)(或主機(jī))。XSCAN增加了一個功能:如果它找到了一個脆弱的目標(biāo),它會立即加入記錄。 </p><p>  XSCAN的其他優(yōu)點(diǎn)還包括:可以一次掃描多臺主機(jī)。這些主機(jī)可以在行命令中作為變量鍵入(并且你可以通過混合匹配同時指定主機(jī)和子網(wǎng))。</p><p><b>  本章小節(jié)&

37、lt;/b></p><p>  本章節(jié)著重介紹了TCP協(xié)議、UDP協(xié)議以及SOCKET接口的相關(guān)知識</p><p>  還大致介紹了TCP connect()掃描、CP SYN掃描、CP FIN 掃描、IP段掃描等幾種常規(guī)掃描模式。</p><p>  最后還介紹了NSS、Strobe、ATAN、Jakal等幾種常見的掃描工具。為網(wǎng)絡(luò)掃描工具的開發(fā)打下了理

38、論基礎(chǔ)。</p><p><b>  端口掃描器的開發(fā)</b></p><p><b>  開發(fā)原理</b></p><p>  開發(fā)端口掃描器需要用到控件,利用它與遠(yuǎn)程計算機(jī)建立連接,并通過用UDP協(xié)議或TCP協(xié)議進(jìn)行數(shù)據(jù)交換。這樣就能確認(rèn)遠(yuǎn)程計算機(jī)的端口開放情況。由于TCP協(xié)議判斷遠(yuǎn)程計算機(jī)的信息比UDP協(xié)議準(zhǔn)確,所以

39、本文使用Winsock控件的TCP協(xié)議來開發(fā)掃描器。</p><p>  首先在IP地址和端口的循環(huán)中動態(tài)建立winsock套接字(Fsocket),在該套接字的通訊方式上選擇非阻塞方式(WSAAsyncSelect()),并在Fsocket套接字,線程內(nèi)分配的非可視控件句柄,網(wǎng)絡(luò)事件處理函數(shù)以及網(wǎng)絡(luò)事件消息(FD_CONNECT連接消息)之間建立相應(yīng)的關(guān)聯(lián)。設(shè)置好Fsocket的IP地址和相應(yīng)的端口號后,調(diào)用c

40、onnect()函數(shù)與遠(yuǎn)程目標(biāo)主機(jī)建立連接。調(diào)用WaitForSingleObject()函數(shù)等待網(wǎng)絡(luò)連接事件的發(fā)生,一旦連接成功將自動調(diào)用自定義的 ReadData()函數(shù)處理相應(yīng)網(wǎng)絡(luò)消息。最后將網(wǎng)絡(luò)事件復(fù)位(ResetEvent)以便等待下一網(wǎng)絡(luò)事件發(fā)生,并取消在Fsocket套接字,線程內(nèi)分配的非可視化句柄,網(wǎng)絡(luò)事件處理函數(shù)以及網(wǎng)絡(luò)事件消息(FD_CONNECT連接消息)之間建立相應(yīng)的關(guān)聯(lián),關(guān)閉Fsocket. </p>

41、;<p><b>  屬性</b></p><p>  LocalHostName | 本機(jī)名。</p><p>  LocalIP | 本機(jī)IP地址。</p><p>  LocalPort | 本機(jī)通信程序的端口(0\<端口\<65536)。</p><p>  RemoteHost | 遠(yuǎn)

42、程計算機(jī)名。</p><p>  RemotePort | 遠(yuǎn)程計算機(jī)的通信程序端口。</p><p>  state | 連接的當(dāng)前狀態(tài)。</p><p>  Protocal | 使用</p><p>  TCP或UDP協(xié)議。</p><p><b>  方法</b></p>&

43、lt;p>  Listen | 用于服務(wù)器程序,等待客戶訪問。</p><p><b>  格式:</b></p><p>  Winsock對象.listenConnect | </p><p>  用于向遠(yuǎn)程主機(jī)發(fā)出連接請求。</p><p><b>  格式:</b></p>

44、<p>  Winsock對象.connect \[遠(yuǎn)程主機(jī)IP地址,遠(yuǎn)程端口]Accept | </p><p>  用于接受一個連接請求。</p><p><b>  格式:</b></p><p>  Winsock對象.accept Request IDSenddata | </p><p><

45、;b>  用于發(fā)送數(shù)據(jù)。</b></p><p><b>  格式:</b></p><p>  Winsock對象.senddata 數(shù)據(jù)Getdata | </p><p>  用來取得接收到的數(shù)據(jù)。</p><p><b>  格式:</b></p><p

46、>  Winsock對象.getdata 變量 \[,數(shù)據(jù)類型 \[,最大長度]]Close | </p><p><b>  用于關(guān)閉當(dāng)前連接。</b></p><p>  格式:Winsock對象.close</p><p><b>  事件</b></p><p>  Close | 遠(yuǎn)

47、程計算機(jī)關(guān)閉連接時觸發(fā)。</p><p>  Connect | 連接建立好,可以進(jìn)行通信時觸發(fā)(客戶端)。</p><p>  ConnectRequest | 有連接請求到達(dá)時觸發(fā)(服務(wù)器端)。</p><p>  DataArrival | 有數(shù)據(jù)到達(dá)時觸發(fā)。</p><p>  Error | 發(fā)生錯誤時觸發(fā)。</p>

48、<p>  SendProgress | 數(shù)據(jù)傳送進(jìn)度。</p><p><b>  開發(fā)端口掃描器界面</b></p><p>  下面來開VB開始制作界面。首先構(gòu)造一個基本的掃描器界面,包括IP地址欄、端口欄、結(jié)果欄和速度設(shè)置欄。</p><p><b>  步驟1:</b></p><p

49、>  新建一個窗體,在其中添加4個 textbox控件,分別命名為“txtIP”、“txtLowerBound”、“”和“txtMaxConnections”。它們分別代表目標(biāo)IP地址、開始端口、結(jié)束端口和速度線程數(shù)。再分別給這4個textbox控件加上frame控件,并將frame的caption值分別設(shè)置為目標(biāo)IP地址、端口范圍和線程數(shù)。這樣就顯得比較美觀。</p><p><b>  步驟2

50、:</b></p><p>  添加一個listbo控件,它用來顯示掃描的端口開放結(jié)果,將其命名為lstOpenPorts。再添加三個控件,將其Caption值分別設(shè)置為掃描、停止和清除。</p><p><b>  步驟3 :</b></p><p>  添加一個Winsock控件,命名為“wskSocket”,同時添一個time

51、r控件,命名為“timTimer”。</p><p><b>  步驟4:</b></p><p>  為了顯示狀態(tài),在界面底部增加一個statusbar控件,將其命名為“sbMain”。它用來顯示速度及時間等信息。</p><p><b>  代碼編寫</b></p><p>  Dim port

52、num As Long  '設(shè)置變量!</p><p>  Dim start As String</p><p>  Private Sub cmdClear_Click()</p><p>  lstOpenPorts.Text = ""       '輸入

53、的文本</p><p><b>  End Sub</b></p><p>  Private Sub cmdScan_Click()</p><p>  If txtUB.Text = "" Or Text3.Text = "" Then     

54、60;   '如果.IF</p><p>  MsgBox "端口號不能為空??!"                  '提示</p><p><b>  E

55、xit Sub</b></p><p><b>  End If</b></p><p>  Winsock1.Close '控件</p><p>  start = True</p><p>  Call SCanningPorts   '調(diào)用自定義的過程</p&g

56、t;<p>  stOpenPorts.Text = lstOpenPorts.Text & vbCrLf & "端口" & txtUB.Text & "-" & Text3.Text & "已經(jīng)掃描成功!"</p><p><b>  End Sub</b></p

57、><p>  Private Sub cmdStop_Click()</p><p>  start = False</p><p><b>  End Sub</b></p><p>  Sub SCanningPorts()     '自定義的過程</p>&

58、lt;p>  Dim porttwo As Long</p><p>  portnum = txtUB.Text</p><p>  porttwo = Text3.Text</p><p>  On Error GoTo viriio:</p><p><b>  Do</b></p><p

59、>  portnum = portnum + 1</p><p><b>  DoEvents</b></p><p>  If start = True Then</p><p>  Winsock1.Close</p><p><b>  DoEvents</b></p>&

60、lt;p>  Winsock1.LocalPort = portnum</p><p><b>  DoEvents</b></p><p>  txtcon.Text = portnum</p><p>  Winsock1.Listen</p><p><b>  DoEvents</b>

61、</p><p><b>  Else</b></p><p>  portnum = 0</p><p><b>  Exit Sub</b></p><p><b>  End If</b></p><p>  Winsock1.Close</

62、p><p><b>  DoEvents</b></p><p>  Loop Until portnum >= porttwo</p><p>  portnum = 0</p><p><b>  viriio:</b></p><p>  If Err.Number

63、= 10048 Then</p><p>  lstOpenPorts.Text = lstOpenPorts.Text & vbCrLf & "端口" & Winsock1.LocalPort & "開放中"</p><p>  Resume Next</p><p><b>  E

64、nd If</b></p><p><b>  End Sub</b></p><p>  Private Sub Form_Load()</p><p><b>  End Sub</b></p><p><b>  測試</b></p><p

65、><b>  對該軟件進(jìn)行測試:</b></p><p>  達(dá)到開發(fā)目的,具備發(fā)現(xiàn)一個計算機(jī)或網(wǎng)絡(luò)的能力;具備發(fā)現(xiàn)一臺計算機(jī),就有發(fā)現(xiàn)目標(biāo)計算機(jī)正在運(yùn)行什么服務(wù)的能力;具備測試目標(biāo)計算機(jī)上的這些服務(wù),發(fā)現(xiàn)存在的漏洞的能力。</p><p><b>  本章小結(jié)</b></p><p>  開發(fā)了一款簡單的基于VB的

66、網(wǎng)絡(luò)端口掃描工具。并對其進(jìn)行了測試,在Windows NT/XP下穩(wěn)定運(yùn)行。</p><p><b>  結(jié)束語</b></p><p>  通過一個多月緊張有序的學(xué)習(xí)與研究,圓滿完成了本次課程研究。在本次課程研究中主要采取了百度加咨詢學(xué)長的方式。</p><p>  通過這次對端口掃描工具的研究,我真正體會到了端口掃描的重要性。這次課程設(shè)計使

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論