FTP協議詳解

2021-06-21 00:35:23 字數 4549 閱讀 8120

簡單地說,支援ftp協議的伺服器就是ftp伺服器,下面介紹一下什麼是ftp協議。(檔案傳輸協議)

一般來說,用網際網路的首要目的就是實現資訊共享,檔案傳輸是資訊共享非常重要的乙個內容之一。internet上早期實現傳輸檔案,並不是一件容易的事,我們知道 internet是乙個非常複雜的計算機環境,有pc,有工作站,有mac

,有大型機,而連線在internet上的計算機有上千萬臺,並且這些計算機可能執行不同的作業系統,有執行unix的伺服器

,也有執行dos、windows的pc機和執行macos的蘋果

機等等,而各種作業系統之間的檔案交流問題,需要建立乙個統一的檔案傳輸協議,這就是所謂的ftp。基於不同的作業系統有不同的ftp應用程式,而所有這些應用程式都遵守同一種協議,這樣使用者就可以把自己的檔案傳送給別人,或者從其它的使用者環境中獲得檔案。

與大多數internet服務

一樣,ftp也是乙個客戶機/伺服器系統。使用者通過乙個支援ftp協議的客戶機程式,連線到在遠端主機上的ftp伺服器程式。使用者通過客戶機程式向伺服器程式發出命令,伺服器程式執行使用者所發出的命令,並將執行的結果返回到客戶機。比如說,使用者發出一條命令,要求伺服器向使用者傳送某乙個檔案的乙份拷貝,伺服器會響應這條命令,將指定檔案送至使用者的機器上。客戶機程式代表使用者接收到這個檔案,將其存放在使用者目錄中。

通過ftp程式連線匿名ftp主機的方式同連線普通ftp主機的方式差不多,只是在要求提供使用者標識id時必須輸入anonymous,該使用者id的口令可以是任意的字串。習慣上,用自己的e-mail位址作為口令,使系統維護程式能夠記錄下來誰在訪問這些檔案。

值得注意的是,匿名ftp不適用於所有internet主機,它只適用於那些提供了這項服務的主機。

匿名ftp使使用者有機會訪問到世界上最大的資訊庫,這個資訊庫是日積月累起來的,並且還在不斷增長,永不關閉,涉及到幾乎所有主題。而且,這一切是免費的。

匿名ftp是internet網上發布軟體的常用方法。internet之所以能延續到今天,是因為人們使用通過標準協議提供標準服務的程式。像這樣的程式,有許多就是通過匿名ftp發布的,任何人都可以訪問它們。

internet中的有數目巨大的匿名ftp主機以及更多的檔案,那麼到底怎樣才能知道某一特定檔案位於哪個匿名ftp主機上的那個目錄中呢?這正是archie伺服器所要完成的工作。archie將自動在ftp主機中進行搜尋,構造乙個包含全部檔案目錄資訊的資料庫,使你可以直接找到所需檔案的位置資訊。

這類使用者是指在ftp服務上擁有帳號。當這類使用者登入ftp伺服器的時候,其預設的主目錄就是其帳號命名的目錄。但是,其還可以變更到其他目錄中去。如系統的主目錄等等。

在ftp伺服器中,我們往往會給不同的部門或者某個特定的使用者設定乙個帳戶。但是,這個賬戶有個特點,就是其只能夠訪問自己的主目錄。伺服器通過這種方式來保障ftp服務上其他檔案的安全性。這類帳戶,在vsftpd軟體中就叫做guest使用者。擁有這類使用者的帳戶,只能夠訪問其主目錄下的目錄,而不得訪問主目錄以外的檔案。

這也是我們通常所說的匿名訪問。這類使用者是指在ftp伺服器中沒有指定帳戶,但是其仍然可以進行匿名訪問某些公開的資源。

在組建ftp伺服器的時候,我們就需要根據使用者的型別,對使用者進行歸類。預設情況下,vsftpd伺服器會把建立的所有帳戶都歸屬為real使用者。但是,這往往不符合企業安全的需要。因為這類使用者不僅可以訪問自己的主目錄,而且,還可以訪問其他使用者的目錄。這就給其他使用者所在的空間 帶來一定的安全隱患。所以,企業要根據實際情況,修改使用者所在的類別。[1]

ftp客戶端。體積可以說是最小的了,只有330k,免費中文版不需要漢化和破解的緣故吧。功能也非常強大,應有盡有。可以支援多執行緒上傳;還支援直接上傳壓縮包後在空間上直接解壓。

8uftp是非常精闢的ftp客戶端。目前體積最小的ftp客戶端工具。

終身免費中文版,非漢化版,非破解版。

涵蓋其它ftp工具功能

獨家支援多執行緒上傳,使上傳速度更快更穩定。

