端口掃描器的設(shè)計(jì)與實(shí)現(xiàn)分解_第1頁(yè)
端口掃描器的設(shè)計(jì)與實(shí)現(xiàn)分解_第2頁(yè)
端口掃描器的設(shè)計(jì)與實(shí)現(xiàn)分解_第3頁(yè)
端口掃描器的設(shè)計(jì)與實(shí)現(xiàn)分解_第4頁(yè)
端口掃描器的設(shè)計(jì)與實(shí)現(xiàn)分解_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、河南理工大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 課程設(shè)計(jì)報(bào)告2015 2016學(xué)年第一學(xué)期課程名稱(chēng)網(wǎng)絡(luò)與信息安全設(shè)計(jì)題目 端口掃描器的設(shè)計(jì)與實(shí)現(xiàn)姓名范騰飛學(xué)號(hào)311309040113專(zhuān)業(yè)班級(jí)網(wǎng)絡(luò)1301指導(dǎo)教師葉青2016 年1 月 16 日目錄一課程設(shè)計(jì)的目的 二課程設(shè)計(jì)的要求 三端口掃描器相關(guān)知識(shí) 3.1:端口的基本概念 3.2:常見(jiàn)的端口介紹 3.3:端口掃描器基本原理 3.4:端口掃描常用技術(shù) 四實(shí)驗(yàn)流程 4.1:基本步驟 4.2:主要函數(shù) 4.3流程圖 五實(shí)驗(yàn)結(jié)果 六總結(jié) 一:課程設(shè)計(jì)的目的模擬常用的端口掃描軟件原理, 利用 Socket 實(shí)現(xiàn)基本的端口掃描功能。 掃描器是網(wǎng)絡(luò)信息收集的一種方法,

2、從功能上可分為漏洞掃描器和端口掃描器。 通過(guò)此次課程設(shè)計(jì), 能夠掌握漏洞、 端口的基礎(chǔ)知識(shí), 掌握掃描器的基本原理并 設(shè)計(jì)實(shí)現(xiàn)端口掃描和漏洞掃描程序。二:課程設(shè)計(jì)要求本課程設(shè)計(jì)的目標(biāo)是設(shè)計(jì)并實(shí)現(xiàn)一個(gè)網(wǎng)絡(luò)掃描器, 它通過(guò)與目標(biāo)主機(jī) TCP/IP 端口建立連接并請(qǐng)求某些服務(wù),記錄目標(biāo)主機(jī)的應(yīng)答,分析目標(biāo)主機(jī)相關(guān)信息, 從而發(fā)現(xiàn)目標(biāo)主機(jī)某些內(nèi)在的安全弱點(diǎn)。掃描器通常分兩類(lèi):漏洞掃描器和端口掃描器。端口掃描器用來(lái)掃描目標(biāo)機(jī) 開(kāi)放的服務(wù)端口以及端口相關(guān)信息。 漏洞掃描器檢查目標(biāo)中可能包含的大量已知 的漏洞,如果發(fā)現(xiàn)潛在的漏洞可能性,就報(bào)告給掃描者。網(wǎng)絡(luò)漏洞端口掃描器對(duì)目標(biāo)系統(tǒng)進(jìn)行檢測(cè)時(shí),首先探測(cè)目標(biāo)系統(tǒng)

3、的存活主 機(jī),對(duì)存活主機(jī)進(jìn)行端口掃描, 確定系統(tǒng)開(kāi)放的端口, 同時(shí)根據(jù)協(xié)議指紋技術(shù)識(shí) 別出主機(jī)的操作系統(tǒng)類(lèi)型。然后掃描器對(duì)開(kāi)放的端口進(jìn)行網(wǎng)絡(luò)服務(wù)類(lèi)型的識(shí)別, 確定其提供的網(wǎng)絡(luò)服務(wù)。 漏洞掃描器根據(jù)目標(biāo)系統(tǒng)的操作系統(tǒng)平臺(tái)和提供的網(wǎng)絡(luò) 服務(wù),調(diào)用漏洞資料庫(kù)中已知的各種漏洞進(jìn)行逐一檢測(cè), 通過(guò)對(duì)探測(cè)響應(yīng)數(shù)據(jù)包 的分析判斷是否存在漏洞。在分析總結(jié)目前現(xiàn)有的掃描軟件,在掌握掃描器的原理基礎(chǔ)上,首先設(shè)計(jì)、 實(shí)現(xiàn)一種端口掃描程序, 存儲(chǔ)掃描結(jié)果。 在此基礎(chǔ)上, 有余力的同學(xué)對(duì)已經(jīng)開(kāi)放 的重要端口有具體漏洞分析檢測(cè)。程序具體要求實(shí)現(xiàn)以下任一程序: 高效端口掃描器設(shè)計(jì)與實(shí)現(xiàn):參照常見(jiàn)端口掃描器,在局域網(wǎng)內(nèi),能對(duì)

