當前位置:首頁 » 文件傳輸 » 規范ftp使用
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

規范ftp使用

發布時間: 2022-07-14 16:08:35

⑴ windows下的http,ftp,tftp,smtp,dns,tcp,udp,telnet這些協議的用處

1 http ftp tftp smtp dns tcp udp telnet
這些都是internet協議棧裡面的上層協議,與操作系統無關;windows linux都使用這些協議
2 具體功能
http是一種文本(或叫內容)描述語言;是一種描述和解釋表達內容的規范。我們現在使用的網頁就是按照該種規范做出來;瀏覽器(netscape ie)使用該規范解釋出來展現給我們看
ftp 是用來進行文件傳輸的規范,這種規范使用的傳輸層協議是tcp(可靠傳送)
tftp 也是用於文件傳輸的規范,不過一般是小文件,因為它使用的傳輸層協議是udp(非可靠傳送)
smtp 是郵件傳送規范,用來進行電子郵件傳送,這種規范使用的傳輸層協議是tcp(可靠傳送)
telnet 是進行字元傳送的規范,主要應用在bbs 設備控制,這種規范使用的傳輸層協議是tcp(可靠傳送)
dns 是域名解析服務,比如將www.sina.com.cn解析成對應的ip地址(網路通信使用的是ip地址,但是人習慣於記域名),它使用的傳輸層協議是udp

上面的協議都是應用協議,下面的tcp和udp是傳輸協議
tcp 可靠傳輸協議,會保證接收方收到的內容正確、無丟失、順序與發送方一致(如果無法恢復錯誤和亂序會通告上層協議)
udp 非可靠傳輸協議,不保證接收方收到的內容正確、缺漏、亂序;這樣只有依靠上層的處理來保證傳輸的可靠性

⑵ FTP協議的目標有那幾點

1. 介紹FTP的目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。雖然我們也可以手工使用它,但是它的主要作用是供程序使用的。在閱讀本文之前最好能夠閱讀TCP協議標准規范和Telnet協議標准規范。2. 概覽在本節中我們將討論一些表面上的問題,有些名詞的定義請參閱TCP和Telnet參考文獻。我們先介紹一下(1)位元組大小,在FTP中位元組大小有兩個:邏輯位元組大小和用於傳輸的位元組大小。後者通常是8位,而前者可不一定是多少了。傳輸位元組不必等於邏輯位元組大小,也不必對數據結構進行解釋。(2)控制連接是建立在USER-PIT和SERVER-PI之間用於交換命令與應答的通信鏈路。(3)數據連接是傳輸數據的全雙工連接。傳輸數據可以發生在伺服器DTP和用戶DTP之間也可以發生在兩個伺服器DTP之間。(4)DTP:數據傳輸過程(DTP)建立和管理數據連接,DTP可以是主動的也可以是被動的。(5)EOR代表記錄尾。(6)NTV代表網路虛擬終端,它的定義與在Telnet協議中的定義一致。(7)NVFS代表網路虛擬文件系統。(8)FTP可以傳輸非連續的文件,這些文件的一部分稱為頁。(9)PI代表協議解釋器。(10)伺服器DTP代表一種傳輸過程,它通常處於「主動」狀態,它和偵聽埠建立數據連接,它還可以為傳輸和存儲設置參數,並根據PI的指令傳輸數據。當然,DTP也可以轉入「被動」狀態。(11)伺服器FTP進程,它是和用戶FTP進程一起工作的,它由PI和DTP組成。至於用戶FTP進程則是由PI,DTP和用戶介面組成的。下圖是FTP服務示意圖:注意:數據連接是雙向的,它不用整個時間都存在。上圖中用戶PI開始控制連接,控制連接與Telnet協議很象。在開始階段,標准FTP命令由用戶PI產生並通過控制連接傳送到伺服器進程。伺服器PI向用戶PI返回標准應答。FTP命令指定數據連接參數和文件系統操作。用戶DTP在特定數據埠偵聽,伺服器開始數據連接並以指定的參數開始數據傳輸。數據埠不必在開始FTP命令的機器上,但用戶或用戶FTP進程必須確定它在指定的數據埠上偵聽。這個數據連接是全雙工的。在另外一種情況下,用戶或許希望在兩個主機間傳送文件,不是兩個本地主機。用戶在兩台主機間建立控制連接,然後規劃數據連接。用這種方式,控制信息由用戶PI獲得,但是數據在伺服器DTP之間傳送。下面就是一個例子:協議要求數據傳輸在處理時打開控制連接。在完成FTP服務後由用戶中止控制連接,而伺服器具體操作。如果在未接收命令時關閉了控制連接,伺服器也會關閉數據傳輸。FTP和Telnet很有聯系,FTP使用Telnet協議進行控制連接,可有兩種方法達到目的:用戶PI或伺服器PI可以在自己的過程中實現Telnet協議的功能;第二種方法是利用系統中現有的Telnet模塊。實現上,FTP對Telnet協議的依賴也不多,即使重新實現,代碼量也不大。3. 數據傳輸功能數據連接只傳輸數據,控制連接傳送命令和響應。幾個命令是關於在主機間傳輸數據的,數據傳輸基本上獨立於物理結構的,但是如果在壓縮傳輸模式下流式傳輸與文件結構有關,文件的屬性與表示類型有關。3.1. 數據表示與保存數據是在主機間的存儲設置間傳送的。因為兩個系統的數據存儲方式不同,因此需要對它進行轉換,在傳送文本時會有對ASCII表示的問題,在進行二進制傳送的時候,會有不同系統對位元組長度規定不同的問題,有的系統是7位,有的系統可能是32位,這也需要進行轉換。需要提供數據表示與傳輸模型函數,但是FTP提供這方面的功能不多,超過FTP提供功能的那一部分要用戶自己實現。3.1.1. 數據類型數據表示是由用戶指定的表示類型,它可以是隱含的,也可以是用戶指定的。請一定注意:邏輯位元組長度與物理位元組長度是不同的。3.1.1.1. ASCII類型這是所有FTP必須實現的默認類型,用於傳送文本文件,當在主機間使用EBCDIC傳送時更方便,則不使用ASCII類型。發送方將內部表示轉換為NVT-ASCII格式,接收方則進行相反的過程接收數據。根據NVT標准,要在行結束處使用序列。NVT-ASCII是8位的。ASCII和EBCDIC的格式參數在下面討論。3.1.1.2. EBCDIC類型它是作為ASCII的另一種方法在主機間傳送數據的數據類型。EBCDIC和ASCII很象,僅在類型的功能描述上有一些差別。行結束符使用很少。3.1.1.3. 圖象類型在此類型下傳送的數據被看作連續的位,發送方將數據打包到8位傳輸位元組中傳送。因為結構的需要要對傳送數據進行填充,填充位元組全部為0,填充必須在文件結構時使用,而且要標記出以便接收方過濾掉。它用於傳送二進制數據和有效地傳送和存儲文件,因此所有FTP也必須實現。3.1.1.4. 本地類型也可以以十進制指定邏輯位元組大小。如果物理位元組大小和邏輯位元組大小不同,直接將物理數據打包為邏輯位元組,不用什麼填充。接收方根據邏輯位元組大小進行和本機的存儲特點進行轉換。傳輸必須是可重復的,也就是說,相同的文件相同的參數,那內容必須是一樣的。3.1.1.5. 格式控制ASCII和EBCDIC有一個可選參數,它說明文件垂直格式控制,下面的數據表示類型在FTP中有定義。字元文件可能有三種用途,列印,存儲或留待以後處理。如果是用於列印,那主機必須知道垂直格式控制的表示,如果存儲或等以後處理,也需要保留文件格式。如果在遠程主機上處理完後傳輸回本地主機,要保證遠程主機處理時沒有麻煩。這都需要在ASCII和EBCDIC格式上加入新的參數。3.1.1.5.1. NON PRINT未指定第二個參數是它是默認值。它必須為所有FTP接受。如果傳輸的文件是用於列印的,則使用邊界和間隔的默認值。通常它不用於列印目的,而用於保存文件或執行文件。3.1.1.5.2. TELNET格式控制文件包括ASCII/EBCDIC垂直格式控制,這些控制字元可以使列印正常進行。3.1.1.5.3. CARRIAGE CONTROL (ASA)文件包含ASA (FORTRAN)垂直格式控制字元。在以ASA標准形成的行中,第一個字元不列印,它用於決定列印前的走紙量。下面是定義了的ASA字元:blank: 向下移動1行;0:向下移動2行;1:移動至下一頁;+:不移動列印機必須能夠決定結構體的結束。如果文件本身有記錄結構就沒有問題,如果沒有,用於區別列印行,但這些格式標記已經由ASA控制字元使用了。3.1.2. 數據結構除了有不同的數據類型外,FTP還允許有不同的文件結構,下面是三種文件結構:文件式結構:文件中沒有內部結構,文件被看作是二進制流;記錄結構:文件是由一系列記錄組成的;頁結構:文件是由不同的索引頁組成的。如果未使用STRU命令,文件結構是默認值。文件的結構會影響傳輸模型,存儲和數據表示。文件本來的屬性和保存它的主機有關,不同的機器會以自己的方式保存文件。在不同主機間傳送文件時必須使主機能夠識別相互的表示。有些主機上的文件是面向位元組的,有些是面向記錄的,在傳送時就會出現問題。那就要在接收方進行內部轉換。在進行轉換的時候,需要區別記錄的邊界,在ASCII中使用,在EBCDIC中使用作為分隔符。採用這種實現方法的必須保證轉換是可逆的。3.1.2.1. 文件結構如果未使用STRU命令,文件結構是默認值。文件結構中沒有默認值,文件被看作是連續的位元組串。3.1.2.2. 記錄結構對於文本文件,記錄結構必須是所有FTP實現必須有的。記錄結構文件是由連續的記錄構成的。3.1.2.3. 頁結構文件是非連續時使用頁結構。這種文件稱為隨機訪問文件。這些文件中有時會的和文件整體或部分相關的信息出現。在FTP中,文件的一個部分稱為頁。為了提供不同的頁大小和相關信息,每頁都帶頁頭發送。頁頭中有如下域:頭長度 包括此位元組的頁頭長度,單位為位元組,最小長度為4 頁索引 指出此部分在原文件中的位置,它和傳輸編號不是一回事 數據長度 頁數據中的邏輯位元組數,最小值為0 頁類型 頁的類型有以下幾種:0=未頁,指示傳輸結構,包頭必須為4,數據長度必須為0;1=通常頁,沒有控制信息的通常頁文件的普通類型;2=描述子頁,用於傳送整體文件的描述信息;3=訪問控制頁,包括頁級訪問控制信息的頁文件頭域,包頭長度必須為5 可選域 提供每頁的控制信息 描述子 8位 位元組計數 16位 描述子代碼由在描述子位元組中的位標記說明,下面是已經指定的四種代碼及其意義:代碼 意義 128 數據塊結束是EOR 64 數據塊結束是EOF 32 數據塊內有懷疑錯誤 16 數據塊是重新開始標記 以這種編碼,對於特定塊可能存在多個描述子編碼條件,所需要的位必須全部設置。重新開始標記包括在數據流中,它作為8位整數代表在控制連接上使用語言的可列印位元組,但不得出現在其中。例如要傳送6位元組標記,下面就是例子: Descrptr code = 16 Byte count = 6 Marker 8位 Marker 8位 Marker 8位 Marker 8位 Marker 8位 Marker 8位 3.4.3. 壓縮模式有三種信息需要傳送:常規數據以位元組串傳送;壓縮數據,包括復本和過濾器;控制信息,以兩個轉義字元傳送。如果有N(>0但小於127)個常規數據傳送,在數據前一位加上一個位元組,這個位元組最高位為0,其它位表示的數值等於N。如下圖:若要壓縮一個數據位D的N復本字元串,用兩個位元組傳送,如下圖,它表示的是壓縮的位元組:一串N過慮器位元組可以壓縮為一個位元組,而過濾器位元組根據表示法不同而不同。如果類型是ASCII或EBCDIC,過濾器位元組是,如果是圖象或本地類型,則是0。下面就是過濾器位元組:轉義序列是雙位元組,頭一個全0,後一個內是定義於塊模式下的描述子代碼。描述子代碼與塊模式中的意義相同,它作用於其後串中的位元組。而壓縮模式對於增加帶寬有好處(因為數據是壓縮過的)。3.5. 差錯恢復和重新開始位丟失和數據錯誤是這一層的差錯控制由TCP負責。而重新開始則是給用戶一個處理系統(包括操作系統,網路等)失敗的方法。重新開始過程僅適用於塊和壓縮模式,它要求發送者在數據流中加入特定標記,標記僅對傳送者有意義,但其中的內容是控制連接使用的語言。標記可以代表一個位記數,記錄記數或可以標記數據數目的任何點。如果接收方也支持重新開始,將會在接收系統中保存這一標記。在系統失敗重新啟動後,用戶可以根據原來的標記重新開始數據傳送,也就是我們通常熟悉的斷點續傳過程。接收方接收到一段數據,然後記下一點,如果發送方失敗了,就從這一點以後再傳送相應的數據。具體的這里不多說了。4. 文件傳輸功能從用戶PI到伺服器的信道是建立在用戶到標記伺服器埠間的。用戶協議解釋器負責發送命令和解釋接收的應答;伺服器PI解釋命令,發送應答,指導DTP建立數據連接並傳送數據。如果數據傳輸的第二方是用戶DTP,通過用戶FTP主機的內部協議對它進行控制;如果第二方是伺服器DTP,它由用戶PI發來的命令經過自己的PI控制。4.1. FTP命令4.1.1. 訪問控制命令下列命令指定訪問控制標記(命令碼在括弧內):用戶名(USER)參數是標記用戶的Telnet串。用戶標記是訪問伺服器必須的,此命令通常是控制連接後第一個發出的命令,有些主機還會要求口令和帳戶。伺服器可以在任何時間接收新的USER命令以改變訪問控制和(或)帳戶信息。這可以重新開始登錄過程,所以傳輸參數不變,在進行中的文件傳輸在過去的訪問控制參數下完成。口令(PASS)參數是標記用戶口令的Telnet串。此命令緊跟USER命令,在某些站點它是完成訪問控制不可缺少的一步。因此口令是個重要的東西,因此不能顯示出來,伺服器方沒有辦法隱藏口令,所以這一任務得由用戶FTP進程完成。ACCOUNT (ACCT)參數是標記用戶帳戶的Telnet串。此命令不需要與USER相關,一些站點可能需要帳戶用於登錄,另一些可以限制帳戶的許可權,在後一種情況下,此命令可在任何時候發送。應答的不同可以區別不同的情況:當登錄需要帳戶信息時,對PASS命令的響應是332。另外,如果不需要帳戶信息,對PASS的響應是230,如果需要帳戶信息在以後需要,伺服器會返回332或532,這要看它是保存此命令還是拒絕此命令了。改變工作目錄(CWD)此命令使用戶可以在不同的目錄或數據集下工作而不用改變它的登錄或帳戶信息。傳輸參數也不變。參數一般是目錄名或與系統相關的文件集合。回到上一層目錄(CDUP)此命令要求系統實現目錄樹結構,它的響應和CWD的相同。

