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

下載本文檔

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

文檔簡介

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

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

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

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

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

6、見的攻擊者用于尋找打開anonymous的FTP服務(wù)器的方法。這些服務(wù)器帶有可讀寫的目錄。木馬Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所開放的端口。 端口:23 服務(wù):Telnet 說明:遠(yuǎn)程登錄,入侵者在搜索遠(yuǎn)程登錄UNIX的服務(wù)。大多數(shù)情況下掃描這一端口是為了找到機(jī)器運(yùn)行的*作系統(tǒng)。還有使用其他技術(shù),入侵者也會(huì)找到密碼。木馬Tiny Telnet Server就開放這個(gè)端口 端口:25 服務(wù):SMTP 說明:SMTP服務(wù)器所開放的端口,用于發(fā)送郵件。入侵者尋找SMTP服務(wù)器是為了傳遞他們的SPAM。入侵者的帳戶被關(guān)

7、閉,他們需要連接到高帶寬的E-MAIL服務(wù)器上,將簡單的信息傳遞到不同的地址。木馬Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都開放這個(gè)端口 端口:80 服務(wù):HTTP 說明:用于網(wǎng)頁瀏覽。木馬Executor開放此端口。3. 端口掃描器功能簡介: 服務(wù)器上所開放的端口就是潛在的通信通道,也就是一個(gè)入侵通道。對目標(biāo)計(jì)算機(jī)進(jìn)行端口掃描,能得到許多有用的信息,進(jìn)行端口掃描的方法很多,可以是手工進(jìn)行掃描、也可以用端口掃描軟件進(jìn)行。 掃描器通過選用遠(yuǎn)程TCP/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答

8、,通過這種方法可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息,例如遠(yuǎn)程系統(tǒng)是否支持匿名登陸、是否存在可寫的FTP目錄、是否開放TELNET服務(wù)和HTTPD服務(wù)等。4.常用端口掃描技術(shù): 1、TCP connect()掃描: 這是最基本的TCP掃描,操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用可以用來與每一個(gè)感興趣的目標(biāo)計(jì)算機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),那么connect()就能成功。否則,這個(gè)端口是不能用的,即沒有提供服務(wù)。這個(gè)技術(shù)的一個(gè)最大的優(yōu)點(diǎn)是,你不需要任何權(quán)限。系統(tǒng)中的任何用戶都有權(quán)利使用這個(gè)調(diào)用。另一個(gè)好處就是速度,如果對每個(gè)目標(biāo)端口以線性的方式,使用單獨(dú)的connect()調(diào)用,

9、那么將會(huì)花費(fèi)相當(dāng)長的時(shí)間,使用者可以通過同時(shí)打開多個(gè)套接字來加速掃描。使用非阻塞I/O允許你設(shè)置一個(gè)低的時(shí)間用盡周期,同時(shí)觀察多個(gè)套接字。但這種方法的缺點(diǎn)是很容易被察覺,并且被防火墻將掃描信息包過濾掉。目標(biāo)計(jì)算機(jī)的logs文件會(huì)顯示一連串的連接和連接出錯(cuò)消息,并且能很快使它關(guān)閉。 2、TCP SYN掃描: 這種技術(shù)通常認(rèn)為是“半開放”掃描,這是因?yàn)閽呙璩绦虿槐匾蜷_一個(gè)完全的TCP連接。掃描程序發(fā)送的是一個(gè)SYN數(shù)據(jù)包,好象準(zhǔn)備打開一個(gè)實(shí)際的連接并等待反應(yīng)一樣(參考TCP的三次握手建立一個(gè)TCP連接的過程)。一個(gè)SYN|ACK的返回信息表示端口處于偵聽狀態(tài):返回RST表示端口沒有處于偵聽?wèi)B(tài)。如

10、果收到一個(gè)SYN|ACK,則掃描程序必須再發(fā)送一個(gè)RST信號,來關(guān)閉這個(gè)連接過程。這種掃描技術(shù)的優(yōu)點(diǎn)在于一般不會(huì)在目標(biāo)計(jì)算機(jī)上留下記錄,但這種方法的缺點(diǎn)是必須要有root權(quán)限才能建立自己的SYN數(shù)據(jù)包。 3、TCP FIN 掃描: SYN掃描雖然是“半開放”方式掃描,但在某些時(shí)候也不能完全隱藏掃描者的動(dòng)作,防火墻和包過濾器會(huì)對管理員指定的端口進(jìn)行監(jiān)視,有的程序能檢測到這些掃描。相反,F(xiàn)IN數(shù)據(jù)包在掃描過程中卻不會(huì)遇到過多問題,這種掃描方法的思想是關(guān)閉的端口會(huì)用適當(dāng)?shù)腞ST來回復(fù)FIN數(shù)據(jù)包。另一方面,打開的端口會(huì)忽略對FIN數(shù)據(jù)包的回復(fù)。這種方法和系統(tǒng)的實(shí)現(xiàn)有一定的關(guān)系,有的系統(tǒng)不管端口是否打