4、所有 計(jì)算機(jī)進(jìn)行常用端口的高速掃描, 給出掃描結(jié)果。 另外根據(jù)配置不同的網(wǎng)段, 實(shí)現(xiàn)正對(duì)校園網(wǎng)絡(luò)的基于網(wǎng)段的高速掃描。高效的漏洞掃描器的設(shè)計(jì)與實(shí)現(xiàn):設(shè)計(jì)網(wǎng)絡(luò)漏洞掃描儀的結(jié)構(gòu),建立常見(jiàn)的 漏洞庫(kù),并基于該漏洞庫(kù),實(shí)現(xiàn)高效的基于網(wǎng)段的漏洞掃描器。主機(jī)脆弱性分析系統(tǒng):將漏洞和端口掃描結(jié)合起來(lái),實(shí)現(xiàn)針對(duì)主機(jī)的脆弱性 分析系統(tǒng)。三: 相關(guān)知識(shí)1. 端口的基本概念:我們這里所說(shuō)的端口, 不是計(jì)算機(jī)硬件的 i/o 端口,而是軟件形式上的概念。服務(wù)器可以向外提供多種服務(wù),比如,一臺(tái)服務(wù)器可以同時(shí)是web服務(wù)器,也可以是ftp服務(wù)器,同時(shí),它也可以是郵件服務(wù)器。為什么一臺(tái)服務(wù)器可以同時(shí)提 供那么多的服務(wù)呢?其中

5、一個(gè)很主要的方面, 就是各種服務(wù)采用不同的端口分別 提供不同的服務(wù)。 根據(jù)提供服務(wù)類(lèi)型的不同,端口分為兩種,一種是 tcp 端口, 一種是udp端口。計(jì)算機(jī)之間相互通信的時(shí)候,分為兩種方式:一種是發(fā)送信息 以后,可以確認(rèn)信息是否到達(dá),也就是有應(yīng)答的方式,這種方式大多采用 tcp 協(xié) 議;一種是發(fā)送以后就不管了,不去確認(rèn)信息是否到達(dá),這種方式大多采用 udp 協(xié)議。對(duì)應(yīng)這兩種協(xié)議的服務(wù)提供的端口,也就分為tcp端口和udp端口。那么,如果攻擊者使用軟件掃描目標(biāo)計(jì)算機(jī), 得到目標(biāo)計(jì)算機(jī)打開(kāi)的端口, 也就了解了 目標(biāo)計(jì)算機(jī)提供了那些服務(wù)。2. 常見(jiàn)端口介紹端口: 21 服務(wù): FTP說(shuō)明:FTP服務(wù)

6、器所開(kāi)放的端口,用于上傳、下載。最常見(jiàn)的攻擊者用于尋找 打開(kāi)anony mou啲F(xiàn)TP服務(wù)器的方法。這些服務(wù)器帶有可讀寫(xiě)的目錄。木馬DolyTrojan、Fore、In visible FTP、WebEx Wi nCrash和 Blade Runner所開(kāi)放的端口。端口: 23 服務(wù): Telnet說(shuō)明:遠(yuǎn)程登錄,入侵者在搜索遠(yuǎn)程登錄UNIX勺服務(wù)。大多數(shù)情況下掃描這一 端口是為了找到機(jī)器運(yùn)行的 * 作系統(tǒng)。還有使用其他技術(shù), 入侵者也會(huì)找到密碼。 木馬 Tiny Telnet Server 就開(kāi)放這個(gè)端口端口: 25 服務(wù): SMTP說(shuō)明:SMT服務(wù)器所開(kāi)放的端口,用于發(fā)送郵件。入侵者尋找

7、SMT服務(wù)器是 為了傳遞他們的SPAM入侵者的帳戶(hù)被關(guān)閉,他們需要連接到高帶寬的 E-MAIL 服務(wù)器上,將簡(jiǎn)單的信息傳遞到不同的地址。木馬 Antigen 、 Email PasswordSen der、Haebu Coceda Shtrilitz Stealth 、Win PC Win Spy都開(kāi)放這個(gè)端口 端口: 80 服務(wù): HTTP 說(shuō)明:用于網(wǎng)頁(yè)瀏覽。木馬 Executor 開(kāi)放此端口。3. 端口掃描器功能簡(jiǎn)介:服務(wù)器上所開(kāi)放的端口就是潛在的通信通道, 也就是一個(gè)入侵通道。 對(duì)目標(biāo) 計(jì)算機(jī)進(jìn)行端口掃描, 能得到許多有用的信息, 進(jìn)行端口掃描的方法很多, 可以 是手工進(jìn)行掃描、也可以