⑶ 所有FTP命令的功能分別是什麼

是兩個不同的協議

FTP(File Transfer Protocol,文件傳輸協議是Internet上使用非常廣泛的一種通訊協議,它是為Internet用戶進行文件傳輸(包括文件的上傳和下載)而制定的。要想實現FTP文件傳輸,必須在相連的兩端都裝有支持FTP協議的軟體,裝在您的電腦上的叫FTP客戶端軟體,裝在另一端伺服器上的叫做FTP伺服器端軟體。

客戶端FTP軟體使用方法很簡單,啟動後首先要與遠程主機建立連接,然後向遠程主機發出傳輸命令,遠程主機在收到命令後就給予響應,並執行正確的命令。目前Windows系統中最常用的FTP軟體是CUTEFTP。FTP有一個根本的限制,那就是,如果用戶在某個主機上沒有注冊獲得授權,即沒有用戶名和口令,就不能與該主機進行文件傳輸。但匿名FTP伺服器除外,它允許用戶以anonymous作為用戶名,以Email地址作密碼來登錄,從而使用戶獲得免費資源。

====================================
WWW的核心——HTTP協議

眾所周知,Internet的基本協議是TCP/IP協議,目前廣泛採用的FTP、ArchieGopher等是建立在TCP/IP協議之上的應用層協議,不同的協議對應著不同的應用。
WWW伺服器使用的主要協議是HTTP協議,即超文體傳輸協議。由於HTTP協議支持的服務不限於WWW,還可以是其它服務,因而HTTP協議允許用戶在統一的界面下,採用不同的協議訪問不同的服務,如FTP、Archie、SMTP、NNTP等。另外,HTTP協議還可用於名字伺服器和分布式對象管理。

HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分布式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規范化工作正在進行之中,而且HTTP-NG(NextGenerationofHTTP)的建議已經提出。

⑷ FTP下載應該怎麼用

所有在MZONE上傳影片和利用FTP上傳大型軟體、游戲和其他資源的用戶都必須嚴格按照規則命名你的文件然後上傳,所有不符合規則的資源都會被刪除!

一、上傳文件命名必須規范!(本規則適合影音文件和重要的大型軟體、游戲等資源)

為了更好的發布和管理MZone的影音文件,現制定上傳文件命名規則

(1)、電影、電視劇、動畫等長片填寫模板如下: [發布者論壇ID]_文件類型_主演、導演、系列名_文件全稱_集數索引.rar 實例:
[eifan]_AVI_007_HuangJinYan.rar
表示eifan上傳的avi格式的007系列電影黃金眼

[BenBenWan]_RM_WoAiWoJia_001-020.rar
表示笨笨丸上傳的rm格式的電視劇我愛我家1~20集

[bollocks]_MO_ZXC_DaHuaXiYou.rar
表示bollocks上傳的mo格式的周星馳系列電影大話西遊
(2)、MTV、短片、廣告等填寫模板如下: [發布者論壇ID]_文件類型_所屬類別_樂隊、歌手_文件全稱(包內文件個數)_壓縮包排序.rar 實例:
[dingyicn]_AVI_DP_HanGuoJieWu_01.rar
表示dingyicn上傳的avi格式的短片韓國街舞第一段

[jay911]_MO_GG_BaoMa(15).rar
表示jay911上傳的mo格式的寶馬廣告壓縮包內共有15段

[Li77]_AVI_ZP_XiaoYuanMM_03.rar
表示歷77上傳的avi格式的自拍短片校園MM第3段

[jafek]_RM_MTV_S.H.E_SuperStar.rar
表示jafek上傳的rm格式S.H.E的MTV SuperStar
***相關說明***
1.命名規則為全英文,不得出現漢字。如果論壇ID為中文名將其轉化為全拼填入!
2.所有簡寫均為大寫(如:文件類型AVI、RM、MO、3GP所屬類別MTV、DP、ZP、GG)
3.文件全稱均為全拼,每字頭字母大寫字間無空格(如:大話西遊-〉DaHuaXiYou)!
4.主演、導演、系列名、集數索引、包內文件個數、樂隊、歌手、壓縮包排序為選填項,如不清楚或不存在可不填,其它為必填項!
5.所有數字編號使用標准通配符(如:十個文件內1-9、百個文件內01-99、千個文件內001-999)以便文件的整理和排序。
6.短片類所屬類別簡寫對應為:MTV-MTV、短片-DP、自拍-ZP、廣告-GG
7.所有電影、電視劇、動畫片最小以集為單位打包,如分A、B面應將其合入一個壓縮包內。
8.電視劇、系列動畫片文件每個壓縮包不得少於50M並盡量保持在100M以內(打包不以集為單位而是以文件大小為單位!)。
9.如連載壓縮包超過10個以上,應先在論壇留言或向管理員申請建立單獨文件夾(如:灌籃高手101集,5集一包共20包,應先申請建立GuanLanGaoShou文件夾後再上傳)。
10.近期內將對已發布的多集文件進行合並,滿50M為一壓縮包。
望大家完全按照以上標准發布文件,謝謝合作!!

二、了解規則

本ftp不允許匿名下載。
上載速度不限,下載限制為5k/s,所以不建議使用ftp下載,而推薦使用mzone前台下載。
本站ftp地址 ftp.eifan.com
用戶 n-gage
密碼 n-gage
如果仍有疑問請咨詢站長 QQ 21434579

⑸ 1、什麼是FTPFTP的工作模式是什麼什麼是匿名FTP

[編輯本段]文件傳輸協議
FTP(File Transfer Protocol),是文件傳輸協議的簡稱。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。用戶可以通過它把自己的PC機與世界各地所有運行FTP協議的伺服器相連,訪問伺服器上的大量程序和信息。
FTP(File Transfer Protocol)
[編輯本段]FTP的作用
正如其名所示:FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP伺服器程序)察看遠程計算機有哪些文件,然後把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。
[編輯本段]FTP工作原理
拿下傳文件為例,當你啟動FTP從遠程計算機拷貝文件時,你事實上啟動了兩個程序:一個本地機上的FTP客戶程序:它向FTP伺服器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP伺服器程序,它響應你的請求把你指定的文件傳送到你的計算機中。FTP採用「客戶機/伺服器」方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字元界面和圖形界面兩種。字元界面的FTP的命令復雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。
簡單地說,支持FTP協議的伺服器就是FTP伺服器,下面介紹一下什麼是FTP協議。(文件傳輸協議)
一般來說,用戶聯網的首要目的就是實現信息共享,文件傳輸是信息共享非常重要的一個內容之一。Internet上早期實現傳輸文件,並不是一件容易的事,我們知道 Internet是一個非常復雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接在Internet上的計算機已有上千萬台,而這些計算機可能運行不同的操作系統,有運行Unix的伺服器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統之間的文件交流問題,需要建立一個統一的文件傳輸協議,這就是所謂的FTP。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環境中獲得文件。
與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。比如說,用戶發出一條命令,要求伺服器向用戶傳送某一個文件的一份拷貝,伺服器會響應這條命令,將指定文件送至用戶的機器上。客戶機程序代表用戶接收到這個文件,將其存放在用戶目錄中。
在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上載"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上載"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上載(下載)文件。
使用FTP時必須首先登錄,在遠程主機上獲得相應的許可權以後,方可上載或下載文件。也就是說,要想同哪一台計算機傳送文件,就必須具有哪一台計算機的適當授權。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一台主機上都擁有帳號。匿名FTP就是為解決這個問題而產生的。
匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。
通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。習慣上,用自己的E-mail地址作為口令,使系統維護程序能夠記錄下來誰在存取這些文件。
值得注意的是,匿名FTP不適用於所有Internet主機,它只適用於那些提供了這項服務的主機。
當遠程主機提供匿名FTP服務時,會指定某些目錄向公眾開放,允許匿名存取。系統中的其餘目錄則處於隱匿狀態。作為一種安全措施,大多數匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上載文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上載文件,用戶也只能將文件上載至某一指定上載目錄中。隨後,系統管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上載有問題的文件,如帶病毒的文件。
作為一個Internet用戶,可通過FTP在任何兩台Internet主機之間拷貝文件。但是,實際上大多數人只有一個Internet帳戶,FTP主要用於下載公共文件,例如共享軟體、各公司技術支持文件等。 Internet上有成千上萬台匿名FTP主機,這些主機上存放著數不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。
匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。
匿名FTP是Internet網上發布軟體的常用方法。Internet之所以能延續到今天,是因為人們使用通過標准協議提供標准服務的程序。像這樣的程序,有許多就是通過匿名FTP發布的,任何人都可以存取它們。
Internet中的有數目巨大的匿名FTP主機以及更多的文件,那麼到底怎樣才能知道某一特定文件位於哪個匿名FTP主機上的那個目錄中呢?這正是Archie伺服器所要完成的工作。Archie將自動在FTP主機中進行搜索,構造一個包含全部文件目錄信息的資料庫,使你可以直接找到所需文件的位置信息。
[編輯本段]通過ftp傳輸文件的一般步驟
需要進行遠程文件傳輸的計算機必須安裝和運行ftp客戶程序。在windows操作系統的安裝過程中,通常都安裝了tcp/ip協議軟體,其中就包含了ftp客戶程序。但是該程序是字元界面而不是圖形界面,這就必須以命令提示符的方式進行操作,很不方便。
啟動ftp客戶程序工作的另一途徑是使用ie瀏覽器,用戶只需要在ie地址欄中輸入如下格式的url地址:ftp://[用戶名:口令@]ftp伺服器域名[:埠號]
(在CMD命令行下也可以用上述方法連接,通過put命令和get命令達到上傳和下載的目的,通過ls命令列出目錄,除了上述方法外還可以在cmd下輸入ftp回車,然後輸入open IP來建立一個連接,此方法還適用於linux下連接ftp伺服器)
通過ie瀏覽器啟動ftp的方法盡管可以使用,但是速度較慢,還會將密碼暴露在ie瀏覽器中而不安全。因此一般都安裝並運行專門的ftp客戶程序。
1.在本地電腦上登陸到國際互聯網.
2.搜索有文件共享主機或者個人電腦(一般有專門的FTP伺服器網站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑).
3.當與遠程主機或者對方的個人電腦建立連接後,用對方提供的用戶名和口令登陸到該主機或對方的個人電腦.
4.在遠程主機或對方的個人電腦登陸成功後,就可以上傳你想跟別人分享的東東或者下載別人授權共享的東東(這里的東東是指能放到電腦里去又能在顯示屏上看到的東東).
5.完成工作後關閉FTP下載軟體,切斷連接.
為了實現文件傳輸,用戶還要運行專門的文件傳輸程序,比如網際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟體,FlashFxp為其中的傑出軟體。有興趣的網友可以試試其他的軟體,如LeapFTP總歸各有各的特色.
FTP協議
TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。
FTP軟體可以更好的幫助你管理FTP目錄 提供更系統的工具
FTP工具推薦使用 cuteftp
http://www.onlinedown.net/soft/3065.htm
[編輯本段]主動和被動模式
FTP有兩種使用模式:主動和被動。主動模式要求客戶端和伺服器端同時打開並且監聽一個埠以建立連接。在這種情況下,客戶端由於安裝了防火牆會產生一些問題。所以,創立了被動模式。被動模式只要求伺服器端產生一個監聽相應埠的進程,這樣就可以繞過客戶端安裝了防火牆的問題。
一個主動模式的FTP連接建立要遵循以下步驟:
客戶端打開一個隨機的埠(埠號大於1024,在這里,我們稱它為x),同時一個FTP進程連接至伺服器的21號命令埠。此時,源埠為隨機埠x,在客戶端,遠程埠為21,在伺服器。
客戶端開始監聽埠(x+1),同時向伺服器發送一個埠命令(通過伺服器的21號命令埠),此命令告訴伺服器客戶端正在監聽的埠號並且已准備好從此埠接收數據。這個埠就是我們所知的數據埠。
伺服器打開20號源埠並且建立和客戶端數據埠的連接。此時,源埠為20,遠程數據埠為(x+1)。
客戶端通過本地的數據埠建立一個和伺服器20號埠的連接,然後向伺服器發送一個應答,告訴伺服器它已經建立好了一個連接。
[編輯本段]FTP和網頁瀏覽器
大多數最新的網頁瀏覽器和文件管理器都能和FTP伺服器建立連接。這使得在FTP上通過一個介面就可以操控遠程文件,如同操控本地文件一樣。這個功能通過給定一個FTP的URL實現,形如ftp://<伺服器地址>(例如,ftp://ftp.gimp.org )。是否提供密碼是可選擇的,如果有密碼,則形如:@ftp://<login>:<password>@<ftpserveraddress>。大部分網頁瀏覽器要求使用被動FTP模式,然而並不是所有的FTP伺服器都支持被動模式。[1][2]
[編輯本段]ftp 命令
1、FTP伺服器的登陸
匿名用戶:FTP 口令:FTP
用戶 :ANONYMOUS 口令:任何電子郵件
2、顯示文件信息:DIR/IS
3、下載文件:GET 文件名 (下載到當前目錄)
4、上傳文件:PUT 文件名
5、多文件下載:MGET
6、多文件上傳:MPUT
7、退出:BYE
8、幫助:HELP
[編輯本段]用途
在本地主機和遠程主機之間傳送文件。
[編輯本段]語法
ftp [ -d] [ -g ] [ -i ] [ -n ] [ -v] [ -f ] [ -k realm] [-q[-C]][ HostName [ Port ] ]
[編輯本段]描述
ftp 命令使用「文件傳送協議」 (FTP) 在本地和遠程主機或遠程主機之間傳送文件。
FTP 協議允許在使用不同文件系統的主機之間進行數據傳送。盡管協議在傳送數據中提供了很高的靈活度,它仍然不會嘗試保留特定於某個文件系統的文件屬性(如文件保護模式或修改時間)。而且,FTP 協議為文件系統的整體結構做了少許假設,且不提供或不允許諸如循環地復制子目錄這樣的函數。
請注意:如果您正在系統之間傳送文件,且需要保存文件屬性或遞歸地復制子目錄,請使用 rcp 命令。
[編輯本段]發布子命令
您可以在 ftp> 提示符中輸入子命令,執行類似這樣的任務:列出遠程目錄、更改當前的本地和遠程目錄、在單一請求中傳送多個文件、創建和除去目錄,以及轉義到本地 shell 執行 shell 命令。請參考子命令章節取得每個子命令的描述信息。
如果您執行 ftp 命令而不為遠程主機指定 HostName 參數,ftp 命令會立即顯示 ftp> 提示符,等待 ftp 子命令。要連接遠程主機,請執行 open 子命令。 當 ftp 命令連接到遠程主機時,ftp 命令在再次顯示提示符 ftp> 之前會提示輸入登錄名和密碼。如果遠程主機中未定義登錄名的密碼,ftp 命令將不成功。
ftp 命令解釋器(處理在 ftp> 提示符處輸入的全部子命令),會提供大多數文件傳送程序沒有的性能,如:
* 對 ftp 子命令處理文件名參數
* 將一組子命令集中成一個單一的子命令宏
* 從 $HOME/.netrc 文件中裝入宏
這些性能會幫助您簡化重復的任務,並允許您在 unattended 方式使用 ftp 命令。
命令解釋器將按照下列規則處理文件名參數:
* 如果為此參數指定了 -(連字元),則標准輸入 (stdin) 將用於讀取操作,而標准輸出用於寫入操作。
* 如果未應用前面的檢查,且文件名擴展已啟用(請參考 -g 標志或 glob 子命令),則解釋器將根據 C shell 的規則擴展文件名。啟用了文件名匹配替換以及在期待單一文件名的子命令中使用了模式匹配字元時,結果可能與期待的不一樣。
例如,append 和 put 子命令將拓展文件名,然後僅使用所生成第一個文件名。其它 ftp 子命令,如 cd、delete, get、mkdir、rename 和 rmdir 不會執行文件名拓展,並從字面上接受模式匹配字元。
* 對於 get、put、mget 和 mput 子命令,解釋器有能力在不同的本地和遠程文件名語法樣式之間進行翻譯和映射(請參考 case、ntrans 和 nmap 子命令),並且在本地文件名不是唯一的情況下有修改它的能力(請參考 runique 子命令)。另外,如果遠程文件名不是唯一的,則 ftp 命令可將指令發送到遠程 ftpd 伺服器,以修改遠程的文件名(請參考 sunique 子命令)。
* 使用雙引號 (" ") 指定包含空字元的參數。
請注意:ftp 命令解釋器不支持管道。也無需支持所有多位元組字元文件名。
要在互動地運行的時候結束 ftp 會話,請使用 quit 或 bye 子命令或 ftp> 提示符處的End of File (Ctrl-D) 按鍵順序。要在文件傳送未完成之前結束它,請按中斷按鍵順序。其預設「中斷鍵」序列是 Ctrl-C。stty 指令能用於重新定義該鍵系列。
ftp 命令在正常情況下會立即暫停正在發送(從本地主機到遠端主機)的傳輸。ftp 命令通過將 FTP ABOR 指令發送到遠程 FTP 伺服器,來暫停正在接收的傳輸(從遠程主機到本地主機),並廢棄所有傳入的文件傳送包(直到遠程伺服器停止發送它們為止)。如果遠程伺服器不支持 ABOR 指令,在遠程伺服器未發送所有請求的文件之前,ftp 命令不會顯示 ftp> 提示符。另外,如果遠程伺服器執行未期望的操作時,可能需要結束本地 ftp 進程。
安全性和自動登錄
如果「標準的」是當前認證方法:
ftp 命令也會通過將密碼發送到遠程主機來處理安全性,並許可自動登錄、文件傳送和注銷操作。
如果您執行 ftp 命令並指定遠程主機的主機名 (HostName), ftp 命令會嘗試建立一個對於指定主機的連接。如果 ftp 命令連接成功,ftp 命令會在當前目錄或主目錄中搜索本地的 $HOME/.netrc 文件。如果文件存在,ftp 命令會在文件中搜索啟動登錄過程的入口,在命令宏定義中搜索遠程主機。如果 $HOME/.netrc 文件或自動登錄項不存在,或是系統已使用 securetcpip 命令保護起來, ftp 命令會提示用戶輸入用戶名和密碼。不論命令行中是否指定 HostName 參數,該指令都會顯示此提示。
請注意: 排隊系統不支持多位元組主機名。
如果 ftp 命令找到指定主機的$HOME/.netrc 自動登錄項, ftp 會試圖使用該登錄項中的信息登錄遠程主機。ftp 命令也會載入任何在登錄項中定義的命令宏。在某些情況(例如,所需的密碼在自動登錄項中沒有列出來),ftp 命令會在顯示 ftp> 提示符之前提示輸入密碼。
一旦 ftp 命令完成自動登錄,如果宏是在自動登錄項中定義的,ftp 命令就會執行init 宏。如果init 宏不存在或未包含 quit 或 bye 子命令,ftp 命令將顯示 ftp> 提示符並等待子命令。
請注意: 在提示符或在 $HOME/.netrc 文件中指定的遠程主機名必須存在,並擁有在遠程主機中定義的密碼。否則,ftp 指令無效。
如果 Kerberos 5 是當前的認證方法:
ftp 命令會按在 IETF 草稿文擋 "draft-ietf-cat-ftpsec-09.txt" 定義的那樣將此拓展用於 ftp 規范。FTP 安全性擴展將使用「 InPattern 參數。除 $(美元符號)和 \$ (反斜杠,美元符號)以外,InPattern 參數中的所有字元,都是按字面意義處理的,並用作 InPattern 變數之間的定界符。例如,如果 InPattern 參數是 $1.$2 且遠程文件名是 mydata.dat,則 $1 的值是 mydata,$2 的值是 dat。
此 OutPattern 參數確定結果文件名。從 $1 到 $9 的變數將被它們從 InPattern 參數獲得的值替換,而變數 $0 將由原文件名替換。另外,如果 Sequence1 不為空,序列 [Sequence1,Sequence2] 將由 Sequence1 替換;否則它將由 Sequence2 的值替換。例如,子命令:
nmap $1.$2.$3 [$1,$2].[$2,file]
會從 myfile.data 或 myfile.data.old 中產生 myfile.data,從 myfile 中產生 myfile.file,從 .myfile中產生myfile.myfile。請使用 \ (反斜杠) 符號防止 OutPattern參數中 $(美元符號)、[(左括弧)、](右括弧)和 ,(逗號)的特殊意義。
non-print form non-print 子命令的同義詞。
ntrans ] 打開或關閉文件名字元翻譯機制。如果未指定任何參數,字元翻譯將關閉。如果參數已指定,在沒有指定目標文件名的時候,將為 mget 和 mput 子命令以及 get 和 put 子命令翻譯源文件名中的字元。
此子命令在本地和遠程主機使用不同的文件名約定和慣例時很有用。字元翻譯遵從 InCharacters 和 OutCharacters 參數設置的模式。匹配InCharacters 參數中字元的源文件名中的字元將由 OutCharacters 參數中對應的字元替換。
如果 InCharacters 參數指定的字元串比 OutCharacters 參數指定的字元串長,而且其在 OutCharacters 參數中無對應的字元,則 InCharacters 參數中的字元將被刪除。
open HostName [Port] 在由 HostName 參數所指定主機中建立對 FTP 伺服器的連接。如果可選的埠號已指定ftp 命令將嘗試連接該埠中的伺服器。如果已設置自動登錄功能(即,該 -n 標志沒有在命令行中指定), 則 ftp 命令就會試圖讓用戶登錄到 遠程 FTP 伺服器的全部響應。另外, ftp 會在傳輸完成後顯示所有文件傳送的統計信息。

