溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么理解ftp協(xié)議

發(fā)布時間:2021-11-20 10:37:56 來源:億速云 閱讀:147 作者:柒染 欄目:云計算

怎么理解ftp協(xié)議,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學(xué)習下,希望你能有所收獲。

FTP 是File Transfer Protocol(   文件傳輸協(xié)議   )的英文簡稱,而中文簡稱為“文傳協(xié)議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應(yīng)用程序(Application)。用戶可以通過它把自己的PC機與世界各地所有運行FTP協(xié)議的服務(wù)器相連,訪問服務(wù)器上的大量程序和信息。FTP的主要作用,就是讓用戶連接上一個遠程計算機(這些計算機上運行著FTP服務(wù)器程序)察看遠程計算機有哪些文件,然后把文件從遠程計算機上拷到本地計算機,或把本地計算機的文件送到遠程計算機去。  

工作原理

舉例說明

  以下載文件為例,當你啟動FTP從遠程計算機拷貝文件時實際上啟動了兩個程序:一個本地機上的FTP客戶程序,它向FTP服務(wù)器提出拷貝文件的請求。另一個是啟動在遠程計算機的上的FTP服務(wù)器程序,它響應(yīng)你的請求把你指定的文件傳送到你的計算機中。FTP采用“客戶機/服務(wù)器”方式,用戶端要在自己的本地計算機上安裝FTP客戶程序。FTP客戶程序有字符界面和圖形界面兩種。字符界面的FTP的命令復(fù)雜、繁多。圖形界面的FTP客戶程序,操作上要簡潔方便的多。

文件傳輸協(xié)議

  簡單地說,支持FTP協(xié)議的服務(wù)器就是FTP服務(wù)器,下面介紹一下什么是FTP協(xié)議。(文件傳輸協(xié)議)

  一般來說,用互聯(lián)網(wǎng)的首要目的就是實現(xiàn)信息共享,文件傳輸是信息共享非常重要的一個內(nèi)容之一。Internet上早期實現(xiàn)傳輸文件,并不是一件容易的事,我們知道 Internet是一個非常復(fù)雜的計算機環(huán)境,有PC,有工作站,有MAC,有大型機,而連接在Internet上的計算機有上千萬臺,并且這些計算機可能運行不同的操作系統(tǒng),有運行Unix的服務(wù)器,也有運行Dos、Windows的PC機和運行MacOS的蘋果機等等,而各種操作系統(tǒng)之間的文件交流問題,需要建立一個統(tǒng)一的文件傳輸協(xié)議,這就是所謂的FTP?;诓煌牟僮飨到y(tǒng)有不同的FTP應(yīng)用程序,而所有這些應(yīng)用程序都遵守同一種協(xié)議,這樣用戶就可以把自己的文件傳送給別人,或者從其它的用戶環(huán)境中獲得文件。