8、用端口掃描軟件進(jìn)行。掃描器通過(guò)選用遠(yuǎn)程TCP/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通 過(guò)這種方法可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息, 例如遠(yuǎn)程系統(tǒng)是否 支持匿名登陸、是否存在可寫(xiě)的FTP目錄、是否開(kāi)放TELNE服務(wù)和HTTP服務(wù)等。4. 常用端口掃描技術(shù):1 、 TCP connect() 掃描:這是最基本的TC旳描,操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用可以用來(lái)與每 一個(gè)感興趣的目標(biāo)計(jì)算機(jī)的端口進(jìn)行連接。如果端口處于偵聽(tīng)狀態(tài),那么 connect() 就能成功。否則,這個(gè)端口是不能用的,即沒(méi)有提供服務(wù)。這個(gè)技術(shù) 的一個(gè)最大的優(yōu)點(diǎn)是, 你不需要任何權(quán)限。 系統(tǒng)中的任何用戶(hù)都有

9、權(quán)利使用這個(gè) 調(diào)用。另一個(gè)好處就是速度,如果對(duì)每個(gè)目標(biāo)端口以線(xiàn)性的方式,使用單獨(dú)的 connect() 調(diào)用,那么將會(huì)花費(fèi)相當(dāng)長(zhǎng)的時(shí)間,使用者可以通過(guò)同時(shí)打開(kāi)多個(gè)套 接字來(lái)加速掃描。使用非阻塞 I/O 允許你設(shè)置一個(gè)低的時(shí)間用盡周期,同時(shí)觀察 多個(gè)套接字。 但這種方法的缺點(diǎn)是很容易被察覺(jué), 并且被防火墻將掃描信息包過(guò) 濾掉。目標(biāo)計(jì)算機(jī)的 logs 文件會(huì)顯示一連串的連接和連接出錯(cuò)消息, 并且能很快 使它關(guān)閉。2、TCP SY掃描:這種技術(shù)通常認(rèn)為是“半開(kāi)放”掃描, 這是因?yàn)閽呙璩绦虿槐匾蜷_(kāi)一個(gè)完 全的TCP連接。掃描程序發(fā)送的是一個(gè)SYN數(shù)據(jù)包,好象準(zhǔn)備打開(kāi)一個(gè)實(shí)際的連接 并等待反應(yīng)一樣(參

10、考TCP勺三次握手建立一個(gè)TCP連接的過(guò)程)。一個(gè)SYN|ACK 的返回信息表示端口處于偵聽(tīng)狀態(tài):返回 RS表示端口沒(méi)有處于偵聽(tīng)?wèi)B(tài)。如果收 到一個(gè)SYN|ACK則掃描程序必須再發(fā)送一個(gè)RSTW號(hào),來(lái)關(guān)閉這個(gè)連接過(guò)程。這 種掃描技術(shù)的優(yōu)點(diǎn)在于一般不會(huì)在目標(biāo)計(jì)算機(jī)上留下記錄, 但這種方法的缺點(diǎn)是 必須要有root權(quán)限才能建立自己的SYN數(shù)據(jù)包。3 、 TCP FIN 掃描:SYN 掃描雖然是“半開(kāi)放”方式掃描, 但在某些時(shí)候也不能完全隱藏掃描者 的動(dòng)作,防火墻和包過(guò)濾器會(huì)對(duì)管理員指定的端口進(jìn)行監(jiān)視, 有的程序能檢測(cè)到 這些掃描。相反, FIN 數(shù)據(jù)包在掃描過(guò)程中卻不會(huì)遇到過(guò)多問(wèn)題,這種掃描方法 的

