FTP服務器

FTP服務器

支持FTP協議的服務器
FTP服務器,則是在互聯網上提供存儲空間的計算機,它們依照FTP協議提供服務。FTP的全稱是File Transfer Protocol(文件傳輸協議)。顧名思義,就是專門用來傳輸文件的協議。簡單地說,支持FTP協議的服務器就是FTP服務器。FTP也是一個客戶機/服務器系統。用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP服務器程序。用戶通過客戶機程序向服務器程序發出命令,服務器程序執行用戶所發出的命令,并将執行的結果返回到客戶機。
    中文名:FTP服務器 外文名:File Transfer Protocol Server 别名: 服務協議:FTP協議提供服務 定義:支持FTP協議的服務器

基本定義

簡單地說,支持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主機中進行搜索,構造一個包含全部文件目錄信息的數據庫,使你可以直接找到所需文件的位置信息。

軟件種類

Server-U

Serv-U是一種被廣泛運用的FTP服務器端軟件,支持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這樣的專門協議,才使得人們能夠通過不同類型的計算機,使用不同類型的操作系統,對不同類型的文件進行相互傳遞。

FileZilla

是一款經典的開源FTP解決方案,包括FileZilla客戶端和FileZillaServer。其中,FileZillaServer的功能比起商業軟件FTP Serv-U毫不遜色。無論是傳輸速度還是安全性方面,都是非常優秀的一款。

VsFTP

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個并發用戶.

IISFTP

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步,切換到“目錄安全性”選項卡,

在該選項卡中主要用于授權或拒絕特定的IP地址連接到FTP站點。例如隻允許某一段IP地址範圍内的計算機連接到FTP站點,則應該選中“拒絕訪問”單選框。然後單擊“添加”按鈕,在打開的“授權訪問”對話框中選中“一組計算機”單選框。然後在“網絡标識”編輯框中輸入特定的網段),并在“子網掩碼”編輯框中輸入子網掩碼。最後單擊“确定”按鈕。

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

工作模式

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

主動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

為了解決服務器發起到客戶的連接的問題,人們開發了一種不同的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。

相關詞條

相關搜索

其它詞條