服務(wù)器系統(tǒng)

  與大多數(shù)Internet服務(wù)一樣,F(xiàn)TP也是一個客戶機/服務(wù)器系統(tǒng)。用戶通過一個支持FTP協(xié)議的客戶機程序,連接到在遠程主機上的FTP服務(wù)器程序。用戶通過客戶機程序向服務(wù)器程序發(fā)出命令,服務(wù)器程序執(zhí)行用戶所發(fā)出的命令,并將執(zhí)行的結(jié)果返回到客戶機。比如說,用戶發(fā)出一條命令,要求服務(wù)器向用戶傳送某一個文件的一份拷貝,服務(wù)器會響應(yīng)這條命令,將指定文件送至用戶的機器上??蛻魴C程序代表用戶接收到這個文件,將其存放在用戶目錄中。

  在FTP的使用當中,用戶經(jīng)常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。

  使用FTP時必須首先登錄,在遠程主機上獲得相應(yīng)的權(quán)限以后,方可下載或上傳文件。也就是說,要想同哪一臺計算機傳送文件,就必須具有哪一臺計算機的適當授權(quán)。換言之,除非有用戶ID和口令,否則便無法傳送文件。這種情況違背了Internet的開放性,Internet上的FTP主機何止千萬,不可能要求每個用戶在每一臺主機上都擁有帳號。匿名FTP就是為解決這個問題而產(chǎn)生的。

  匿名FTP是這樣一種機制,用戶可通過它連接到遠程主機上,并從其下載文件,而無需成為其注冊用戶。系統(tǒng)管理員建立了一個特殊的用戶ID,名為anonymous, Internet上的任何人在任何地方都可使用該用戶ID。

  通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字符串。習慣上,用自己的E-mail地址作為口令,使系統(tǒng)維護程序能夠記錄下來誰在存取這些文件。

  值得注意的是,匿名FTP不適用于所有Internet主機,它只適用于那些提供了這項服務(wù)的主機。

  當遠程主機提供匿名FTP服務(wù)時,會指定某些目錄向公眾開放,允許匿名存取。系統(tǒng)中的其余目錄則處于隱匿狀態(tài)。作為一種安全措施,大多數(shù)匿名FTP主機都允許用戶從其下載文件,而不允許用戶向其上傳文件,也就是說,用戶可將匿名FTP主機上的所有文件全部拷貝到自己的機器上,但不能將自己機器上的任何一個文件拷貝至匿名FTP主機上。即使有些匿名FTP主機確實允許用戶上傳文件,用戶也只能將文件上傳至某一指定上傳目錄中。隨后,系統(tǒng)管理員會去檢查這些文件,他會將這些文件移至另一個公共下載目錄中,供其他用戶下載,利用這種方式,遠程主機的用戶得到了保護,避免了有人上傳有問題的文件,如帶病毒的文件。

  作為一個Internet用戶,可通過FTP在任何兩臺Internet主機之間拷貝文件。但是,實際上大多數(shù)人只有一個Internet帳戶,F(xiàn)TP主要用于下載公共文件,例如共享軟件、各公司技術(shù)支持文件等。 Internet上有成千上萬臺匿名FTP主機,這些主機上存放著數(shù)不清的文件,供用戶免費拷貝。實際上,幾乎所有類型的信息,所有類型的計算機程序都可以在Internet上找到。這是Internet吸引我們的重要原因之一。

匿名ftp

  匿名FTP使用戶有機會存取到世界上最大的信息庫,這個信息庫是日積月累起來的,并且還在不斷增長,永不關(guān)閉,涉及到幾乎所有主題。而且,這一切是免費的。

  匿名FTP是Internet網(wǎng)上發(fā)布軟件的常用方法。Internet之所以能延續(xù)到今天,是因為人們使用通過標準協(xié)議提供標準服務(wù)的程序。像這樣的程序,有許多就是通過匿名FTP發(fā)布的,任何人都可以存取它們。

  Internet中的有數(shù)目巨大的匿名FTP主機以及更多的文件,那么到底怎樣才能知道某一特定文件位于哪個匿名FTP主機上的那個目錄中呢?這正是Archie服務(wù)器所要完成的工作。Archie將自動在FTP主機中進行搜索,構(gòu)造一個包含全部文件目錄信息的數(shù)據(jù)庫,使你可以直接找到所需文件的位置信息。

   

FTP的用戶分類及權(quán)限歸屬

Real帳戶

  這類用戶是指在FTP服務(wù)上擁有帳號。當這類用戶登錄FTP服務(wù)器的時候,其默認的主目錄就是其帳號命名的目錄。但是,其還可以變更到其他目錄中去。如系統(tǒng)的主目錄等等。

Guest用戶

  在FTP服務(wù)器中,我們往往會給不同的部門或者某個特定的用戶設(shè)置一個帳戶。但是,這個賬戶有個特點,就是其只能夠訪問自己的主目錄。服務(wù)器通過這種方式來保障FTP服務(wù)上其他文件的安全性。這類帳戶,在Vsftpd軟件中就叫做Guest用戶。擁有這類用戶的帳戶,只能夠訪問其主目錄下的目錄,而不得訪問主目錄以外的文件。