⑹ 如何建內網FTP伺服器,詳細點 說是使用serv-U的,就詳細說怎麼設置

快速入門指南
Serv-U 設計的配置簡單,其靈活性和控制功能使您得以在可能的最佳安全保護下與其他人方便地共享文件。快速入門指南將幫助您安裝伺服器,創建首個域,並向新域中添加用戶帳戶。一旦完成這些簡單步驟,您就能連接到新的文件伺服器並開始傳輸文件!

安裝
如果您是首次安裝 Serv-U,只需遵照安裝屏上的指令選擇安裝目錄並配置桌面快捷方式,以便快速訪問伺服器。您也可選擇將 Serv-U 作為系統服務安裝,這意味著當 Windows 啟動時自動啟動 Serv-U——在任何用戶登錄伺服器前。如果 Serv-U 運行於專用的伺服器機器,且沒有互動式用戶會話定期登錄該伺服器時,該選項很有用。如果 Serv-U 未作為系統服務安裝,則登錄 Windows 後需要手動啟動該軟體。

如果覆蓋安裝現有 Serv-U,我們推薦首先備份原始安裝文件夾。盡管可以安全地覆蓋安裝任何現有的 Serv-U 並對數據文件和二進制代碼進行必要的升級,在升級前備份關鍵組件仍被視為良好的數據管理措施。如果進行升級的安裝版本早於 7.0 版,將會出現提示對話窗,指出在版本 6 後作出的關鍵更改,以及這些更改會如何影響您對 Serv-U 文件伺服器的管理。

