版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計---端口掃描工具設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計-掃描正在服務(wù)的tcp端口
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計
- 《計算機(jī)網(wǎng)絡(luò)課程設(shè)計》
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計---網(wǎng)絡(luò)設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告
- 計算機(jī)網(wǎng)絡(luò)組建課程設(shè)計
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告
- 《計算機(jī)網(wǎng)絡(luò)》課程設(shè)計報告
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計報告
- 計算機(jī)網(wǎng)絡(luò)課程設(shè)計--網(wǎng)站設(shè)計
評論
0/150
提交評論