




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
計算機網絡編程技術
FTP客戶端程序設計2023/2/4第一部分:FTP原理及客戶端的構架第二部分:配置FTP服務器以及IIS服務器2023/2/4第一部分:FTP原理及客戶端的構架
MFC開發(fā)
工具:vc++6.0或visualstudio2013
2023/2/4任務分工:組長:周勤如:IIS搭建,F(xiàn)TP服務器的搭建,客戶端整體框架設計與FTP協(xié)議的連接等小組成員:龍威:FTP的傳輸模式的設計小組成員:李卓:FTP工作模式的設計小組成員:楊雪香:FTP的登錄方式設計2023/2/4本次課設架構配置FTP服務FTP概述FTP客戶端什么是FTPFTP服務器FTP客戶端FTP命令行Web方式FTP客戶端軟件安裝和配置FTP服務安裝FTP服務配置默認FTP站點虛擬目錄2023/2/4本節(jié)的主要內容FTP服務的工作原理FTP協(xié)議規(guī)范FTP協(xié)議的2種工作模式基于Socket類的FTP服務編程基于TcpClient類的FTP服務編程2023/2/4什么是FTP文件傳輸協(xié)議(FileTransferProtocol)利用FTP可以給用戶提供上傳和下載文件的服務采用客戶機/服務器方式FTP服務器客戶機建立連接傳輸請求給予響應2023/2/4FTP的使用分析FTP的廣泛應用:文件共享;遠程傳輸;……2023/2/4常見的FTP客戶端軟件有哪些?Server-uFLASHFTP、LEAPFTP、CuteFTP(FTP三劍客)……
FTP服務的工作原理2023/2/4(1)工作原理(1)控制連接與數(shù)據連接控制連接:用于在通信雙方之間傳輸FTP命令與響應信息,完成建立連接、身份認證與異常處理等控制操作;數(shù)據連接用于在通信雙方之間傳輸文件或目錄信息。連接規(guī)則:控制連接要在數(shù)據連接建立之前建立,控制連接要在數(shù)據連接釋放之后釋放。只有在建立數(shù)據連接之后才能傳輸數(shù)據,并且在數(shù)據傳輸過程中需要保持控制連接不中斷。2023/2/4連接與釋放控制連接與數(shù)據連接建立的發(fā)起者只能是FTP客戶機;控制連接釋放的發(fā)起者只能是FTP客戶機;數(shù)據連接釋放的發(fā)起者可以是FTP客戶機或服務器。如果在數(shù)據連接保持的情況下控制連接中斷,這時可以由FTP服務器要求釋放數(shù)據連接。2023/2/4(2)FTP的傳輸模式ASCII傳輸模式文件傳輸模式(自動模式)二進制數(shù)據傳輸模式2023/2/4(3)FTP的登錄方式ftp://FTP站點的IP地址或者域名/虛擬目錄名ftp://0101/ftpftp://ftpclient/ftp2023/2/4FTP協(xié)議規(guī)范(1)FTP命令分為6組:①接入命令:USER、PASS、QUIT、ACCT、REIN和ABOR。②文件管理命令:CWD、CDUP、DELE、LIST、NLIST、MKD、PWD、RMD、RNFR、RNTO和SMNT。③數(shù)據格式化命令:TYPE、STRU和MODE。④端口定義命令:PORT和PASV。⑤文件傳輸命令:RETR、STOR、APPE、STOU、ALLO、REST和STAT。⑥其他命令:HELP、NOOP、SITE和SYST。2023/2/4(2)常用的FTP命令FTP命令參數(shù)說明USER用戶標識符用戶信息PASS用戶密碼密碼LIST目錄名列出子目錄或文件CWD目錄名改變到另一個目錄MKD目錄名創(chuàng)建新目錄RMD目錄名刪除目錄STOR文件名存儲當前目錄下文件(從客戶機傳送到服務器)QUIT應付費的賬務向系統(tǒng)注銷ABOR應付費的賬務前面的命令異常終止DELE文件名刪除文件PWD顯示當前目錄名2023/2/4FTP命令參數(shù)說明TYPEA(ASCII),E(EBCDIC),I(圖像),N(非打?。?T(TELNET)定義文件類型和當需要時定義打印格式MODES(流),B(塊),C(壓縮)定義傳輸方式PORT6個數(shù)字的標識符客戶機選擇端口PASV6個數(shù)字的標識符服務器選擇端口RETR文件名讀取當前目錄下文件(從服務器傳送到客戶機)REST文件名在指明的數(shù)據點給文件標記確定位置STAT文件名返回文件的狀態(tài)HELP詢問關于服務器的信息SYST命令詢問服務器使用的操作系統(tǒng)2023/2/4(3)FTP響應碼:通過百度搜索可以知道的2023/2/4(4)FTP命令與響應碼的應用USER命令的響應有230、331、421、500、501與530;PASS命令的響應有230、332、421、500、501與530;PASV命令的響應有227、421、500、501與530;LIST命令的響應有125、150、226、250、421、425、426、450、500、501與530;RETR命令的響應只是比LIST命令多了550。另外,建立連接相關的響應有120、220與421。(5)FTP傳送文件列表或目錄的過程2023/2/4
FTP協(xié)議的2種工作模式PORT模式(主動模式)
FTP服務器使用TCP21和20兩個端口。PASV模式(被動模式)
FTP服務器使用TCP21和大于1024的隨機端口。2023/2/4PORT模式2023/2/4PASV模式2023/2/4PORT和PASV模式比較(1)客戶機在內網時的FTP模式特點被動連接模式2023/2/4主動傳輸模式(2)服務器在內網時的FTP模式特點2023/2/4基于Socket類的FTP程序設計FTP上傳下載的程序,它符合FTPPSAV模式。Socket類允許使用ProtocolType枚舉中所列出的任何一種協(xié)議執(zhí)行異步和同步數(shù)據傳輸。
2023/2/4FTP客戶端程序設計2023/2/4客戶端下載程序段//重畫窗體內的所有控件,使窗體顯示完整foreach(Controlcontrolinthis.Controls){control.Update();}stringpath=this.listBoxFile.SelectedItem.ToString();sw.WriteLine("RETR"+path);sw.Flush();this.listBoxInfo.Items.Add("發(fā)送:RETR"+path);this.listBoxInfo.SelectedIndex=this.listBoxInfo.Items.Count-1;stringstr=sr.ReadLine();this.listBoxInfo.Items.Add("收到:"+str);this.listBoxInfo.SelectedIndex=this.listBoxInfo.Items.Count-1;if(str=="150")//表示服務器文件狀態(tài)良好{ stringstr1=sr.ReadLine(); this.listBoxInfo.Items.Add("文件長度:"+str1+"字節(jié)"); this.listBoxInfo.SelectedIndex=this.listBoxInfo.Items.Count-1; intlength=Convert.ToInt32(str1); gressBar1.Minimum=0; gressBar1.Maximum=length; FileStreamfs=newFileStream(myfile.FileName,FileMode.Create,FileAccess.Write); for(inti=0;i<length;i++) {fs.WriteByte((byte)netStream.ReadByte()); fs.Flush(); gressBar1.Value=i; } fs.Close(); MessageBox.Show("下載完畢!"); gressBar1.Value=0;}2023/2/4客戶端關閉連接代碼段sw.WriteLine("QUIT"); sw.Flush(); this.listBoxInfo.Items.Add("發(fā)送:QUIT"); client.Close();2023/2/4小結FTP協(xié)議具有明顯的兩個特點:(1)具有兩種連接,即控制連接和數(shù)據連接??刂七B接負責某客戶與服務器之間的連接管理,而數(shù)據連接用于每次具體數(shù)據傳輸,是在控制連接建立之后開始的。在數(shù)據連接結束之后,才會有控制連接的結束。(2)具有兩種工作模式,即主動模式和被動模式,指的是服務器在數(shù)據連接方面的主動性或被動性。在網絡安全隱患方面各有特點,主動模式是擔心公開的端口號20會被網絡嗅探工具捕獲傳輸數(shù)據,而被動方式是由于會開放所有大于1024的端口號,也會給安全帶來問題。其對策一是結合防火墻一起,設置ACL以避免開放其他端口;對策二是采用具有狀態(tài)檢測的防火墻。2023/2/4在了解FTP的基本命令和響應碼之后,就可以編寫常規(guī)的FTP客戶端程序可以分別考慮主動模式和被動模式的設計方法,兩者具有不同的工作特點。在程序實現(xiàn)上,采用Socket類和TcpClient類,都容易實現(xiàn)FTP服務功能。2023/2/4第二部分:配置FTP服務器和
IIS服務器
通過控制面板設置2023/2/4本節(jié)目標理解FTP服務器工作方式 掌握默認FTP站點的配置掌握FTP客戶端的使用FTP服務器提供FTP服務并有一定存儲空間的計算機專用服務器個人計算機兩種登錄方式匿名登錄授權帳戶登錄2023/2/4FTP客戶端FTP客戶端是用戶所使用的計算機功能有下載:將服務器的文件下載到本地硬盤上傳:將本地硬盤的文件上傳到服務器三種連接方式命令行方式連接Web方式連接FTP客戶端軟件連接2023/2/4安裝FTP服務1234562023/2/4配置默認FTP服務器配置IIS服務器的內容有添加FTP站點設置安全帳戶消息主目錄安全性2023/2/4設置FTP站點2023/2/4添加FTP站點2023/2/4設置安全驗證2023/2/4添加成功2023/2/4虛擬目錄虛擬目錄能實現(xiàn)本地目錄映射到FTP站
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司轉讓股權合同
- 工地設備機械施工合同書
- 2025年寧波從業(yè)資格證應用能力考些啥
- 《數(shù)據可視化技術應用》2.3剖析用戶購買行為數(shù)據-教案
- 簡單版本的加工承攬合同6篇
- 工作室租房合同7篇
- 《愛心行動-圖形與拼組》作業(yè)設計方案
- 水力學模擬考試題與參考答案
- 電工崗位試題庫及參考答案
- 個人工作計劃周工作計劃
- 2025年第六屆(中小學組)國家版圖知識競賽測試題庫及答案
- GB/T 26436-2025禽白血病診斷技術
- 體育場館工程施工組織設計
- 春季校園常見傳染病及預防措施培訓課件
- 國際標準下的AI技術應用-深度研究
- 2025-2030年城市軌道交通運營行業(yè)深度調研及發(fā)展戰(zhàn)略咨詢報告
- 2025年江西生物科技職業(yè)學院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 《信息技術(拓展模塊)》高職全套教學課件
- 2025天津市安全員《B證》考試題庫
- DB37T-住宅小區(qū)供配電設施建設標準編制說明
- 2025年河北省職業(yè)院校技能大賽高職組(商務數(shù)據分析賽項)參考試題庫(含答案)
評論
0/150
提交評論