一旦完成安裝,將啟動 Serv-U 管理控制台。如果選擇安裝後不啟動 Serv-U 管理控制台,可以通過雙擊系統托盤內的 Serv-U 圖標,或單擊右鍵選擇 "啟動管理控制台" 選項,來隨時啟動控制台。

創建首個域
完成載入管理控制台後,如果當前沒有現存域會提示您是否創建新域。單擊是啟動域創建向導。任何時候要運行該向導,可以單擊管理控制台頂部或更改域對話框內的新建域按鈕,從管理控制台內的任何頁面都可打開更改域對話框。在 Serv-U 文件伺服器上創建新域有 3 個簡單步驟。

第一步是提供唯一的域名。域名對其用戶是不可見的,並且不影響其他人訪問域的方式。它只是域的標識符,使其管理員更方便的識別和管理域。同時域名必須是唯一的,從而使 Serv-U 可以將其與伺服器上的其它域區分開。您也可在描述區提供域的任何其它描述說明。默認情況下,啟用域並供用戶訪問。如果您希望在配置過程中暫時拒絕用戶訪問該域,取消選中啟用域選擇框。單擊下一步繼續創建域。

創建域的第二步是指定用戶訪問該域所用的協議。標准文件共享協議是 FTP(文件傳輸協議),它運行於默認埠 21。然而,任何這些埠號都可更改為您所選擇的數值。如果在非默認埠上運行伺服器,推薦使用 1024 以上的埠。關於每個 Serv-U 版本所支持協議的更多信息,請參考有關 Serv-U 版本的文檔。選中您希望域支持的協議旁的選擇框,然後單擊下一步繼續。