Anonymous(匿名)用戶

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

  在組建FTP服務(wù)器的時候,我們就需要根據(jù)用戶的類型,對用戶進行歸類。默認情況下,Vsftpd服務(wù)器會把建立的所有帳戶都歸屬為Real用戶。但是,這往往不符合企業(yè)安全的需要。因為這類用戶不僅可以訪問自己的主目錄,而且,還可以訪問其他用戶的目錄。這就給其他用戶所在的空間 帶來一定的安全隱患。所以,企業(yè)要根據(jù)實際情況,修改用戶所在的類別。[1]

 

FTP客戶端

  ftp客戶端。體積可以說是最小的了,只有330K,免費中文版不需要漢化和破解的緣故吧。功能也非常強大,應(yīng)有盡有。可以支持多線程上傳;還支持直接上傳壓縮包后在空間上直接解壓。

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

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

  涵蓋其它FTP工具功能

  獨家支持多線程上傳,使上傳速度更快更穩(wěn)定。

  同時支持直接上傳壓縮包,可在空間上直接解壓。也可以在空間上壓縮后直接下載壓縮包。

  8uftp 2.6 升級功能

  1.增加遠程ftp目錄的復(fù)制URL功能

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

 

通過FTP傳輸文件的一般步驟

命令提示

  需要進行遠程文件傳輸?shù)挠嬎銠C必須安裝和運行ftp客戶程序。在windows操作系統(tǒng)的安裝過程中,通常都安裝了tcp/ip協(xié)議軟件,其中就包含了ftp客戶程序。但是該程序是字符界面而不是圖形界面,這就必須以命令提示符的方式進行操作,很不方便。

  啟動ftp客戶程序工作的另一途徑是使用ie瀏覽器,用戶只需要在ie地址欄中輸入如下格式的url地址:ftp://[用戶名:口令@]ftp服務(wù)器域名[:端口號]

  (在CMD命令行下也可以用上述方法連接,通過put命令和get命令達到上傳和下載的目的,通過ls命令列出目錄,除了上述方法外還可以在cmd下輸入ftp回車,然后輸入open IP來建立一個連接,此方法還適用于linux下連接ftp服務(wù)器)

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

  1.在本地電腦上登陸到國際互聯(lián)網(wǎng).

  2.搜索有文件共享主機或者個人電腦(一般有專門的FTP服務(wù)器網(wǎng)站上公布的,上面有進入該主機或個人電腦的名稱,口令和路徑).

  3.當與遠程主機或者對方的個人電腦建立連接后,用對方提供的用戶名和口令登陸到該主機或?qū)Ψ降膫€人電腦.

  4.在遠程主機或?qū)Ψ降膫€人電腦登陸成功后,就可以上傳你想跟別人分享的東西或者下載別人授權(quán)共享的東西(這里的東西是指能放到電腦里去又能在顯示屏上看到的東西).

  5.完成工作后關(guān)閉FTP下載軟件,切斷連接.

  為了實現(xiàn)文件傳輸,用戶還要運行專門的文件傳輸程序,比如網(wǎng)際快車就有這方面的功能,其它還有很多專門的FTP傳輸軟件,FlashFxp為其中的杰出軟件。有興趣的網(wǎng)友可以試試其他的軟件,如LeapFTP總歸各有各的特色.