11、思想是關(guān)閉的端口會(huì)用適當(dāng)?shù)?RS睞回復(fù)FIN數(shù)據(jù)包。另一方面,打開(kāi)的端口會(huì) 忽略對(duì)FIN數(shù)據(jù)包的回復(fù)。這種方法和系統(tǒng)的實(shí)現(xiàn)有一定的關(guān)系,有的系統(tǒng)不管 端口是否打開(kāi)都會(huì)回復(fù)RST在這種情況下此種掃描就不適用了。另外這種掃描 方法可以非常容易的區(qū)分服務(wù)器是運(yùn)行 Unix系統(tǒng)還是N係統(tǒng)。4、IP段掃描:這種掃描方式并不是新技術(shù),它并不是直接發(fā)送 TCP探測(cè)數(shù)據(jù)包,而是將數(shù) 據(jù)包分成兩個(gè)較小的IP段。這樣就將一個(gè)TCP頭分成好幾個(gè)數(shù)據(jù)包,從而過(guò)濾器 就很難探測(cè)到。但必須小心:一些程序在處理這些小數(shù)據(jù)包時(shí)會(huì)有些麻煩。5 、 TCP 反向 ident 掃描:ide nt協(xié)議允許(rfc1413)看到通過(guò)T

12、CP連接的任何進(jìn)程的擁有者的用戶(hù)名,即使這個(gè)連接不是由這個(gè)進(jìn)程開(kāi)始的。 例如掃描者可以連接到 http 端口,然后用 identd 來(lái)發(fā)現(xiàn)服務(wù)器是否正在以 root 權(quán)限運(yùn)行。這種方法只能在和目標(biāo)端口建立 了一個(gè)完整的TCP連接后才能看到。6 、 FTP 返回攻擊:FTP協(xié)議的一個(gè)有趣的特點(diǎn)是它支持代理 (proxy)FTP連接,即入侵者可以從 自己的計(jì)算機(jī)和目標(biāo)主機(jī)的FTP server-PI(協(xié)議解釋器)連 接,建立一個(gè)控制通信連接。然后請(qǐng)求這個(gè) server-PI 激活一個(gè)有效的 server-DTP(數(shù)據(jù)傳輸進(jìn)程)來(lái)給In ternet上任何地方發(fā)送文件。對(duì)于一個(gè) User-DTP,盡

13、管RF(明確地定義請(qǐng)求一個(gè)服務(wù)器發(fā)送文件到另一個(gè)服務(wù)器是可以 的,但現(xiàn)在這個(gè)方法并不是非常有效。 這個(gè)協(xié)議的缺點(diǎn)是“能用來(lái)發(fā)送不能跟蹤 的郵件和新聞,給許多服務(wù)器造成打擊,用盡磁盤(pán),企圖越過(guò)防火墻”。 四:實(shí)驗(yàn)流程步驟:1. 先輸入想要掃描的網(wǎng)段;2. 然后將輸入的網(wǎng)段轉(zhuǎn)化為可排序的 ip 數(shù)組3. 建立多個(gè)線(xiàn)程,每個(gè)線(xiàn)程掃描一個(gè) ip 。每個(gè)線(xiàn)程內(nèi)先建立數(shù)據(jù)流套接字, 然 后綁 定ip 端 口進(jìn)行 掃描 。將 掃 描端 口 保存到g_map_ScanResult。4. 清理結(jié)束后進(jìn)程,輸出結(jié)果。5. 計(jì)算所用時(shí)間。程序中主要的函數(shù):int main()/ 主函數(shù)InitProc();/ 初始

14、化UserInput();/ 輸入ScanIp(g_startIp,g_endIp,g_map_ScanResult);/ 開(kāi)始掃描CleanProc();/ 清理結(jié)束后進(jìn)程O(píng)utPutScanInfo();/ 輸出結(jié)果DWORD WINAPI ThreadFunc(LPVOID th_para)/ 掃描線(xiàn)程每一個(gè) ip將ip化為可比較的const string &EndIp,unsigned long InvertIp(unsigned long srcIp) /int GetIpToScan(const string &StartIp, vector &vec_ip)/ 將所有 ip 排序

15、放在一個(gè)數(shù)組內(nèi)流程圖:函數(shù)ThreadFunc主流程圖:uihiunedkinulScuntp.JYport porrsTOscan.,.Wfli tForSingleObjectl.,. D_Z E ROl & et_Tlflg ;IY1:nik.+i-iiidex;bhutdowndink cckho i.retnn/1;五:結(jié)果開(kāi)始界面:*C:U5ersadamDesktopDebiig6.exer掃描界面:結(jié)果界面:回I * C:Usersa da mDes ktopD e bug6.exe六:總結(jié)通過(guò)這次端口掃描器的實(shí)驗(yàn)深化了信息對(duì)抗,信息安全的意識(shí)。對(duì)于網(wǎng)絡(luò)掃描器有了整體上的認(rèn)識(shí)。了解了 socket函數(shù)的基本用法和端口掃描的基本原 理,更加熟練掌握了 C+語(yǔ)言。在這次設(shè)計(jì)中在處理線(xiàn)程上遇到了很

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論