第三步即最後一步是指定用於連接該域的物理地址。通常,這是用戶指定的 IP 地址,用於在 Internet 上查找您的伺服器。大多數家庭用戶可以保留該選項空白,以使 Serv-U 使用計算機上的任何可用 IP 地址。

第四步與最後一個步驟是決定在該域存儲密碼時將使用的加密模式。默認情況下,使用單向加密安全地存儲所有密碼,一旦保存密碼就會將其鎖定。不過,用戶希望利用 Web 客戶端上的「密碼恢復」工具時,可以選擇使用雙向密碼,這樣在要求密碼恢復時,Serv-U 就無需重置其密碼。最後,若希望將密碼存儲為明文,Serv-U 也可以實現。不推薦這一方式,不過要與過去的系統集成(特別是在使用資料庫支持時),這可能是必需的。

現在,點擊完成以讓 Serv-U 創建你的第一個域。祝賀您!現在您的第一個域上線了。下一次可以配置域的更多屬性。有關這些選項的更多信息,請參見域設置文檔。現在,您需要創建用戶帳戶以便通過該域開始共享文件。

創建首個用戶帳戶
創建首個域後,管理控制台將顯示用戶頁面並詢問您是否希望使用新建用戶向導創建新用戶帳戶。單擊是啟動新建用戶帳戶向導。任何時候通過單擊用戶帳戶頁面上的 "向導" 按鈕可以運行該向導。創建新用戶帳戶有 4 個簡單步驟。

第一步是提供帳戶的唯一的登錄 ID。連接域時使用該登錄 ID開始驗證過程。登錄 ID對於該域必須是唯一的,但伺服器上其它域可能有帳戶擁有同樣的登錄 ID。要創建匿名帳戶,請指定登錄 ID為 "anonymous" 或 "ftp"。

此時,還需為該用戶賬戶指定全名與電子郵件地址。全名提供引用用戶賬戶的規范名,電子郵件地址允許將 Serv-U 郵件通知與恢復的密碼發送到用戶賬戶。單擊下一步繼續創建用戶帳戶。

指定唯一登錄 ID後,您還必須為帳戶指定密碼。當用戶連接域時,密碼是驗證用戶身份所需的第二條信息。如果有人要連接該域,他們必須知道第一步中指定的登錄 ID,以及此密碼。密碼可以留空,但將導致知道登錄 ID的任何人都能訪問域。點擊下一步繼續。

第三步是指定帳戶的根目錄。根目錄是登錄成功時用戶帳戶在伺服器硬碟(或可訪問的網路資源)上所處的位置。實質上,它是用戶帳戶在伺服器上收發文件時您希望它使用的位置。單擊瀏覽按鈕轉到硬碟上的某個位置,或手動輸入該位置。如果鎖定用戶至根目錄,他們就不能訪問其根目錄結構之上的文件或文件夾。此外,根目錄的真正位置將被屏蔽而顯示為 "/"。單擊下一步按鈕繼續最後一個步驟。

最後一步是授予用戶帳戶訪問權。訪問權是按目錄授予的。然而,可訪問目錄中的所有子目錄可以繼承訪問權。默認訪問權是 "只讀",這意味著用戶可以列表顯示其根目錄中的文件和文件夾並進行下載。然而他們不能上傳文件、創建新目錄、刪除文件/文件夾或重命名文件/文件夾。如果選擇 "完全訪問",用戶就能執行所有上述操作。創建用戶後,通過編輯用戶並選擇 "目錄訪問" 選項卡,可以更細致的配置這些訪問許可權。選擇目錄訪問許可權後,單擊完成按鈕創建用戶帳戶。

