當前位置:首頁 » 文件傳輸 » 主動和被動ftp由什麼決定
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

主動和被動ftp由什麼決定

發布時間: 2022-08-26 14:59:13

① 為什麼ftp協議要採用主動和被動兩種模式,有什麼好處

FTP是一種文件傳輸協議,它支持兩種模式, 一種方式叫做Standard(也就是Active, 主動方式),一種是Passive(也就是PASV, 被動方式)。Standard模式FTP的客戶端發送 PORT命令到FTPserver。 Passive模式FTP的客戶端發送PASV命令到 FTPServer。 下面介紹一個這兩種方式的工作原理: Standard模式FTP客戶端首先和FTP Server的TCP21埠建立連接, 通過這個通道發送命令, 客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。 在傳送數據的時候,伺服器端通過自己的TCP 20埠發送數據。FTP server必須和客戶端建立一個新的連接用來傳送數據。 Passive模式在建立控制通道的時候和Standard模式 類似,當客戶端通過這個通道發送PASV命令的時候,FTP server打開一個位於1024和5000之間的隨機埠並且 通知客戶端在這個埠上傳送數據的請求,然後FTP server將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。 現在的FTP軟體裡麵包括在IE5以上的版本裡面也已經支持這兩 種模式了。一般一些FTP客戶端的軟體就比較好設置了, 一般都有一個PASV的選項,比如CuteFTP, 傳輸的方式都有Standard和PASV的選項, 可以自己進行選擇; 另外在IE裡面如果要設置成PASV模式的話可以選中工具- Internet選項-高級-為FTP站點啟用文件夾視圖, 否則就採用Standard模式。 很多防火牆在設置的時候都是不允許接受外部發起的連接的, 所以FTP的Standard模式在許多時候在內部網路的機器通 過防火牆出去的時候受到了限制,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。 當然也可以設置成功, 首先要創建一條規則就是允許內部的IP連接外部的IP的21埠 ;第二條就是禁止外部IP的TCP20埠連接內部IP的< 1024的埠,這條是為了防止外部連接內部的常規埠; 第三條驗證ACK是否等於1, 這個的原理就參見TCP建立連接的三次握手吧。 所以如果安全的配置的話非常困難, 這個時候就想起來了PASV模式,因為不用建立新的連接, 所以也就不會涉及到後面的問題了。 但是管理員可能不想使用PASV模式,因為這個時候FTP Server會開放一個隨機的高埠, 盡管在IIS4和IIS5裡面埠的范圍是1024-5000, 但是許多FTPServer的埠范圍達到了1024- 65535, 這個時候在這個主動開放的隨機埠上是有完全的訪問許可權的, 如果IIS也要設置成開放的埠為1024-65535, 具體方法如下: 1.regedt32 2.找到HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Services\Tcpip\Parameters 3.編輯-添加-數值 ValueName:MaxUserPortData Type:REG_DWORDValue:65534< forexample> 所以如果遇到了有防火牆的話或者怕配置麻煩的話還是採用PASV 模式比較好些, 但是如果真的對安全的需求很高的話建議採用Standard模式 。

② 什麼是ftp主動模式和被動模式

FTP是文件傳輸協議的簡稱,ftp傳輸協議有著眾多的優點所以傳輸文件時使用ftp協議的軟體很多,ftp協議使用的埠是21(也稱為控制埠),其實還有一個數據埠20,根據FTP工作方式的不同,數據埠也不都是20,主動模式的被動模式使用的數據埠是不一樣的,下面我就一步一步介紹主動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協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。 PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請 求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT 命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的 XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。 PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請 求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV 命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠 發送連接請求,建立一條數據鏈路來傳送數據。 從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完 全不同。而FTP的復雜性就在於此。

④ 獨家:主動模式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會用自己的20埠去主動得跟客戶端建立連接,當客戶端網路做NAT的時候會發生錯誤。把NAT的埠認為是客戶端與FTP 20埠建立連接的 被動模式就是當建立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會用自己的20埠去主動得跟客戶端建立連接,當客戶端網路做NAT的時候會發生錯誤。把NAT的埠認為是客戶端與FTP 20埠建立連接的

被動模式就是當建立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協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。 PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請 求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT 命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的 XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。 PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請 求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV 命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠 發送連接請求,建立一條數據鏈路來傳送數據。 從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完 全不同。而FTP的復雜性就在於此。