端口掃描程序設(shè)計_第1頁
端口掃描程序設(shè)計_第2頁
端口掃描程序設(shè)計_第3頁
端口掃描程序設(shè)計_第4頁
端口掃描程序設(shè)計_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡(luò)安全程序設(shè)計結(jié)課論文端口掃描程序設(shè)計16 / 15目錄第一章序言3.第二章系統(tǒng)設(shè)計5.2.1運行環(huán)境及語言 5.2.2系統(tǒng)功能6.2.3程序運行流程圖 6.2.4程序設(shè)計過程 6.2.41創(chuàng)建工程6.2.42主機(jī)端口掃描程序設(shè)計流程 82.43主要代碼9.2.5 運行結(jié)果測試 14第三章總結(jié)及心得1.53.1總結(jié)153.2心得體會15第四章參考文獻(xiàn)15第一章序言1.1背景In ternet快速的發(fā)展,為我們帶來了方便同時也帶給了我們信 息安全擔(dān)憂。在計算機(jī)信息安全管理中可以通過端口掃描收集系統(tǒng) 的信息來自動監(jiān)測遠(yuǎn)程或本地主機(jī)安全性弱點的程序,可以發(fā)現(xiàn)遠(yuǎn) 程服務(wù)器的各種tcp端口的分配及提供

2、的服務(wù)與他們的軟件版本。 從而讓管理員間接的或直觀的了解到遠(yuǎn)程主機(jī)所存在的安全問題。 從而端口掃描技術(shù)得到人們的重視。1.2目的該文章對端口掃描技術(shù)的原理和應(yīng)用進(jìn)行了闡述,并設(shè)計了一 個簡單的基于windows平臺上的端口掃描系統(tǒng)。此程序主要完成了 TCP connect()掃描和UDP掃描功能。TCP掃描支持多線程,能對單 個指定的主機(jī)進(jìn)行掃描或?qū)χ付ňW(wǎng)段內(nèi)的主機(jī)進(jìn)行逐個掃描。能掃 描特定的部分端口號或?qū)χ付ǖ亩丝诙蝺?nèi)的端口進(jìn)行逐個掃描。此 端口掃描程序能快速地進(jìn)行 TCP掃描,準(zhǔn)確地檢測出對TCP協(xié)議 開放的端口。而對于 UDP掃描只支持單線程,速度較慢。掃描結(jié) 果以列表的形式直觀地展現(xiàn)出

3、來。1.3端口掃描概述網(wǎng)絡(luò)安全探測在網(wǎng)絡(luò)安全中起著主動防御的作用,占有非常重 要的地位。網(wǎng)絡(luò)安全探測的所有功能都是建立在端口掃描的基礎(chǔ)上,所以對端口掃描技術(shù)的研究有著非常重要的現(xiàn)實意義。每一個網(wǎng)絡(luò)主機(jī)都相當(dāng)于一個“房間” ,黑客能否進(jìn)入“房間” , 取決于是否發(fā)現(xiàn)了打開的“門窗” 。也就是說,能否入侵網(wǎng)絡(luò)主機(jī), 或者網(wǎng)絡(luò)主機(jī)是否安全,關(guān)鍵在于能否查出網(wǎng)絡(luò)主機(jī)的系統(tǒng)信息。 而端口是主機(jī)與外界通訊交流的數(shù)據(jù)出入口,即是“門窗” 。端口 分為硬件端口和軟件端口,所謂硬件端口又稱為接口,包括: USB 端口、串行端口、并行端口等。軟件端口一般指網(wǎng)絡(luò)中面向連接服 務(wù)(TCP)和無連接服務(wù)(UDP)的通訊

4、協(xié)議的端口。一個端口就是一個 潛在的通信通道,也就是一個入侵通道。對目標(biāo)計算機(jī)進(jìn)行端口掃 描,能得到許多有用的信息。 通過端口掃描,發(fā)現(xiàn)系統(tǒng)的安全漏洞。 它使系統(tǒng)用戶了解系統(tǒng)目前向外界提供了哪些服務(wù),從而為系統(tǒng)用 戶管理網(wǎng)絡(luò)提供了一種手段1.4 端口掃描的原理端口有兩種, UDP 端口和 TCP 端口。由于 UDP 端口是面向無 連接的,從原理的角度來看,沒有被掃描的可能,或者說不存在一 種迅速而又通用的 掃描算法;而 TCP 端 口 具有連 接定向 (Connection Oriented)的特性(即是有面向連接的協(xié)議),為端口 的掃描提供了基礎(chǔ)。TCP建立連接時有三次握手:首先,Clien

5、t端往Server某一端 口發(fā)送請求連接的SYN包,如果Server的這一端口允許連接,就 會給Client端發(fā)一個ACK回包,Client端收到Server的ACK包后 再給Server端發(fā)一個ACK包,TCP連接正式建立,這就是連接成功的過程。 當(dāng) Client 端往 Server 某一端口發(fā)送請求連接的 SYN 包, 此時若 Server 的這一端口不允許連接, 就會給 Client 端發(fā)一個 RST 回包, Client 端收到 Server 的 RST 包后再給 Server 端發(fā)一個 RST 包,這就是連接失敗的過程?;谶B接的建立過程,可以想到,假 如要掃描某一個TCP端口,可以