祝賀您!您的 Serv-U 文件伺服器已准備就緒可供訪問和共享。您可以像創建該帳戶一樣創建更多帳戶以便與其他朋友、家人或同事共享。每個用戶可有不同的根目錄從而使您可與不同人共享不同文件。還有更多用戶配置選項使您可以微調帳戶訪問伺服器的許可權。有關這些選項的更多信息,請參見用戶帳戶的文檔。

⑺ FTP的防範與攻擊如何實現

------------------------FTP安全考慮—RFC2577----------------------------------
1.簡介
文件傳輸協議規范(FTP)[PR85]提供了一種允許客戶端建立FTP控制連接並在兩台
FTP伺服器間傳輸文件的機制。這種「代理FTP」機制可以用來減少網路的流量,客戶端命
令一台伺服器傳輸文件給另一台伺服器,而不是從第一台伺服器傳輸文件給客戶端,然後從
客戶端再傳輸給第二台伺服器。當客戶端連接到網路的速度特別慢時,這是非常有用的。但
同時,代理FTP還帶來了一個安全問題——「跳轉攻擊(bounce attack)」[CERT97:27]。除
了「跳轉攻擊」,FTP伺服器還可以被攻擊者通過強力來猜測密碼。
本文檔並不考慮當FTP和一些強壯的安全協議(比如IP安全)聯合使用的情況。雖然
這些安全關注並不在本文檔的考慮范圍內,但是它們也應該被寫成文檔。
本文給FTP伺服器的實現者和系統管理員提供了一些信息,如下所示。第二章描述了
FTP「跳轉攻擊」。第三章提供了減少「跳轉攻擊」的建議。第四章給基於網路地址限制訪
問的伺服器提供了建議。第五章提供了限制客戶端強力「猜測密碼」的建議。接著,第六章
簡單的討論了改善保密性的機制。第七章給出了阻止猜測用戶身份的機制。第八章討論了端
口盜用。最後,第九章討論了其它跟軟體漏洞有關而跟協議本身無關的FTP安全問題。
2.跳轉攻擊(Bounce Attack)
RFC959[PR85]中規定的FTP規范提供了一種攻擊知名網路伺服器的一種方法,並且使
攻擊者很難被跟蹤。攻擊者發送一個FTP"PORT"命令給目標FTP伺服器,其中包含該主機
的網路地址和被攻擊的服務的埠號。這樣,客戶端就能命令FTP伺服器發一個文件給被
攻擊的服務。這個文件可能包括根被攻擊的服務有關的命令(如SMTP,NNTP等)。由於是
命令第三方去連接到一種服務,而不是直接連接,就使得跟蹤攻擊者變得困難,並且還避開
了基於網路地址的訪問限制。
例如,客戶端上載包含SMTP命令的報文到FTP伺服器。然後,使用正確的PORT命
令,客戶端命令伺服器打開一個連接給第三方機器的SMTP埠。最後,客戶端命令服務
器傳輸剛才上載的包含SMTP命令的報文給第三方機器。這就使得客戶端不建立任何直接
的連接而在第三方機器上偽造郵件,並且很難跟蹤到這個攻擊者。
3.避免跳轉攻擊
原來的FTP規范[PR85]假定使用TCP進行數據鏈接,TCP埠號從0到1023時報留給
一些眾所周知的服務的,比如郵件,網路新聞和FTP控制鏈接。FTP規范對數據鏈接沒有
限制TCP埠號。因此,使用代理FTP,客戶端就可以命令伺服器去攻擊任何機器上眾所
周知的服務。
為了避免跳轉攻擊,伺服器最好不要打開數據鏈接到小於1024的TCP埠號。如果服
務器收到一個TCP埠號小於1024的PORT命令,那麼可以返回消息504(對這種參數命
令不能實現)。但要注意這樣遺留下那些不知名服務(埠號大於1023)易受攻擊。
一些建議(例如[AOM98]和[Pis94])提供了允許使用除了TCP以外的其他傳輸協議來
建立數據連接的機制。當使用這些協議時,同樣要注意採用類似的防範措施來保護眾所周知
的服務。
另外,我們注意到跳轉攻擊一般需要攻擊者首先上載一個報文到FTP伺服器然後再下
載到准備攻擊的服務埠上。使用適當的文件保護措施就可以阻止這種情況發生。然而攻擊
者也可能通過從遠程FTP伺服器發送一些能破壞某些服務的數據來攻擊它。
禁止使用PORT命令也是避免跳轉攻擊的一種方法。大多數文件傳輸可以僅通過PASV
命令來實現。但這樣做的缺點就是喪失了使用代理FTP的能力,當然代理FTP並不是在所
有場合都需要的。
4.受限制的訪問
一些FTP伺服器希望有基於網路地址的訪問控制。例如,伺服器可能希望限制來自某
些地點的對某些文件的訪問(例如為了某些文件不被傳送到組織以外)。在這種情況下,服
務器在發送受限制的文件之前應該首先確保遠程主機的網路地址在本組織的范圍內,不管是
控制連接還是數據連接。通過檢查這兩個連接,伺服器就被保護避免了這種情況:控制連接
用一台可信任的主機連接而數據連接不是。同樣的,客戶也應該在接受監聽模式下的開放端
口連接後檢察遠程主機的IP地址,以確保連接是由所期望的伺服器建立的。
注意,基於網路地址的受限訪問留下了FTP伺服器易受「地址盜用(spoof)」攻擊。在
spoof攻擊中,攻擊機器可以冒用在組織內的機器的網路地址,從而將文件下載到在組織之
外的未授權的機器上。只要可能,就應該使用安全鑒別機制,比如在[HL97]中列出的安全鑒
別機制。
5.保護密碼
為了減少通過FTP伺服器進行強力密碼猜測攻擊的風險,建議伺服器限制嘗試發送正
確的密碼的次數。在幾次嘗試(3~5次)後,伺服器應該結束和該客戶的控制連接。在結束
控制連接以前,伺服器必須給客戶端發送一個返回碼421(「服務不可用,關閉控制連接」
[PR85])。另外,伺服器在相應無效的「PASS」命令之前應暫停幾秒來消減強力攻擊的有效
性。若可能的話,目標操作系統提供的機制可以用來完成上述建議。
攻擊者可能通過與伺服器建立多個、並行的控制連接破壞上述的機制。為了搏擊多個並
行控制連接的使用,伺服器可以限制控制連接的最大數目,或探查會話中的可疑行為並在以
後拒絕該站點的連接請求。然而上述兩種措施又引入了「服務否決」攻擊,攻擊者可以故意
的禁止有效用戶的訪問。
標准FTP[PR85]在明文文本中使用「PASS」命令發送密碼。建議FTP客戶端和伺服器
端使用備用的鑒別機制,這種鑒別機制不會遭受竊聽。比如,IETF公共鑒別技術工作組開
發的機制[HL97]。
6.私密性
在FTP標准中[PR85]中,所有在網路上被傳送的數據和控制信息(包括密碼)都未被
加密。為了保障FTP傳輸數據的私密性,應盡可能使用強壯的加密系統。在[HL97]中定義
了一個這樣的機制。
7.保護用戶名
當「USER」命令中的用戶名被拒絕時,在FTP標准中[PR85]中定義了相應的返回碼530。
而當用戶名是有效的但卻需要密碼,FTP將使用返回碼331。為了避免惡意的客戶利用USER
操作返回的碼確定一個用戶名是否有效,建議伺服器對USER命令始終返回331,然後拒絕
對無效用戶名合並用戶名和密碼。
8.埠盜用
許多操作系統以遞增的順序動態的分配埠號。通過合法的傳輸,攻擊者能夠觀察當前
由伺服器端分配的埠號,並「猜」出下一個即將使用的埠號。攻擊者可以與這個埠建
立連接,然後就剝奪了下一個合法用戶進行傳輸的能力。或者,攻擊者可以盜取給合法用戶
的文件。另外,攻擊者還可能在從授權用戶發出的數據流中插入偽造的文件。通過使FTP
客戶和伺服器隨機的給數據連接分配埠號,或者要求操作系統隨機分配埠號,或者使用
與系統無關的機制都可以減少埠盜用的發生。
9.基於軟體的安全問題
本文檔的重點是和協議相關的安全問題。另外還有一些成文的FTP安全問題是由於不
完善的FTP實現造成的。雖然這種類型的問題的細節超出本文檔的范圍,還是有必要指出
以下那些過去曾被誤用,今後的實現應該慎重考慮的FTP特性。
? 匿名FTP
匿名FTP服務使客戶端用最少的證明連接到FTP伺服器分享公共文件。如果這樣的用
戶能夠讀系統上所有的文件或者能建立文件,那麼問題就產生了。[CERT92:09] [CERT93:06]

