天天看點

FTP服務介紹

FTP伺服器

本詞條由“科普中國”百科科學詞條編寫與應用工作項目稽核 。

FTP伺服器(FileTransfer Protocol Server)是在網際網路上提供檔案存儲和通路服務的計算機,它們依照FTP協定提供服務。 FTP是File Transfer Protocol(檔案傳輸協定)。顧名思義,就是專門用來傳輸檔案的協定。簡單地說,支援FTP協定的伺服器就是FTP伺服器。

中文名

外文名

File TransferProtocol Server

服務協定

FTP協定提供服務

定    義

支援FTP協定的伺服器

目錄

1 服務内容

2 軟體使用

3 軟體種類

Server-U

FileZilla

VsFTP

IIS FTP

4 工作模式

主動FTP

被動FTP

總結

服務内容

一般來說.使用者聯網的首要目的就是實作資訊共享,檔案傳輸是資訊共享非常重要的一個内容之

一。Internet上早期實作傳輸檔案,并不是一件容易的事,我們知道 Internet是一個非常複雜的計算機環境,有PC,有工作站,有MAC,有大型機,據統計連接配接在Internet上的計算機已有上千萬台,而這些計算機可能運作不同的作業系統,有運作Unix的伺服器,也有運作Dos、Windows的PC機和運作MacOS的蘋果機等等,而各種作業系統之間的檔案交流問題,需要建立一個統一的檔案傳輸協定,這就是所謂的FTP。基于不同的作業系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協定,這樣使用者就可以把自己的檔案傳送給别人,或者從其它的使用者環境中獲得檔案。

與大多數Internet服務一樣,FTP也是一個客戶機/伺服器系統。使用者通過一個支援FTP協定的客戶機程式,連接配接到在遠端主機上的FTP伺服器程式。使用者通過客戶機程式向伺服器程式發出指令,伺服器程式執行使用者所發出的指令,并将執行的結果傳回到客戶機。比如說,使用者發出一條指令,要求伺服器向使用者傳送某一個檔案的一份拷貝,伺服器會響應這條指令,将指定檔案送至使用者的機器上。客戶機程式代表使用者接收到這個檔案,将其存放在使用者目錄中。[1] 

軟體使用

在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主機中進行搜尋,構造一個包含全部檔案目錄資訊的資料庫,使你可以直接找到所需檔案的位置資訊。

軟體種類

Serv-U是一種被廣泛運用的FTP伺服器端軟體,

server-u

支援3x/9x/ME/NT/2K/2000/xp等全Windows系列。可以設定多個FTP伺服器、限定登入使用者的權限、登入主目錄及空間大小等,功能非常完備。 它具有非常完備的安全特性,支援SSl FTP傳輸,支援在多個Serv-U和FTP用戶端通過SSL加密連接配接保護您的資料安全等。

Serv-U 是衆多的FTP伺服器軟體之一。通過使用Serv-U,使用者能夠将任何一台PC 設定成一個FTP 伺服器,這樣,使用者或其他使用者就能夠使用FTP 協定,通過在同一網絡上的任何一台PC與FTP 伺服器連接配接,進行檔案或目錄的複制,移動,建立,和删除等。這裡提到的FTP 協定是專門被用來規定計算機之間進行檔案傳輸的标準和規則,正是因為有了象FTP 這樣的專門協定,才使得人們能夠通過不同類型的計算機,使用不同類型的作業系統,對不同類型的檔案進行互相傳遞。

是一款經典的開源FTP解決方案

FileZilla_Server

,包括FileZilla用戶端和FileZillaServer[2] 。其中,FileZillaServer的功能比起商業軟體FTP Serv-U毫不遜色。無論是傳輸速度還是安全性方面,都是非常優秀的一款。

VSFTP是一個基于GPL釋出的類Unix系統上使用的FTP伺服器軟體,它的全稱是Very Secure FTP 從此名稱可以看出來,編制者的初衷是代碼的安全。

安全性是編寫VSFTP的初衷,除了這與生俱來的安全特性以外,高速與高穩定性也是VSFTP的兩個重要特點。

在速度方面,使用ASCII代碼的模式下載下傳資料時,VSFTP的速度是Wu-FTP的兩倍,如果Linux主機使用2.4.*的核心,在千兆以太網上的下載下傳速度可達86MB/S。

在穩定方面,VSFTP就更加的出色,VSFTP在單機(非叢集)上支援4000個以上的并發使用者同時連接配接,根據Red Hat的Ftp伺服器的資料,VSFTP伺服器可以支援15000個并發使用者.

Windows Server 2003中配置FTP伺服器 在Windows Server 2003系統中配置FTP伺服器的方法:

第1步,在開始菜單中依次單擊“管理工具”→“Internet資訊服務(IIS)管理器”菜單項,打開“Internet資訊服務(IIS)管理器”視窗。在左窗格中展開“FTP站點”目錄,右鍵單擊“預設FTP站點”選項,并選擇“屬性”指令。

第2步,打開“預設FTP站點屬性”對話框,在“FTP站點”頁籤中可以設定關于FTP站點的參數。其中在“FTP站點辨別”區域中可以更改FTP站點名稱、監聽IP位址以及TCP端口号,單擊“IP位址”編輯框右側的下拉三角按鈕,并選中該站點要綁定的IP位址。如果想在同一台實體伺服器中搭建多個FTP站點,那麼需要為每一個站點指定一個IP位址,或者使用相同的IP位址且使用不同的端口号。在“FTP站點連接配接”區域可以限制連接配接到FTP站點的計算機數量,一般在區域網路内部設定為“不受限制”較為合适。使用者還可以單擊“目前會話”按鈕來檢視目前連接配接到FTP站點的IP位址,并且可以斷開惡意使用者的連接配接。