FTP協(xié)議

  TCP/IP協(xié)議中,F(xiàn)TP標準命令TCP端口號為21,Port方式數(shù)據(jù)端口為20。FTP協(xié)議的任務(wù)是從一臺計算機將文件傳送到另一臺計算機,它與這兩臺計算機所處的位置、聯(lián)接的方式、甚至是是否使用相同的操作系統(tǒng)無關(guān)。假設(shè)兩臺計算機通過ftp協(xié)議對話,并且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統(tǒng)使用上有某一些細微差別,但是每種協(xié)議基本的命令結(jié)構(gòu)是相同的。

  FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數(shù)據(jù)傳輸模式。

  1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調(diào)整文件的內(nèi)容以便于把文件解釋成另外那臺計算機存儲文本文件的格式。

  但是常常有這樣的情況,用戶正在傳輸?shù)奈募牟皇俏谋疚募鼈兛赡苁浅绦?,?shù)據(jù)庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字庫等信息的非打印字符)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。

  2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應(yīng)的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執(zhí)行文件到Windows系統(tǒng),在對方系統(tǒng)上,此文件不能執(zhí)行。

  如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉(zhuǎn)譯。這會使傳輸稍微變慢 ,也會損壞數(shù)據(jù),使文件變得不能用。(在大多數(shù)計算機上,ASCII方式一般假設(shè)每一字符的第一有效位無意義,因為ASCII字符組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩臺機器是同樣的,則二進制方式對文本文件和數(shù)據(jù)文件都是有效的。

  5. FTP的工作方式

  FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發(fā)送 PORT 命令到FTP服務(wù)器。Passive模式FTP的客戶端發(fā)送 PASV命令到 FTP Server。

  下面介紹一個這兩種方式的工作原理:

  Port模式FTP 客戶端首先和FTP服務(wù)器的TCP 21端口建立連接,通過這個通道發(fā)送命令,客戶端需要接收數(shù)據(jù)的時候在這個通道上發(fā)送PORT命令。 PORT命令包含了客戶端用什么端口接收數(shù)據(jù)。在傳送數(shù)據(jù)的時候,服務(wù)器端通過自己的TCP 20端口連接至客戶端的指定端口發(fā)送數(shù)據(jù)。 FTP server必須和客戶端建立一個新的連接用來傳送數(shù)據(jù)。

  Passive模式在建立控制通道的時候和Standard模式類似,但建立連接后發(fā)送的不是Port命令,而是Pasv命令。FTP服務(wù)器收到Pasv命令后,隨機打開一個臨時端口(也叫自由端口,端口號大于1023小于65535)并且通知客戶端在這個端口上傳送數(shù)據(jù)的請求,客戶端連接FTP服務(wù)器此端口,然后FTP服務(wù)器將通過這個端口進行數(shù)據(jù)的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。

  很多防火墻在設(shè)置的時候都是不允許接受外部發(fā)起的連接的,所以許多位于防火墻后或內(nèi)網(wǎng)的FTP服務(wù)器不支持PASV模式,因為客戶端無法穿過防火墻打開FTP服務(wù)器的高端端口;而許多內(nèi)網(wǎng)的客戶端不能用PORT模式登陸FTP服務(wù)器,因為從服務(wù)器的TCP 20無法和內(nèi)部網(wǎng)絡(luò)的客戶端建立一個新的連接,造成無法工作。

  FTP軟件可以更好的幫助你管理FTP目錄 提供更系統(tǒng)的工具

  FTP工具推薦使用 cuteftp

  主動和被動模式FTP有兩種使用模式:主動和被動。主動模式要求客戶端和服務(wù)器端同時打開并且監(jiān)聽一個端口以建立連接。在這種情況下,客戶端由于安裝了防火墻會產(chǎn)生一些問題。所以,創(chuàng)立了被動模式。被動模式只要求服務(wù)器端產(chǎn)生一個監(jiān)聽相應(yīng)端口的進程,這樣就可以繞過客戶端安裝了防火墻的問題。

  一個主動模式的FTP連接建立要遵循以下步驟:

  客戶端打開一個隨機的端口(端口號大于1024,在這里,我們稱它為x),同時一個FTP進程連接至服務(wù)器的21號命令端口。此時,源端口為隨機端口x,在客戶端,遠程端口為21,在服務(wù)器。

  客戶端開始監(jiān)聽端口(x+1),同時向服務(wù)器發(fā)送一個端口命令(通過服務(wù)器的21號命令端口),此命令告訴服務(wù)器客戶端正在監(jiān)聽的端口號并且已準備好從此端口接收數(shù)據(jù)。這個端口就是我們所知的數(shù)據(jù)端口。

  服務(wù)器打開20號源端口并且建立和客戶端數(shù)據(jù)端口的連接。此時,源端口為20,遠程數(shù)據(jù)端口為(x+1)。

  客戶端通過本地的數(shù)據(jù)端口建立一個和服務(wù)器20號端口的連接,然后向服務(wù)器發(fā)送一個應(yīng)答,告訴服務(wù)器它已經(jīng)建立好了一個連接。

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

ftp
AI