11、開都會(huì)回復(fù)RST,在這種情況下此種掃描就不適用了。另外這種掃描方法可以非常容易的區(qū)分服務(wù)器是運(yùn)行Unix系統(tǒng)還是NT系統(tǒng)。 4、IP段掃描: 這種掃描方式并不是新技術(shù),它并不是直接發(fā)送TCP探測數(shù)據(jù)包,而是將數(shù)據(jù)包分成兩個(gè)較小的IP段。這樣就將一個(gè)TCP頭分成好幾個(gè)數(shù)據(jù)包,從而過濾器就很難探測到。但必須小心:一些程序在處理這些小數(shù)據(jù)包時(shí)會(huì)有些麻煩。 5、TCP 反向 ident掃描: ident 協(xié)議允許(rfc1413)看到通過TCP連接的任何進(jìn)程的擁有者的用戶名,即使這個(gè)連接不是由這個(gè)進(jìn)程開始的。例如掃描者可以連接到http端口,然后用identd來發(fā)現(xiàn)服務(wù)器是否正在以root權(quán)限運(yùn)行。這

12、種方法只能在和目標(biāo)端口建立了一個(gè)完整的TCP連接后才能看到。 6、FTP 返回攻擊: FTP協(xié)議的一個(gè)有趣的特點(diǎn)是它支持代理(proxy)FTP連接,即入侵者可以從自己的計(jì)算機(jī)和目標(biāo)主機(jī)的FTP server-PI(協(xié)議解釋器)連接,建立一個(gè)控制通信連接。然后請求這個(gè)server-PI激活一個(gè)有效的server-DTP(數(shù)據(jù)傳輸進(jìn)程)來給Internet上任何地方發(fā)送文件。對于一個(gè)User-DTP,盡管RFC明確地定義請求一個(gè)服務(wù)器發(fā)送文件到另一個(gè)服務(wù)器是可以的,但現(xiàn)在這個(gè)方法并不是非常有效。這個(gè)協(xié)議的缺點(diǎn)是“能用來發(fā)送不能跟蹤的郵件和新聞,給許多服務(wù)器造成打擊,用盡磁盤,企圖越過防火墻”。四

13、:實(shí)驗(yàn)流程 步驟: 1.先輸入想要掃描的網(wǎng)段; 2.然后將輸入的網(wǎng)段轉(zhuǎn)化為可排序的ip數(shù)組 3.建立多個(gè)線程,每個(gè)線程掃描一個(gè)ip。每個(gè)線程內(nèi)先建立數(shù)據(jù)流套接字,然后綁定 ip端口進(jìn)行掃描。將掃描端口保存到g_map_ScanResult。 4.清理結(jié)束后進(jìn)程,輸出結(jié)果。 5.計(jì)算所用時(shí)間。 程序中主要的函數(shù): int main()/主函數(shù) InitProc();/初始化 UserInput();/輸入 ScanIp(g_startIp,g_endIp,g_map_ScanResult);/開始掃描 CleanProc();/清理結(jié)束后進(jìn)程 OutPutScanInfo();/輸出結(jié)果 DWO

14、RD WINAPI ThreadFunc(LPVOID th_para)/掃描線程每一個(gè)ip unsigned long InvertIp(unsigned long srcIp) /將ip化為可比較的 int GetIpToScan(const string &StartIp, const string &EndIp, vector &vec_ip)/將所有ip排序放在一個(gè)數(shù)組內(nèi)流程圖: ThreadFunc函數(shù): 主流程圖:結(jié)束計(jì)算時(shí)間ScanIp掃描輸入ip斷 初始化 開始五:結(jié)果 開始界面: 掃描界面:結(jié)果界面:六:總結(jié) 通過這次端口掃描器的實(shí)驗(yàn)深化了信息對抗,信息安全的意識。對于網(wǎng)絡(luò)掃描器有了整體上的認(rèn)識。了解了socket函數(shù)的基本用法和端口掃描的基本原理,更加熟練掌握了c+語言。在這次設(shè)計(jì)中在處理線程上遇到了很大麻煩,不過通過上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論