第3步,切換到“安全賬戶”頁籤,此頁籤用于設定FTP伺服器允許的登入方式。預設情況下允許匿名登入,如果取消選中“允許匿名連接配接”複選框,則使用者在登入FTP站點時需要輸入合法的使用者名和密碼。本例選中“允許匿名連接配接”複選框。

第4步,切換到“消息”頁籤,在“标題”編輯框中輸入能夠反映FTP站點屬性的文字(如“伺服器配置技術務網FTP主站點”),該标題會在使用者登入之前顯示。接着在“歡迎”編輯框中輸入一段介紹FTP站點詳細資訊的文字,這些資訊會在使用者成功登入之後顯示。同理,在“退出”編輯框中輸入使用者在退出FTP站點時顯示的資訊。另外,如果該FTP伺服器限制了最大連接配接數,則可以在“最大連接配接數”編輯框中輸入具體數值。當使用者連接配接FTP站點時,如果FTP伺服器已經達到了所允許的最大連接配接數,則使用者會收到“最大連接配接數”消息,且使用者的連接配接會被斷開。

第5步,切換到“主目錄”頁籤。主目錄是FTP站點的根目錄,當使用者連接配接到FTP站點時隻能通路主目錄及其子目錄的内容,而主目錄以外的内容是不能被使用者通路的。主目錄既可以是本地計算機磁盤上的目錄,也可以是網絡中的共享目錄。單擊“浏覽”按鈕在本地計算機磁盤中選擇要作為FTP站點主目錄的檔案夾,并依次單擊“确定”按鈕。根據實際需要選中或取消選中“寫入”複選框,以确定使用者是否能夠在FTP站點中寫入資料。

第6步,切換到“目錄安全性”頁籤,

IISFTP

在該頁籤中主要用于授權或拒絕特定的IP位址連接配接到FTP站點。例如隻允許某一段IP位址範圍内的計算機連接配接到FTP站點,則應該選中“拒絕通路”單選框。然後單擊“添加”按鈕,在打開的“授權通路”對話框中選中“一組計算機”單選框。然後在“網絡辨別”編輯框中輸入特定的網段),并在“子網路遮罩”編輯框中輸入子網路遮罩。最後單擊“确定”按鈕。

第7步,傳回“預設FTP站點屬性”對話框,單擊“确定”按鈕使設定生效。現在使用者已經可以在網絡中任意客戶計算機的Web浏覽器中輸入FTP站點位址來通路FTP站點的内容了。

工作模式

FTP是僅基于TCP的服務,不支援UDP。與衆不同的是FTP使用2個端口,一個資料端口和一個指令端口(也可叫做控制端口)。通常來說這兩個端口是21(指令端口)和20(資料端口)。但FTP工作方式的不同,資料端口并不總是20。這就是主動與被動FTP的最大不同之處。主要有兩種工作模式:

即Port模式,用戶端從一個任意的非特權端口N(N>1024)連接配接到FTP伺服器的指令端口,也就是21端口。然後用戶端開始監聽端口N+1,并發送FTP指令“port N+1”到FTP伺服器。接着伺服器會從它自己的資料端口(20)連接配接到用戶端指定的資料端口(N+1)。

  針對FTP伺服器前面的防火牆來說,必須允許以下通訊才能支援主動方式FTP:

  1. 任何大于1024的端口到FTP伺服器的21端口。(用戶端初始化的連接配接)

  2. FTP伺服器的21端口到大于1024的端口。 (伺服器響應用戶端的控制端口)

  3. FTP伺服器的20端口到大于1024的端口。(伺服器端初始化資料連接配接到用戶端的資料端口)

  4. 大于1024端口到FTP伺服器的20端口(用戶端發送ACK響應到伺服器的資料端口)

為了解決伺服器發起到客戶的連接配接的問題,人們開發了一種不同的FTP連接配接方式。這就是所謂的被動方式,或者叫做PASV,當用戶端通知伺服器它處于被動模式時才啟用。

  在被動方式FTP中,指令連接配接和資料連接配接都由用戶端發起,這樣就可以解決從伺服器到用戶端的資料端口的入方向連接配接被防火牆過濾掉的問題。

  當開啟一個 FTP連接配接時,用戶端打開兩個任意的非特權本地端口(N > 1024和N+1)。第一個端口連接配接伺服器的21端口,但與主動方式的FTP不同,用戶端不會送出PORT指令并允許伺服器來回連它的資料端口,而是送出 PASV指令。這樣做的結果是伺服器會開啟一個任意的非特權端口(P > 1024),并發送PORT P指令給用戶端。然後用戶端發起從本地端口N+1到伺服器的端口P的連接配接用來傳送資料。

  對于伺服器端的防火牆來說,必須允許下面的通訊才能支援被動方式的FTP:

  1. 從任何大于1024的端口到伺服器的21端口 (用戶端初始化的連接配接)

  2. 伺服器的21端口到任何大于1024的端口 (伺服器響應到用戶端的控制端口的連接配接)

  3. 從任何大于1024端口到伺服器的大于1024端口 (用戶端初始化資料連接配接到伺服器指定的任意端口)

  4. 伺服器的大于1024端口到遠端的大于1024的端口(伺服器發送ACK響應和資料到用戶端的資料端口)

在主動模式下:FTP伺服器的控制端口是21,資料端口是20,是以在做靜态映射的時候隻需要開放21端口即可,他會用20端口和用戶端主動的發起連接配接。

在被動模式下:FTP伺服器的控制端口是21,資料端口是随機的,且是用戶端去連接配接對應的資料端口,是以在做靜态的映射話隻開放21端口是不可以的。此時需要做DMZ。[1]