欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      網(wǎng)絡(luò)與信息安全實驗報告

      時間:2019-05-14 10:06:20下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《網(wǎng)絡(luò)與信息安全實驗報告》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《網(wǎng)絡(luò)與信息安全實驗報告》。

      第一篇:網(wǎng)絡(luò)與信息安全實驗報告

      計算機科學與技術(shù)學院

      網(wǎng)絡(luò)與信息安全課程設(shè)計

      號:

      業(yè):計算機科學與技術(shù)

      學生姓名:

      任課教師:***

      2017年3月

      FTP服務(wù)器的設(shè)計與實現(xiàn)

      ***

      計算機科學與技術(shù)學院,哈爾濱工程大學

      摘要:FTP 是File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應(yīng)用程序(Application)?;诓煌牟僮飨到y(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議以傳輸文件。在FTP的使用當中,用戶經(jīng)常遇到兩個概念:“下載”(Download)和“上傳”(Upload)。“下載”文件就是從遠程主機拷貝文件至自己的計算機上;“上傳”文件就是將文件從自己的計算機中拷貝至 遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。本文基于FTP協(xié)議搭建了一個FTP服務(wù)器,實現(xiàn)簡單的上傳下載功能。關(guān)鍵字:FTP,網(wǎng)絡(luò)協(xié)議,服務(wù)器

      一、FTP協(xié)議的工作原理

      1.簡介

      FTP是因特網(wǎng)網(wǎng)絡(luò)上歷史最悠久的網(wǎng)絡(luò)協(xié)議,憑借其獨特的優(yōu)勢一直都是因特網(wǎng)中最重要、最廣泛的服務(wù)之一。FTP是TCP/IP提供的標準機制,實現(xiàn)從一臺主機向另一臺主機傳送文件的任務(wù)。目前FTP客戶端軟件很多,大致我們可以把它們分為三類:第一類是傳統(tǒng)的FTP客戶機;第二類是圖形化用戶界面的FTP軟件;第三類是Web瀏覽器。

      從根本上說,F(xiàn)TP就是在網(wǎng)絡(luò)中各種不同的計算機之間按照TCP/IP協(xié)議來傳輸文件。FTP采用的是現(xiàn)在流行的Client/Server模式,由FTP客戶端和FTP服務(wù)器端程序組成。通常服務(wù)器端是遠程端點,用戶可以通過Internet網(wǎng)絡(luò)連接到遠程的FTP服務(wù)器站點。服務(wù)器的功能是主要的。只有當FTP服務(wù)器支持各種協(xié)議和指令時,才能夠開發(fā)相應(yīng)的客戶端程序。

      開發(fā)任何基于FTP的客戶端軟件都必須遵循FTP的工作原理,F(xiàn)TP的獨特的優(yōu)勢同時也是與其它客戶服務(wù)器程序最大的不同點就在于它在兩臺通信的主機之間使用了兩條TCP連接,一條是數(shù)據(jù)連接,用于數(shù)據(jù)傳送;另一條是控制連接,用于傳送控制信息(命令和響應(yīng)),這種將命令和數(shù)據(jù)分開傳送的思想大大提高了FTP的效率,而其它客戶服務(wù)器應(yīng)用程序一般只有一條TCP連接。圖1給出了FTP的基本模型。客戶有三個構(gòu)件:用戶接口、客戶控制進程和客戶數(shù)據(jù)傳送進程。服務(wù)器有兩個構(gòu)件:服務(wù)器控制進程和服務(wù)器數(shù)據(jù)傳送進程。在整個交互的FTP會話中,控制連接始終是處于連接狀態(tài)的,數(shù)據(jù)連接則在每一次文件傳送時先打開后關(guān)閉。用戶接口 控制連接控制進程控制進程命令與應(yīng)答數(shù)據(jù)連接數(shù)據(jù)傳送進程數(shù)據(jù)傳送進程文件傳輸圖1 FTP的基本模型

      FTP是TCP/IP的一種具體應(yīng)用,它工作在OSI模型的第七層,TCP模型的第四層上,即應(yīng)用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和服務(wù)器建立連接前就要經(jīng)過一個被廣為熟知的“三次握手”的過程,它帶來的意義在于客戶與服務(wù)器之間的連接是可靠的,而且是面向連接,為數(shù)據(jù)的傳輸提供了可靠的保證。采用FTP協(xié)議可使 Internet用戶高效地從網(wǎng)上的FTP服務(wù)器下載大信息量的數(shù)據(jù)文件,將遠程主機上的文件拷貝到自己的計算機上。以達到資源共享和傳遞信息的目的。由于FTP的使用使得Internet上出現(xiàn)大量為用戶提供的下載服務(wù)器。Internet成為了一個巨型的軟件倉庫。FTP在文件傳輸中還支持斷點續(xù)傳功能,可以大幅度地減小CPU和網(wǎng)絡(luò)帶寬的開銷。

      FTP需要2個端口,一個端口是控制連接端口,也即21端口,用于發(fā)送指令給服務(wù)器并等待服務(wù)器響應(yīng);另一個端口是數(shù)據(jù)傳輸端口,端口號為20(僅PORT模式),用于建立數(shù)據(jù)傳輸通道。

      FTP的連接模式有2種:PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,二者都是相對于服務(wù)器而言的。2.FTP運行原理

      FTP的工作原理與其他許多網(wǎng)絡(luò)實用程序一樣,也是基于客戶/服務(wù)器模式?;ヂ?lián)網(wǎng)文件傳輸協(xié)議(File Transfer Protocol)標準是在FTC959說明的。該協(xié)議定義了一個在遠程計算機系統(tǒng)和本地計算機系統(tǒng)之間傳輸文件的標準。一般來說,要傳輸文件的用戶需先經(jīng)過認證以后才能登錄ftp服務(wù)器,訪問在遠程服務(wù)器的文件。大多數(shù)的FTP服務(wù)器往往提供一個guest的公共帳戶來允許沒有FTP服務(wù)器帳戶的用戶可以訪問該FTP服務(wù)器。一個FTP會話通常包括五個軟件元素的交互。就模型而言,從1973年以來并沒有什么變化。如圖2所示。

      用戶接口用戶SPIUSERPI文件系統(tǒng)SDTPUDTP圖2 FTP協(xié)議模型

      文件系統(tǒng)

      在一個FTP會話中,會存在兩個獨立的網(wǎng)絡(luò)連接,一個是由兩端的PI使用的,另一個是由兩端的DTP使用的。PI之間的連接一般被稱作控制連接(control connection),DTP之間的連接被稱作數(shù)據(jù)連接(data connection)。通常情況下,ftp服務(wù)器監(jiān)聽端口號21來等待控制連接建立請求,當客戶連接請求到達,會在客戶和ftp服務(wù)器之間建立一個控制連接。而數(shù)據(jù)連接端口號的選擇依賴于控制連接上的命令,通常是客戶發(fā)送一個控制消息來指定客戶需要建立一個數(shù)據(jù)連接來傳輸ftp數(shù)據(jù)(如下載/上載一個文件,顯示當前目錄的內(nèi)容等等,都需要建立數(shù)據(jù)連接來傳輸數(shù)據(jù)),在該消息中,指定了客戶監(jiān)聽并等待連接的端口號,而服務(wù)器從控制連接收到該命令,向客戶端發(fā)起一個連接請求到消息中指定的端口號,客戶端收到該請求以后就會建立一個數(shù)據(jù)連接。連接建立以后,服務(wù)器或客戶就會主動通過該連接發(fā)送數(shù)據(jù)(可能是要傳輸?shù)奈募?,也可能是用戶在命令行上發(fā)出的IS命令的輸出)。

      二、系統(tǒng)設(shè)計與實現(xiàn) 功能要求

      本系統(tǒng)是一個在局域網(wǎng)內(nèi)實現(xiàn)的小型FTP文件傳輸服務(wù)器。主要實現(xiàn)的是FTP服務(wù)器端功能,包括:FTP服務(wù)日志,在線用戶的管理,統(tǒng)計客戶端信息還有客戶端上傳、下載、選擇數(shù)據(jù)傳輸模式、改變目錄等,并給出相應(yīng)的提示。2 主界面 程序界面主要包括服務(wù)器日志、在線用戶、統(tǒng)計信息、安全管理、菜單欄、工具欄、狀態(tài)欄。如圖5所示。

      圖5 服務(wù)器用戶界面 主要功能與實現(xiàn)

      用CSocket類編制的服務(wù)器端的程序,其過程如下,其過程主要是: 創(chuàng)建CSocket對象。創(chuàng)建底層套接字Socket。

      調(diào)用Listen,開始監(jiān)聽從客戶端發(fā)來的訪問請求。

      如果收到請求,調(diào)用CAsyncSocket::Accept()函數(shù)進行接收外理。建立CSocketFile對象,并且使該對象與CSocket對象具備一定的聯(lián)系。

      建立Carchive對象,以便實現(xiàn)卸裝(接收)數(shù)據(jù)和存儲(發(fā)送)數(shù)據(jù)的目的地址。當然,該Carchive對象應(yīng)該與前面的CSocketFile對象建立聯(lián)系。

      使用Carchive對象在客戶和服務(wù)器Socket之間傳遞數(shù)據(jù),從而實現(xiàn)服務(wù)器Socket和客戶機Socket之間的通信。值得注意的是,一個給定的Carchive對象只能在單一的方向上傳遞數(shù)據(jù):或者接收,或者發(fā)送。一般情況下,可能需要兩個Carchive對象來實現(xiàn)數(shù)據(jù)的雙向傳遞。

      3.1菜單欄功能模塊

      菜單攔包括:服務(wù)器,查看。

      服務(wù)器菜單包括:開始,停止,用戶賬戶向?qū)?,用戶賬戶等功能。查看菜單包括:服務(wù)器日志,在線用戶,配置,統(tǒng)計,安全等功能。各項功能實現(xiàn)如下: 服務(wù)器功能:

      (1)帳戶向?qū)В寒斈?登錄服務(wù)器時你需要一個有效的賬戶,用戶帳戶向?qū)⒁龑ㄟ^必要的步驟,創(chuàng)造一個新的用戶帳戶。并將其添加到用戶帳戶對話框,創(chuàng)建用戶名,如圖6所示。

      圖6 用戶帳戶向?qū)Т翱?/p>

      通過這個窗口你可以創(chuàng)建自己的用戶名以及密碼用以登陸FTP服務(wù)器,該部分功能實現(xiàn)代碼如下:

      (2)用戶帳戶功能:這一功能主要是服務(wù)器端添加,修改和刪除用戶帳戶,設(shè)置目錄權(quán)限(使用添加按鈕以添加一個新目錄,其中選定的用戶帳戶已具有訪問權(quán)限,每小組目錄您可以設(shè)定不同的權(quán)限,例如你可以給所有權(quán)限到C:下載,但限制的權(quán)限為C :下載申請時,沒有權(quán)限指定的目錄,在這個目錄中它會自動阻止用戶要求上傳任何子目錄)。目錄屬性,當您添加的編輯目錄的用戶帳戶,目錄屬性對話框?qū)@示物理目錄(物理目錄是'真正'的路徑文件夾的名稱)。虛擬目錄(虛擬目錄是一個物理文件夾的別名,當用戶連接到您的FTP服務(wù)器,它將看到這個目錄名而不是真正的物理名稱)。設(shè)制服務(wù)端允許客戶端的權(quán)限,例如允許客戶端可以下載,上傳,重命名哪些服務(wù)器端的文件內(nèi)容。例如用戶123將: E:盤設(shè)為許可目錄,客戶端就可以隨時下載,上傳E:盤里面的內(nèi)容,如圖7所示。

      圖7 用戶帳戶窗口

      3.2 查看功能模塊

      (1)服務(wù)器日志模塊的功能:在此屏幕,記錄客戶端與服務(wù)器端的連接信息以及傳輸信息,當客戶端登陸服務(wù)器時服務(wù)器日志會顯示是否與服務(wù)器連接成功,當客戶端要上傳文件或是下載文件成功時會記錄服務(wù)器和FTP客戶端的詳細資料,從而有助于您追蹤服務(wù)器與客戶端之間所有的通訊訊息,數(shù)目之間的方括號[ ]是線程ID,如圖8所示。

      圖8 服務(wù)器日志窗口

      (2)在線用戶模塊的功能:通過服務(wù)器來查看在線客戶端的用戶名,用戶IP地址,用戶登陸時間等信息,如圖9所示。

      圖9 在線用戶窗口

      (3)配置模塊的功能:配置FTP服務(wù)器所有的設(shè)置。默認服務(wù)器端口為21,可以同時連接最多用戶數(shù),客戶端與服務(wù)器端連接時間(當客戶端已閑置的具體時間,它會自動斷開),歡迎信息(當客戶端連接到服務(wù)器時將會顯示該文本),再見訊息(文本將顯示當一個客戶端從服務(wù)器斷開時)其他設(shè)置,F(xiàn)TP服務(wù)器在Windows下啟動,啟動最小化在系統(tǒng)盤,并在啟動時自動激活服務(wù)器。用戶還可以將用戶各種信息都記錄在服務(wù)器日志里,如圖10所示。

      圖10 配置界面

      三、實驗結(jié)論

      本次實驗實現(xiàn)了一個基于FTP協(xié)議的服務(wù)器系統(tǒng),基本完成了FTP服務(wù)器所需的大多數(shù)功能。用戶能夠選擇相應(yīng)的數(shù)據(jù)傳輸模式,對指定的文件進行上傳下載。通過該程序的開發(fā),涵蓋了一個FTP服務(wù)器所應(yīng)該具有的功能,能夠解釋一般的FTP命令,符合相應(yīng)的規(guī)范。

      四、參考文獻

      [1]蔡勇.FTP服務(wù)器技術(shù)研究及實現(xiàn)[D].電子科技大學,2005.[2]王占軍,王偉,趙志剛.基于FTP協(xié)議的文件傳輸組件設(shè)計與實現(xiàn)[J].沈陽師范大學學報(自然科學版),2012,03:375-377.[3]吳珂,盧秉亮,張磊.基于FTP協(xié)議客戶端軟件的實現(xiàn)[J].沈陽航空工業(yè)學院學報,2006,04:39-42.五、源代碼

      // stdafx.cpp : source file that includes just the standard includes // FTPServer.pch will be the pre-compiled header // stdafx.obj will contain the pre-compiled type information

      #include “stdafx.h” CString BrowseForFolder(HWND hWnd, LPCSTR lpszTitle, UINT nFlags){ // We're going to use the shell to display a

      // “Choose Directory” dialog box for the user.CString strResult = “";

      LPMALLOC lpMalloc;

      if(::SHGetMalloc(&lpMalloc)!= NOERROR){

      // failed to get allocator

      return strResult;

      }

      char szBuffer[_MAX_PATH];char szDisplayName[_MAX_PATH];

      BROWSEINFO browseInfo;browseInfo.hwndOwner = hWnd;// set root at Desktop browseInfo.pidlRoot = NULL;

      browseInfo.pszDisplayName = szDisplayName;browseInfo.lpszTitle = lpszTitle;browseInfo.ulFlags = nFlags;browseInfo.lpfn = NULL;browseInfo.lParam = 0;

      LPITEMIDLIST lpItemIDList;

      if((lpItemIDList = ::SHBrowseForFolder(&browseInfo))!= NULL){

      // Get the path of the selected folder from the item ID list.if(::SHGetPathFromIDList(lpItemIDList, szBuffer))

      {

      // At this point, szBuffer contains the path the user chose.if(szBuffer[0] == '