6、往該端口發(fā)一個 SYN包,如果該 端口處于打開狀態(tài), 我們就可以收到一個 ACK ,也就是說, 如果收 到ACK,就可以判斷目標(biāo)端口處于打開狀態(tài), 否則,目標(biāo)端口處于 關(guān)閉狀態(tài)。這就是 TCP 端口掃描的基本原理第二章 系統(tǒng)設(shè)計2.1 運行環(huán)境及語言運行環(huán)境: Visual C+ 6.0語言: c+2.2系統(tǒng)功能簡易的TCP connect(掃描,支持多線程;UDP掃描功能;能對單個指定的主機(jī)進(jìn)行掃描或掃描指定網(wǎng)段內(nèi)的主機(jī);能掃描特定的部分端口號或?qū)χ付ǖ亩丝诙蝺?nèi)的端口進(jìn)行逐個掃2.3程序運行流程圖2.4程序設(shè)計過程 2.41創(chuàng)建工程使用VC+啲應(yīng)用程序生成向?qū)?MFC AppWizardex

7、e)創(chuàng)建一個基于對話框的工程,該工程的名稱201200824420fandi,如圖 所示:單擊確定, 然后選擇基本對話框,如圖所示點擊下一步,再在 Win dows SocketsW前打上勾,支持 Win sock編程,如圖接下來一直選擇默認(rèn)直到完成2.42主機(jī)端口掃描程序設(shè)計流程31.設(shè)計對話框El 2012tX)!24420fandi主機(jī)地対端口號 . 00 .妬于隔輯線士幅曙捕口伏態(tài)瑋弗口掃揭 .k聖2按Ctrl+W打開類向?qū)?,添加變量如圖2.43主要代碼1在頭文件 findport100114019Dlg.h 里添加private:SOCKET Socket;2. findport10

8、0114019Dlg.cpp文件中添加如下文件包含信息: #pragma comment (Iib,ws2_32.lib)/ 靜態(tài)鏈接庫#in clude 3.編寫Tcpscan按鈕下的代碼 如下:UpdateData(true);/MFC 窗口函數(shù),用來刷新數(shù)據(jù)WSADATA WSAData;CStri ng str;if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0)MessageBox(初始化 Win sock 失敗!);return;Socket=socket(AF_INET,SOCK_STREAM,0);創(chuàng)建連接套接字if(Socket=INV ALID

9、_SOCKET)MessageBox(創(chuàng)建 Socket 失敗!);WSACleanup();return;int IpAddress; /判斷域名或 IP 地址int i=0;CString r;m_ip.GetWindowText(r);IpAddress=inet_addr(r);if(IpAddress=INADDR_NONE)hostent* pHostent=gethostbyname(str); if(pHostent)IpAddress=(*(in_addr*)pHostent-h_addr).s_addr;if (m_port1m_port2)MessageBox(請確保起始

10、 Port不大于終止port);WSACleanup();return;struct sockaddr_in desthost;/ 定義套接字地址memset(& desthost,0,sizeof(desthost);desthost.sin_family=AF_INET;/desthost.sin_port=htons(atoi(m_Port);desthost.sin_addr.s_addr=IpAddress; for(unsigned int a =m_port1;ah_addr).s_ad /*if (m_port1m_port2)MessageBox( 請確保起始 Port 不大

11、于終止 port); WSACleanup();return;*/定義套接字地址structstruct sockaddr_in desthost; memset(&desthost,0,sizeof(desthost);desthost.sin_family=AF_INET; /desthost.sin_port=htons(atoi(m_Port); desthost.sin_addr.s_addr=IpAddress;for(unsigned int a =m_port1;a=m_port2;a+) desthost.sin_port=htons(a); char *SendBuf;Se

12、ndBuf=new char2; memset(SendBuf,0,2);int nSend=sendto(Socket,SendBuf,1,0,( sockaddr*)&desthost,sizeof(desthost); if(nSend=SOCKET_ERROR)MessageBox(UDP 包發(fā)送失敗! ); closesocket(Socket);WSACleanup();return;Sleep(500); sockaddr_in SourceHost; int SourceSize;SourceSize=sizeof(SourceHost); memset(&SourceHost

13、,0,SourceSize); char *RecvBuf;RecvBuf=new char2; memset(RecvBuf,0,2);int nRecv; nRecv=recvfrom(Socket,RecvBuf,1,0,(struct sockaddr*)&SourceHost,&SourceSize);if(nRecv=SOCKET_ERROR)int ErrorCode=GetLastError();if(ErrorCode=10054)str.Format(%d,a); m_status+=UDP Port; m_status+=str; m_status+=: Closern;

14、 if(ErrorCode=10035)str.Format(%d,a); m_status+=UDP Port; m_status+=str; m_status+=: openrn;elsem_status+=UDP Port; m_status+=a;m_status+=: openrn;/釋放套接字綁定UpdateData(false); closesocket(Socket); WSACleanup();2.5運行結(jié)果測試如圖:nriuirtpmiQSJL-atuatuatu53 201200824420riJi寸機(jī)tw揣口芳1C . 2G . 27 一嶼館于|$o 毎于兩錨口伏態(tài)telF54Th端口捋麗|UO聞韋口掃捕S3 201200S24420fandi主機(jī)地址端口號,|:始于黎于|6血弗口抬掘|皿端口打g|_第三章 總結(jié)及心得3.1 總結(jié)端口掃描是綜合掃描器最基礎(chǔ)的功能,也是黑客攻擊的基本步 驟,因此,掌握端口掃描的常用技術(shù)和防范措施對維護(hù)系統(tǒng)安全有 重要作用。 端口掃描不僅可以得知系統(tǒng)哪些端口開 放,還可以根據(jù) 系統(tǒng)的響應(yīng)信息得知目標(biāo)系統(tǒng)的相關(guān)信息。由于不同系統(tǒng)網(wǎng)絡(luò)協(xié)議 棧的實現(xiàn) 細(xì)節(jié)有差別, 對不同的系統(tǒng)得到的掃描結(jié)果可能不同, 這

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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

提交評論