ftp主動模式的特點
❶ ftp主動模式和被動模式!
FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP伺服器,其二為FTP客戶端。其中FTP伺服器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP伺服器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web伺服器上。此外,由於FTP傳輸效率非常高,在網路上傳輸大的文件時,一般也採用該協議。
默認情況下FTP協議使用TCP埠中的 20 和 21 這兩個埠,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的埠與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸埠就是20;如果採用被動模式,則具體最終使用哪個埠要伺服器端和客戶端協商決定。
FTP支持兩種模式,它在工作運行時也主要是這兩種模式,一種模式叫作Standard也被稱為PORT方式和 主動方式 ,另一種模式叫作Passive也叫作PASV, 被動方式 。Standard模式FTP的客戶端發出PORT命令到伺服器,Passive模式FTP的客戶端發送PASV命令到FTP Server中,從而保證文件相互傳輸正常。
我們使用華為的模擬器Ensp來做一個小實驗。
FTP三次握手有兩次,第一次的TCP三次握手是控制層的握手,第二次是數據層的TCP三次握手
(1)伺服器打開埠 21,等待連接;
(2)客戶端(100.1.12.1)發起控制連接的建立請求,伺服器響應連接,控制連接建立,使用TCP 三次握手(第一次TCP三次握手);
隨機埠的計算
可以看到PORT為 10,0,0,2,8,6
隨機埠計算為: 8*256+6=2054
(3)客戶端通過控制連接發送 PORT 命令(在應用層數據中帶有自己的 ip 地址和臨時埠),將客戶端數據連接的臨時埠號告訴伺服器
(4)伺服器的 20 號埠與客戶端建立起數據連接,使用TCP 三次握手(第二次TCP三次握手);
點擊登出後控制埠斷開連接
FTP三次握手有兩次,第一次的TCP三次握手是控制層的握手,第二次是數據層的TCP三次握手
(1)伺服器打開埠 21,等待連接
(2)客戶端發起控制連接的建立請求,伺服器響應連接,控制連接建立,使用TCP 三次握手(第一次TCP三次握手);
(3)客戶端通過控制連接發送命令字 PASV,告知伺服器處於被動模式;
(4)伺服器回應,將伺服器數據連接的臨時埠號(2060)告訴客戶端;
(5)客戶端與伺服器的臨時埠建立起數據連接,使用TCP 三次握手(第二次TCP三次握手);
❷ 獨家:主動模式FTP與被動模式FTP該如何選擇
FTP是一種文件傳輸協議,主要用來在不同的主機之間實現文件的傳送。通常情況下完成一個文件的傳輸需要有命令連接通道與數據連結通道兩個通道。而建立這些通道的方法不同,又有主動模式與被動模式的區分。在Linux操作系統上,vsFTPd是最常用的一個FTP軟體,其支持這兩種模式。為此系統管理員需要了解這兩種連接模式的不同點,並在實際工作中根據企業的應用情況來選擇合適的模式。一、主動模式的實現與特點。 無論是主動模式還是被動模式,其要進行文件傳輸都必須依次建立兩個連接,分別為命令連接與數據連結。而主動模式與被動模式的差異主要體現在數據連結通道上。為了說明兩者的差異,我將主要對這個數據連結進行比較詳細的說明。 當FTP客戶端需要登陸到FTP伺服器上的時候,伺服器與客戶端需要進行一系列的身份驗證過程,這個過程就叫做命令連接。如在客戶端向伺服器發起連接請求的時候,客戶端會隨即的選擇某個TCP埠來跟FTP伺服器的21號埠進行連接,這主要是通過TCP三方握手來實現的。當三方握手完成之後,客戶端與伺服器之間便建立了命令連接通道。不過這個通道的用途是非常有限的,其主要用來傳輸FTP的相關指令。如查看文件列表、刪除文件等等,而不能夠用來在客戶端與服務端進行文件傳輸。為此這個通道就被稱之為命令通道。而跟數據傳輸相關的為數據通道。 到客戶端與伺服器建立了連接之後,可能客戶端暫時不需要進行數據傳輸。如只是需要查看目錄下的文件或則其他相關的動作。此時之需要命令連接通道就可以完成了。如果此時客戶端需要往FTP伺服器上上傳或者下載文件的話,就需要在客戶端與伺服器端再建立一條額外的數據傳輸連接。當客戶端發出數據傳輸的指令之後(如上傳數據或者下載文件),客戶端會啟用另外一個埠監聽等待連接,並利用先前建立的命令連接通道告訴FTP伺服器其監聽的埠號。然後FTP伺服器會利用埠20和剛才的FTP客戶端所告知的埠再次進行三方握手。三次握手成功後便建立了一條數據傳輸通道。注意此時數據連結通道建立的過程中,是FTP伺服器的20號埠主動連接FTP客戶端的,為此這種連接方式就叫做主動模式。 二、被動模式的實現與特點。 被動操作模式在建立命令連接通道的時候,跟主動操作模式是相同的。兩者主要的差異就在於數據傳輸通道的建立上面。但是如果用戶需要進行數據傳輸的時候,則FTP客戶端會通過命令通道告訴FTP伺服器,如會向伺服器發出一個PASV指令。這個指令就是告訴服務期,要採用被動模式建立連接。如果採用被動操作模式,服務期會選擇自身的一個埠來進行監聽連接(而在主動操作模式下是利用客戶端的一個埠來進行監聽連接),並再次利用命令連接通道告訴客戶端「我為你開啟了哪個埠,你要建立數據連接的話就跟我的哪個埠聯系」。客戶端在接到這個信息後,就會在自己操作系統上選擇一個數據連接的通信埠,與伺服器提供的埠進行三方握手,並最終建立起可以進行數據傳輸的通道。 當企業的網路環境不同,兩個操作模式的應用效果是不同的。這主要是主動操作模式與被動操作模式在數據的傳輸通道建立上有一定的差異。從以上的分析中我們可以看出,在主動操作模式下,FTP伺服器的20號埠是主動同客戶端聯系,建立數據傳輸通道的。而在被動操作模式下,則FTP伺服器是被動的等待,等待客戶段與其的20號埠建立連接。不要小看這個細小的差異,這個差異卻決定了兩者應用環境的不同。 一般來說,如果這個FTP伺服器只對企業的內部區域網客戶提供文件傳輸的服務,那麼基本上兩者的應用效果沒有很大的差異。但是如果企業網路外部的用戶也需要通過互聯網與FTP伺服器進行文件傳輸的話,就會有很大的不同。這主要是因為,在數據通道建立的過程中,客戶端會在另一個埠上監聽等待連接,並利用命令連接通道告訴伺服器其監聽的埠好。然後企業的邊界路由器會將FTP的IP地址轉換為合法的公網IP地址(假設企業由於公網IP地址有限,在邊界路由器上通過NAT服務向外部用戶提供FTP連接)。如果此時採用的是自動操作模式的話,則在連接這個數據通道的過程中FTP伺服器會主動跟邊界路由器的埠進行通信(因為FTP伺服器認為這台邊界路由器,其實就是NAT伺服器,就是FTP客戶段)。但是實際上不是,而且也有可能沒有啟用這個埠。為此客戶端與FTP伺服器之間的連接最終沒有建立起來。所以說,如果採用主動操作模式的話,當FTP伺服器部署在NAT等伺服器後面的時候,則FTP伺服器與客戶端之間只能夠建立命令連接通道,而無法建立起數據傳輸通道。如果FTP伺服器與客戶端之間還有防火牆的話,在連接的過程中也會出現以上類似的情況。 而如果是採用被動操作模式的話,是客戶端主動跟服務期的20號埠進行連接的。為此在數據傳輸通道建立的過程中,即使中間有NAT伺服器或者防火牆,也會准確無誤的連接到FTP伺服器的數據傳輸介面。所以說,如果在客戶端與FTP伺服器之間存在防火牆或者NAT伺服器等類似設備的話,那麼在FTP伺服器部署的時候,最好採用被動操作模式。否則的話,很可能只能夠建立命令連接通道,而無法進行數據傳輸。
❸ 什麼是ftp的主動模式,被動模式,如何設
在使用ftp的時侯,經常遇到ftp鏈接後出現文件列表錯誤的情況,只是因為ftp的模式不正確,如何設置ftp的工作模式,什麼是主動模式,什麼又是被動模式,主動模式和被動模式有什麼區別,今天搜集了相關資料和常用ftp軟體工作模式的設置的方法:
一、什麼是PASV和PORT方式
(1)PORT其實是Standard模式的另一個名字,又稱為Active模式。中文意思是「主動模式。
(2)PASV也就是Passive的簡寫。中文就是「被動模式。
二、兩者不同
不同之處是由於PORT(主動)這個方式需要在接上TCP 21埠後,伺服器通過自己的TCP 20來發出數據。並且需要建立一個新的連接來傳送檔案。而PORT的命令包含一些客戶端沒用的資料,所以有了PASv的出現。而PASV模式擁有PORT模式的優點,並去掉一些PORT的缺點。PASV運行方式就是當伺服器接收到客戶端連接請求時,就會自動從埠1024到5000中隨機選擇一個和客戶端建立連接傳遞數據。由於被動且自動建立連接,容易受到攻擊,所以安全性差。
三、常見的FTP客戶端軟體PORT方式與PASV方式的切換方法
大部分FTP客戶端默認使用PASV方式。IE默認使用PORT方式。 在大部分FTP客戶端的設置里,常見到的字眼都是「PASV」或「被動模式」,極少見到「PORT」或「主動模式」等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。
(1)IE:工具 -> Internet選項 -> 高級 -> 「使用被動FTP」(需要IE6.0以上才支持)。
(2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> 「PASV Mode」 或File -> Site Manager,在左邊選中站點 -> Edit -> 「Use PASV mode」 。
(3)FlashGet:工具 -> 選項 -> 代理伺服器 -> 直接連接 -> 編輯 -> 「PASV模式」。
(4)FlashFXP:選項 -> 參數選擇 -> 代理/防火牆/標識 -> 「使用被動模式」 或 站點管理 -> 對應站點 -> 選項 -> 「使用被動模式」或快速連接 -> 切換 -> 「使用被動模式」。
❹ 什麼是ftp的主動模式和被動模式
關於主動和被動FTP的解釋,可以簡單概括為以下兩點:
1、主動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 <- 伺服器 20埠
2、被動FTP:
命令連接:客戶端 >1024埠 -> 伺服器 21埠
數據連接:客戶端 >1024埠 -> 伺服器 >1024埠
❺ FTP主動模式和被動模式的區別
一、什麼是主動FTP
主動模式的FTP工作原理:客戶端從一個任意的非特權埠N連接到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的解釋,可以簡單概括為以下兩點:
1、主動FTP:
命令連接:客戶端
>1024埠
->
伺服器
21埠
數據連接:客戶端
>1024埠
<-
伺服器
20埠
2、被動FTP:
命令連接:客戶端
>1024埠
->
伺服器
21埠
數據連接:客戶端
>1024埠
->
伺服器
>1024埠
三、主動模式ftp與被動模式FTP優點和缺點:
主動FTP對FTP伺服器的管理和安全很有利,但對客戶端的管理不利。因為FTP伺服器企圖與客戶端的高位隨機埠建立連接,而這個埠很有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。
❻ 什麼是ftp主動模式和被動模式
一、什麼是主動FTP 主動模式的FTP工作原理:客戶端從一個任意的非特權埠N連接到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的解釋,可以簡單概括為以下兩點: 1、主動FTP: 命令連接:客戶端 >1024埠 -> 伺服器 21埠 數據連接:客戶端 >1024埠 <- 伺服器 20埠 2、被動FTP: 命令連接:客戶端 >1024埠 -> 伺服器 21埠 數據連接:客戶端 >1024埠 -> 伺服器 >1024埠 三、主動模式ftp與被動模式FTP優點和缺點: 主動FTP對FTP伺服器的管理和安全很有利,但對客戶端的管理不利。因為FTP伺服器企圖與客戶端的高位隨機埠建立連接,而這個埠很有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。
❼ ftp的主動模式和被動模式的區別
主動FTP對FTP伺服器的管理有利,但對客戶端的管理不利。因為FTP伺服器企圖與客戶端的高位隨機埠建立連接,而這個埠很有可能被客戶端的防火牆阻塞掉。
被動FTP對FTP客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。
❽ ftp的特點是什麼
【特點】FTP協議具有4個基本特點:
1、提供互動式的訪問,使得用戶更容易通過 操作命令與遠程系統交互。
2、允許客戶指定存儲文件的類型與格式。
3、具備鑒別控制能力,允許文件具有存取權 限。
4、屏蔽了計算機系統的細節,因而適合於在 異構網路中任意計算機之間傳送文件。
二、FTP的運行機制主要包括:FTP伺服器、匿名FTP。
1、FTP伺服器
FTP也是一個客戶機/伺服器系統。簡單地說,支持FTP協議的伺服器就是FTP伺服器。
用戶通過一個支持FTP協議的客戶機程序,連接到在遠程主機上的FTP伺服器程序。用戶通過客戶機程序向伺服器程序發出命令,伺服器程序執行用戶所發出的命令,並將執行的結果返回到客戶機。
2、匿名FTP
在匿名FTP機制下,用戶可通過它連接到遠程主機上,並從其下載文件,而無需成為其注冊用戶。系統管理員建立了一個特殊的用戶ID,名為anonymous,Internet上的任何人在任何地方都可使用該用戶ID。
通過FTP程序連接匿名FTP主機的方式同連接普通FTP主機的方式差不多,只是在要求提供用戶標識ID時必須輸入anonymous,該用戶ID的口令可以是任意的字元串。
網路—ftp
網路—FTP協議
❾ FTP協議當中的主動模式和被動模式怎麼理解
主動就是你鏈接伺服器。被動就是伺服器鏈接你