⑴ FTP客戶端可以通過哪幾種方式連接FTP伺服器
一個完整的FTP文件傳輸需要建立兩種類型的連接,一種為文件傳輸下命令,稱為控制連接,另一種實現真正的文件傳輸,稱為數據連接。
1. 控制連接
客戶端希望與FTP伺服器建立上傳下載的數據傳輸時,它首先向伺服器的TCP 21埠發起一個建立連接的請求,FTP伺服器接受來自客戶端的請求,完成連接的建立過程,這樣的連接就稱為FTP控制連接
2.數據連接
FTP控制連接建立之後,即可開始傳輸文件,傳輸文件的連接稱為FTP數據連接。
想要使用FTP,我個人建議使用
IIS7伺服器管理工具裡面的FTP功能可以說是使用感非常棒的。它的命名是上傳下載,這個命名就已經非常直觀的讓我們感受到了這個功能的主要作用。但它裡面的功能可遠遠不止這些。它可以進行批量操作、定時同步(上傳和下載)和多任務同時進行等等一些功能。這可比傳統的FTP工具好用的多。
當然,既然它的FTP工具都這么實用,那它其他功能必定也不會太差。IIS7伺服器批量管理工具好處:批量管理、同步操作、到期提醒、數據安全和定期執行。適用系統:Windows和liunx操作系統。支持Vnc和Ftp批量操作。程序自動更新不會讓你飽受更新的摧殘,省了一大筆事。畢竟現在的軟體更新的時候都需要進行重新下載安裝,非常麻煩。
⑵ FTP客戶端可以通過哪幾種方式連接FTP伺服器
主動連接 PORT
和被動連接 PASV 方式
他們的區別就是在連接上伺服器之後創建數據通道的時候:
PORT 模式是建立從伺服器高埠連到客戶端20埠數據連接
PASV 模式是建立客戶高埠連到伺服器返回的數據埠的數據連接
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器從20埠向客戶端的空閑埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端向伺服器的空閑埠發送連接請求,建立一條數據鏈路來傳送數據。
FTP僅僅提供了建立在IPv4上進行數據通信的能力,它基於網路地址是32位這一假設。但是,當IPv6出現以後,地址就比32位長許多了。原來對FTP進行的擴展在多協議環境中有時會失敗。針對IPv6對FTP再次進行擴展,兩個FTP命令PORT和PASV通過擴展後,我們稱它們為EPRT和EPSV。
⑶ 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採用的是什麼工作模式,可以實現的文件傳輸方式有哪兩種
FTP是在TCP/IP協議中傳輸數據,標準的命令使用的是TCP協議的21號埠,數據傳輸埠使用的是TCP協議的20號埠。
FTP的文件傳輸方式有兩種:
1、ASCII模式。ASCII模式一般用來傳輸文本文件;
2、binary模式。除了文本文件外的其他文件用binary模式。
FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為「文傳協議」。用於Internet上的控制文件的雙向傳輸。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件。常用的ftp文件傳輸命令為:bin、asc、put、get、mput、mget、prompt、bye。
⑹ FTP協議有兩種工作方式是什麼
Ftp協議的兩種工作模式:主動模式active和被動模式passive
FTP 是一種數據傳輸協議 (File Transfer Protocol),它的連接模式有兩種: 主動模式( active )和被動模式( passive )。
以下說明FTP的連接是怎樣建立的:
在 active 模式下 (一般預設的模式):
FTP client 開啟一個隨機選擇的TCP port 呼叫 FTP server 的 port 21請求建立連接。當完成 Three-Way Handshake 之後,連接就成功建立,但這僅是命令通道的建立。
當兩端需要傳送數據資料的時候,client 透過命令通道用一個 port command 告訴 server ,client可以用另一個TCP port 做數據通道。
然後 server 用 port 20 和剛才client 所告知的 TCP port 建立數據連接。注意:連接方向是從server 到 client 的,TCP 分組中會有一個 SYN flag。
然後 client 會返回一個帶 ACK flag的確認分組,並完成另一次的 Three-Way Handshake 過程。這時候,數據連接才能成功建立。開始數據傳送。
在 passive 模式下:
FTP client 開啟一個隨機選擇的TCP port 呼叫 FTP server 的 port 21請求建立連接,完成命令通道的建立。
當兩端需要傳送數據的時候,client 通過命令通道發送一個 PASV command 給server,要求進入 passive 傳輸模式。
然後 server 像上述的正常模式之第 2 步驟那樣,挑一個TCP port ,並用命令通道告訴 client。
然後 client 用另一個TCP port 呼叫剛才 server 告知的 TCP port 來建立數據通道。此時分組中帶有 SYN flag。
server 確認後回送一個 ACK 分組。並完成所有握手過程、成功建立數據通道。
開始數據傳送。 在實際使用中, active mode 用來登入一些架設在主機上沒有安裝防火牆的 FTP server,或是架設在 client side 的 FTP server! Passive mode (簡稱 PASV)用來登陸一些架設於防火牆保護下而又是開設於主機上的 FTP server!
⑺ 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不很了解的朋友。
⑻ 登錄ftp的三種方式
FTP有三種方式,匿名登錄、本地用戶登錄和虛擬用戶登錄。
匿名登錄:在登錄FTP時使用默認的用戶名,一般是ftp或anonymous。
本地用戶登錄:使用系統用戶登錄,在/etc/passwd中。
虛擬用戶登錄:這是FTP專有用戶,有兩種方式實現虛擬用戶,本地數據文件和資料庫伺服器。
FTP特點如下:
(一)FTP使用兩個平行連接:控制連接和數據連接。控制連接在兩主機間傳送控制命令,如用戶身份、口令、改變目錄命令等。數據連接只用於傳送數據。
(二)在一個會話期間,FTP伺服器必須維持用戶狀態,也就是說,和某一個用戶的控制連接不能斷開。另外,當用戶在目錄樹中活動時,伺服器必須追蹤用戶的當前目錄,這樣,FTP就限制了並發用戶數量。
(三)FTP支持文件沿任意方向傳輸。當用戶與一遠程計算機建立連接後,用戶可以獲得一個遠程文件也可以將一本地文件傳輸至遠程機器。
⑼ ftp怎麼登錄連接
1、打開電腦界面,雙擊一個瀏覽器
注意事項:
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive(也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
默認情況下FTP協議使用TCP埠中的 20和21這兩個埠,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸埠就是20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。
⑽ ftp的兩種傳輸模式簡述
當FTP工作在主動模式下時,客戶端首先發起連接請求,與伺服器的21號埠建立控制連接,連接成功後,客戶端方藉此發送命令。若客戶端需要傳輸數據,客戶端會通過已建立的連接通道向伺服器發送信息,告知伺服器客戶端中接收數據的埠,之後伺服器則通過20號埠連接到客戶端指定的埠並傳送數據,在主動模式下,控制連接的發起方是FTP客戶機,而數據連接的發起方為FTP伺服器。
當FTP工作在被動模式下時,客戶端首先發起連接請求,與伺服器的21號埠建立控制連接。之後仍由客戶端發送信息,請求與伺服器建立數據連接,伺服器接收到此請求後,會隨機打開一個高端埠(埠號一般大於1024),並將該埠號告知客戶端,此時客戶端與伺服器的該埠再建立數據連接,通過該通道進行數據傳遞。在被動模式下,控制連接和數據連接的發起方都為客戶機。關於FTP的知識,可以到黑馬程序員學習,這些知識免費學哦!