8uftp 2.6 公升級功能

1.增加遠端ftp目錄的複製url功能

2.增加遠端ftp目錄和本地目錄對比的工具

需要進行遠端檔案傳輸的計算機必須安裝和執行ftp客戶程式。在windows作業系統的安裝過程中,通常都安裝了tcp/ip協議軟體,其中就包含了ftp客戶程式。但是該程式是字元介面而不是圖形介面,這就必須以命令提示符的方式進行操作,很不方便。

通過ie瀏覽器啟動ftp的方法儘管可以使用,但是速度較慢,還會將密碼暴露在ie瀏覽器中而不安全。因此一般都安裝並執行專門的ftp客戶程式。

1.在本地電腦上登陸到國際網際網路.

2.搜尋有檔案共享主機或者個人電腦(一般有專門的ftp伺服器**上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑).

3.當與遠端主機或者對方的個人電腦建立連線後,用對方提供的使用者名稱和口令登陸到該主機或對方的個人電腦.

為了實現檔案傳輸,使用者還要執行專門的檔案傳輸程式,比如網際快車就有這方面的功能,其它還有很多專門的ftp傳輸軟體,flashfxp為其中的傑出軟體。有興趣的網友可以試試其他的軟體,如leapftp總歸各有各的特色.

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命令後,隨機開啟乙個臨時埠(也叫自由埠,埠號大於1023小於65535)並且通知客戶端在這個埠上傳送資料的請求,客戶端連線ftp伺服器此埠,然後ftp伺服器將通過這個埠進行資料的傳送,這個時候ftp server不再需要建立乙個新的和客戶端之間的連線。

很多防火牆在設定的時候都是不允許接受外部發起的連線的,所以許多位於防火牆後或內網的ftp伺服器不支援pasv模式,因為客戶端無法穿過防火牆開啟ftp伺服器的高階埠;而許多內網的客戶端不能用port模式登陸ftp伺服器,因為從伺服器的tcp 20無法和內部網路的客戶端建立乙個新的連線,造成無法工作。

ftp軟體可以更好的幫助你管理ftp目錄 提供更系統的工具

ftp工具推薦使用 cuteftp

主動和被動模式ftp有兩種使用模式:主動和被動。主動模式要求客戶端和伺服器端同時開啟並且監聽乙個埠以建立連線。在這種情況下,客戶端由於安裝了防火牆會產生一些問題。所以,創立了被動模式。被動模式只要求伺服器端產生乙個監聽相應埠的程序,這樣就可以繞過客戶端安裝了防火牆的問題。

乙個主動模式的ftp連線建立要遵循以下步驟:

客戶端開啟乙個隨機的埠(埠號大於1024,在這裡,我們稱它為x),同時乙個ftp程序連線至伺服器的21號命令埠。此時,源埠為隨機埠x,在客戶端,遠端埠為21,在伺服器。

客戶端開始監聽埠(x+1),同時向伺服器傳送乙個埠命令(通過伺服器的21號命令埠),此命令告訴伺服器客戶端正在監聽的埠號並且已準備好從此埠接收資料。這個埠就是我們所知的資料埠。

伺服器開啟20號源埠並且建立和客戶端資料埠的連線。此時,源埠為20,遠端資料埠為(x+1)。

客戶端通過本地的資料埠建立乙個和伺服器20號埠的連線,然後向伺服器傳送乙個應答,告訴伺服器它已經建立好了乙個連線。

FTP協議詳解

簡單地說,支援ftp協議的伺服器就是ftp伺服器,下面介紹一下什麼是ftp協議。檔案傳輸協議 一般來說,用網際網路的首要目的就是實現資訊共享,檔案傳輸是資訊共享非常重要的乙個內容之一。internet上早期實現傳輸檔案,並不是一件容易的事,我們知道 internet是乙個非常複雜的計算機環境,有pc...

FTP協議詳解

內容轉至 簡單地說,支援ftp協議的伺服器就是ftp伺服器,下面介紹一下什麼是ftp協議。檔案傳輸協議 一般來說,用網際網路的首要目的就是實現資訊共享,檔案傳輸是資訊共享非常重要的乙個內容之一。internet上早期實現傳輸檔案,並不是一件容易的事,我們知道 internet是乙個非常複雜的計算機環...

FTP協議詳解

簡單地說,支援ftp協議的伺服器就是ftp伺服器,下面介紹一下什麼是ftp協議。檔案傳輸協議 一般來說,用網際網路的首要目的就是實現資訊共享,檔案傳輸是資訊共享非常重要的乙個內容之一。internet上早期實現傳輸檔案,並不是一件容易的事,我們知道 internet是乙個非常複雜的計算機環境,有pc...