? 執行遠程命令
FTP擴展命令"SITE EXEC"允許客戶端執行伺服器上任意的命令。這種特性顯然需要非
常小心的實現。已經有幾個成文的例子說明攻擊者利用FTP「SITE EXEC」命令可以破壞服
務器的安全性。[CERT94:08] [CERT95:16]

? 調試代碼
前面的一些跟FTP有關危及安全的問題是由於置入了調試特性的軟體造成的。
[CERT88:01]

本文建議有這些功能的FTP伺服器的實現者在發布軟體之前參閱所有的CERT有關這
些問題的攻擊以及類似機制的忠告。
10.結論
使用以上建議可以減少和FTP伺服器有關的安全問題的發生,而不用刪除其功能。

⑻ ftp的解讀

、什麼是FTP:文件傳輸協議原理

互聯網文件傳輸協議(File Transfer Protocol ,FTP) 標準是在RFC959說明的。該協議定義了一個從遠程計算機系統和本地計算機系統之間傳輸文件的一個標准。一般來說,傳輸文件的用戶需要先經過認證以後才能登錄網站,然後方能訪問在遠程伺服器的文件。而大多數的FTP伺服器往往提供一個GUEST的公共帳戶來允許沒有遠程伺服器的用戶可以訪問該FTP伺服器。

一個FTP會話通常包括五個軟體元素的交互。

用戶介面 提供了一個用戶介面並使用客戶端協議解釋器的服務
客戶 PI 客戶協議解釋器,其項遠程伺服器協議機發送命令並且驅動客戶數據傳輸過程
伺服器PI 伺服器協議解釋器,響應客戶協議機發出的命令並驅動伺服器端數據傳輸過程
客戶 DTP 客戶數據傳輸過程,其負責完成和伺服器數據傳輸過程及客戶端本地文件系統的通信
服務DTP 伺服器數據傳輸過程,其負責完成和客戶數據傳輸過程及伺服器端文件系統的通信

在RFC 959中,一般使用用戶這個名詞來指代客戶。RFC 959定義了客戶PI和伺服器PI交互的方式和規范。用戶介面與PI和DTP交互的機理都並不是協議標準的一部分。PI和DTP往往通常是在同一個程序模塊中實現的。

在FTP會話中,一共會存在有兩個獨立的網路連接,一個是由兩端的PI使用的,另一個是由兩端的DTP使用的。PI之間的連接一般被稱作控制連接(control connection),DTP之間的連接被稱做數據連接(data connection)

使用TCP服務的控制和數據連接

通常情況下,FTO伺服器監聽埠號21來等待控制連接建立請求。而數據連接埠號的選擇依賴於控制連接上命令。通常是客戶發送一個控制消息來指定客戶監聽並等待伺服器端發送數據連接建立請求的埠號。

對數據傳輸和控制命令傳輸來使用不同的獨立連接有如下優點:兩個連接可以選擇不同的合適服務質量,如:對控制連接來說高需要更小的延遲時間,對數據連接來說需要更大的數據吞吐量;而且可以避免實現數據流中的命令的通明性及逃逸。

當傳輸建立時,總是由客戶端首先發起。然而客戶和伺服器都可能是數據發送者。除了傳輸用戶請求下載文件,數據傳輸過程同樣在客戶端請求列伺服器端目錄結構時建立。

1.命令選擇

當一個傳輸建立時,一般通常需要指定四個方面的屬性:

文件類型
該屬性指定如何將文件的數據匹配成適於傳輸的格式,一共有四種可能的選擇:

ASCII文件類型
在發送端,文件從本地文本文件格式轉換為 NVT ASCII格式,每行結束有一個CR/LF對來標識。 在接收端,再被轉換為本地的文本格式。

這說明了為什麼Unix主機之間傳輸文本文件為何傳輸的數據量要大於文件的實際大小。若傳輸一段端或傳輸兩端都不使用ASCII文本編碼,則是應該由數據傳輸過程來實現本地編碼和NVT ASCII 編碼之間的轉換。

EBCDIC文件類型
類似於ASCII,區別僅僅上使用EBCDIC字元編碼

圖象 (或二進制)文件類型
文件以本地傳輸內容傳輸,在遠端以同本地完全相同的內容存儲。

本地文件系統
用在位元組大小不是8位的環境下。沒位元組位數由發送者指定。

在實際應用中,只有ASCII和圖象格式使用的較多。

格式控制
該屬性是和將文本文件最後傳送到列印設備相關的,其中有多種方式來實現將垂直格式信息編碼到文件中,包括指示一個新頁開始的方式。有如下方式可供選擇:

無須列印格式控制,這是預設值
Telnet列印控制,在telnet協議中定義的控制字元包含在數據流中。.
Fortran列印控制,
該屬性在實際中很少使用。

結構
文件可以擁有內部結構,在傳輸中該結構被保留。由數據傳輸過程來負責在傳輸中的結構及本地結構之間相互匹配,有三種可能性:

文件結構
這實際上意味著文件被看作沒有內部結構的連續的位元組流。

記錄結構
文件是有一系列記錄組成的結構。這只適用於文本文件。

頁面結構
也可以稱做塊結構。每一頁都伴隨一個頁號來傳輸,從而以順序的方式來完成傳輸。

頁面結構很少在實際中遇到。記錄結構也不是很常見。對於文本文件使用ASCII文件類型可以獲得相同的效果。

傳輸模式
該屬性可以取三個不同的值:

流模式
文件的以位元組流的方式傳輸。

塊模式
文件以一個塊連接一個塊的方式傳輸,每個塊的開頭都有一個頭。

壓縮模式
一個簡單的運程長度壓縮編碼被應用,來壓縮連續的相同的位元組。

實際中,一般只有流模式被使用。而壓縮一般通過使用各種其他的工具程序來獲得。

當一次傳輸被建立,客戶端一般指定一個或多個前面說明的屬性。若伺服器端不能支持某個選項,伺服器將用一個錯誤信息來響應客戶端,並不具有協商機制。

FTP提供了充足的命令來使用戶和遠程建立連接並訪問遠程文件系統。

2.命令格式

命令以NVT ASCII串的格式被傳輸。每個命令以三個或四個大寫的NVT ASCII字元開始,後面帶有選項參數和一個CR/LF對來標識命令結束

應答由三個NVT ASCII數字及一個選項消息組成。

一個長的應答也許會有多個消息組成,第一個消息的三個數字後帶有一個破折號,最後的消息不帶有破折號。中間的消息無須攜帶三個數字,但是如果帶了三個數字,則也需要破折號。

下面是所有的命令的列表。帶有星號的命令一般很少使用,所以往往在具體實現中不支持。

String Meaning
ABOR 放棄傳輸
*ACCT 某些系統將帳號和用戶與文件系統相關聯
*ALLO 為即將傳送的文件分配空間。後面攜帶的參數來確定位元組數
*APPE 將文件附加到已經存在的文件後面
CDUP 在遠程系統上將當前目錄切換到上級父目錄
CWD 改變遠程系統的工作目錄
DELE 刪除遠程系統的文件
HELP 讀取伺服器的幫助信息,如:支持的命令的列表
LIST 在一個新建立的數據連接上發送當前工作目錄下的文件名列表
MKD 創建目錄
MODE 指定傳輸模式,可攜帶的參數是:S、B或 C.
NLST 在一個新建立的數據連接上發送一個當前目錄下的「完全」的目錄列表
NOOP 空操作,防止連接斷掉
PASS 提供一個用戶登錄密碼,必須立即跟隨在USER命令後
*PASV 指定伺服器數據傳輸過程監聽等待客戶端的數據連接連接建立請求
PORT 指定客戶端監聽等待伺服器端建立的連接的埠號
PWD 顯示伺服器端的當前工作目錄名
QUIT 退出登錄並終止連接
*REIN 重新初始化,退出登錄但是並不斷開連接,後面必須隨後發出一個新的USER命令
*REST 從伺服器的一個標識處重新開始傳輸
RETR 從遠程系統取回一個文件
RMD 刪除一個目錄
*RNFR 指定要被命名的文件的老的路徑名,隨後必須是一個RNTO命令
*RNTO 指定要被命名的文件的新的路徑名
*SITE 站點特有的伺服器提供的服務
*SMNT 結構載入,提供一個文件系統結構的遠程系統路徑名
*STAT 狀態信息
STOR 上載一個文件到伺服器上,若文件已經存在則覆蓋
*STOU 上載一個文件到伺服器上,不覆蓋已經存在的文件
STRU 指定文件結構,參數可以是F、R或P.
*SYST 報告遠程系統的操作系統類型
TYPE 指定文件類型,參數可以是A、E、I、L只有TYPE A和TYPE I常用

控制連接命令應答有如下形式:

Type Description
1yz 主動初步應答,在發送另一個命令以前等待另一個應答
2yz 主動最後應答,最後一個命令成功結束
3yz 主動中間應答,必須再發送一個命令
4yz 暫時被動應答,要求的動作當時不能完成,但可以重試
5yz 永久被動應答,要求的動作不能完成,不應該重試

"y"數字編碼進一步的信息

Digit Meaning
0 語法錯誤
1 信息
2 連接狀態
3 認證和記帳
4 保留
5 File s文件系統狀態

下面是一些典型的消息:

Number Meaning
125 數據連接打開,傳輸開始
200 命令OK
331 用戶名OK 需要輸入密碼
425 不能打開數據連接
452 錯誤寫文件
500 語法錯誤-不可識別的命

具體的詳細情況可以參見RFC

⑼ FTP建立後,和伺服器建立哪兩種連接

起初,FTP並不是應用於IP網路上的協議,而是ARPANEt網路中計算機間的文件傳輸協議, ARPANET是美國國防部組建的老網路,於1960-1980年使用。在那時, FTP的主要功能是在主機間高速可靠地傳輸文件。目前FTP仍然保持其可靠性,即使在今天,它還允許文件遠程存取。這使得用戶可以在某個系統上工作,而將文件存貯在別的系統。例如,如果某用戶運行Web伺服器,需要從遠程主機上取得HTML文件和CGI程序在本機上工作,他需要從遠程存儲站點獲取文件(遠程站點也需安裝Web伺服器)。當用戶完成工作後,可使用FTP將文件傳回到Web伺服器。採用這種方法,用戶無需使用Telnet登錄到遠程主機進行工作,這樣就使Web伺服器的更新工作變得如此的輕松。

FTP是TCP/IP的一種具體應用,它工作在OSI模型的第七層,TCP模型的第四層上,即應用層,使用TCP傳輸而不是UDP,這樣FTP客戶在和伺服器建立連接前就要經過一個被廣為熟知的"三次握手"的過程,它帶來的意義在於客戶與伺服器之間的連接是可靠的,而且是面向連接,為數據的傳輸提供了可靠的保證。

下面,讓我們來看看,一個FTP客戶在和伺服器連接是怎麼樣的一個過程(以標準的FTP埠號為例)。

首先,FTP並不像HTTP協議那樣,只需要一個埠作為連接(HTTP的默認埠是80,FTP的默認埠是21),FTP需要2個埠,一個埠是作為控制連接埠,也就是21這個埠,用於發送指令給伺服器以及等待伺服器響應;另一個埠是數據傳輸埠,埠號為20(僅PORT模式),是用來建立數據傳輸通道的,主要有3個作用

從客戶向伺服器發送一個文件。

從伺服器向客戶發送一個文件。

從伺服器向客戶發送文件或目錄列表。

其次,FTP的連接模式有兩種,PORT和PASV。PORT模式是一個主動模式,PASV是被動模式,這里都是相對於伺服器而言的。為了讓大家清楚的認識這兩種模式,朗月繁星分別舉例說明。
PORT模式

當FTP客戶以PORT模式連接伺服器時,他動態的選擇一個埠號(本次試驗是6015)連接伺服器的21埠,注意這個埠號一定是1024以上的,因為1024以前的埠都已經預先被定義好,被一些典型的服務使用,當然有的還沒使用,保留給以後會用到這些埠的資源服務。當經過TCP的三次握手後,連接(控制信道)被建立(如圖1和圖2)。

圖1:FTP客戶使用FTP命令建立於伺服器的連接

圖2:用netstat命令查看,控制信道被建立在客戶機的6015和伺服器的20埠

現在用戶要列出伺服器上的目錄結構(使用ls或dir命令),那麼首先就要建立一個數據通道,因為只有數據通道才能傳輸目錄和文件列表,此時用戶會發出PORT指令告訴伺服器連接自己的什麼埠來建立一條數據通道(這個命令由控制信道發送給伺服器),當伺服器接到這一指令時,伺服器會使用20埠連接用戶在PORT指令中指定的埠號,用以發送目錄的列表(如圖3)。

圖3:ls命令是一個交互命令,它會首先與伺服器建立一個數據傳輸通道。經驗證本次試驗客戶機使用6044埠

當完成這一操作時,FTP客戶也許要下載一個文件,那麼就會發出get指令,請注意,這時客戶會再次發送PORT指令,告訴伺服器連接他的哪個"新"埠,你可以先用netstat -na這個命令驗證,上一次使用的6044已經處於TIME_WAIT狀態(如圖4)。

圖4:使用netstat命令驗證上一次使用ls命令建立的數據傳輸通道已經關閉

當這個新的數據傳輸通道建立後(在微軟的系統中,客戶端通常會使用連續的埠,也就是說這一次客戶端會用6045這個埠),就開始了文件傳輸的工作。

PASV模式

然而,當FTP客戶以PASV模式連接伺服器時,情況就有些不同了。在初始化連接這個過程即連接伺服器這個過程和PORT模式是一樣的,不同的是,當FTP客戶發送ls、dir、get等這些要求數據返回的命令時,他不向伺服器發送PORT指令而是發送PASV指令,在這個指令中,用戶告訴伺服器自己要連接伺服器的某一個埠,如果這個伺服器上的這個埠是空閑的可用的,那麼伺服器會返回ACK的確認信息,之後數據傳輸通道被建立並返回用戶所要的信息(根據用戶發送的指令,如ls、dir、get等);如果伺服器的這個埠被另一個資源所使用,那麼伺服器返回UNACK的信息,那麼這時,FTP客戶會再次發送PASV命令,這也就是所謂的連接建立的協商過程。為了驗證這個過程我們不得不藉助CUTEFTP Pro這個大家經常使用的FTP客戶端軟體,因為微軟自帶的FTP命令客戶端,不支持PASV模式。雖然你可以使用QUOTE PASV這個命令強制使用PASV模式,但是當你用ls命令列出伺服器目錄列表,你會發現它還是使用PORT方式來連接伺服器的。現在我們使用CUTEFTP Pro以PASV模式連接伺服器(如圖5)。

圖5:使用CUTEFTP Pro以PASV模式連接伺服器

請注意連接LOG里有這樣幾句話:

COMMAND:> PASV
227 Entering Passive Mode (127,0,0,1,26,108)
COMMAND:> LIST
STATUS:> Connecting ftp data socket 127.0.0.1: 6764...
125 Data connection already open; Transfer starting.
226 Transfer complete.

其中,227 Entering Passive Mode (127,0,0,1,26,80). 代表客戶機使用PASV模式連接伺服器的26x256+108=6764埠。(當然伺服器要支持這種模式)
125 Data connection already open; Transfer starting.說明伺服器的這個埠可用,返回ACK信息。

再讓我們看看用CUTEFTP Pro以PORT模式連接伺服器的情況。其中在LOG里有這樣的記錄:

COMMAND:> PORT 127,0,0,1,28,37
200 PORT command successful.
COMMAND:> LIST
150 Opening ASCII mode data connection for /bin/ls.
STATUS:> Accepting connection: 127.0.0.1:20.
226 Transfer complete.
STATUS:> Transfer complete.

其中,PORT 127,0,0,1,28,37告訴伺服器當收到這個PORT指令後,連接FTP客戶的28x256+37=7205這個埠。
Accepting connection: 127.0.0.1:20表示伺服器接到指令後用20埠連接7205埠,而且被FTP客戶接受。

比較分析

在這兩個例子中,請注意: PORT模式建立數據傳輸通道是由伺服器端發起的,伺服器使用20埠連接客戶端的某一個大於1024的埠;在PASV模式中,數據傳輸的通道的建立是由FTP客戶端發起的,他使用一個大於1024的埠連接伺服器的1024以上的某一個埠。如果從C/S模型這個角度來說,PORT對於伺服器來說是OUTBOUND,而PASV模式對於伺服器是INBOUND,這一點請特別注意,尤其是在使用防火牆的企業里,比如使用微軟的ISA Server 2000發布一個FTP伺服器,這一點非常關鍵,如果設置錯了,那麼客戶將無法連接。

最後,請注意在FTP客戶連接伺服器的整個過程中,控制信道是一直保持連接的,而數據傳輸通道是臨時建立的。

在本文中把重點放到了FTP的連接模式,沒有涉及FTP的其他內容,比如FTP的文件類型(Type),格式控制(Format control)以及傳輸方式(Transmission mode)等。不過這些規范大家可能不需要花費過多的時間去了解,因為現在流行的FTP客戶端都可以自動的選擇正確的模式來處理,對於FTP伺服器端通常也都做了一些限制,如下:

類型:A S C I I或圖像。

格式控制:只允許非列印。

結構:只允許文件結構。

傳輸方式:只允許流方式

至於這些內容,限於篇幅在這里就不想再介紹了。希望這篇文章能對大家有些幫助,特別是正在學習ISA Server2000的朋友和一些對FTP不很了解的朋友。