❶ 如何為被動模式FTP伺服器配置Windows防火牆 詳細�0�3
通過打開到 TCP 埠號 21 的「命令通道」連接,標准模式 FTP 客戶端會啟動到伺服器的會話。客戶端通過將 PORT 命令發送到伺服器請求文件傳輸。然後,伺服器會嘗試啟動返回到 TCP 埠號 20 上客戶端的「數據通道」連接。客戶端上運行的典型防火牆將來自伺服器的此數據通道連接請求視為未經請求,並會丟棄數據包,從而導致文件傳輸失敗。 Windows Vista 和 Windows Server 2008 中的 高級安全 Windows 防火牆 支持有狀態 FTP ,該 FTP 允許將埠 20 上的入站連接請求與來自客戶端的先前出站 PORT 命令相匹配。但是,如果您通過 SSL 使用 FTP 來加密和保護 FTP 通信,則防火牆不再能夠檢查來自伺服器的入站連接請求,並且這些請求會被阻止。 為了避免此問題, FTP 還支持「被動」操作模式,客戶端在該模式下啟動數據通道連接。客戶端未使用 PORT 命令,而是在命令通道上發送 PASV 命令。伺服器使用 TCP 埠號進行響應,客戶端應連接到該埠號來建立數據通道。默認情況下,伺服器使用極短范圍( 1025 到 5000 )內的可用埠。為了更好保護伺服器的安全,您可以限制 FTP 服務使用的埠范圍,然後創建一個防火牆規則:僅在那些允許的埠號上進行 FTP 通信。 本主題將討論執行以下操作的方法: 1. 配置 FTP 服務以便僅將有限數量的埠用於被動模式 FTP 2. 配置入站防火牆規則以便僅在允許的埠上進行入站 FTP 連接 以下過程顯示在 Internet 信息服務 (IIS) 7.0 版上配置 FTP 服務的步驟。如果您使用其他 FTP 服務,請查閱產品文檔以找到相應的步驟。配置對 SSL 的支持不在本主題的討論范圍之內。有關詳細信息,請參閱 IIS 文檔。 配置 FTP 服務以便僅將有限數量的埠用於被動模式 FTP 1. 在 IIS 7.0 管理器中的「連接」窗格中,單擊伺服器的頂部節點。 2. 在細節窗格中,雙擊「FTP 防火牆支持」。 3. 輸入您希望 FTP 服務使用的埠號的范圍。例如,41000-41099 允許伺服器同時支持 100 個被動模式數據連接。 4. 輸入防火牆的外部 IPv4 地址,數據連接通過該地址到達。 5. 在「操作」窗格中,單擊「應用」保存您的設置。 還必須在 FTP 伺服器上創建防火牆規則,以在前一過程中配置的埠上允許入站連接。盡管您可以創建按編號指定埠的規則,但是,創建打開 FTP 服務所偵聽的任何埠的規則更為容易。通過按前一過程中的步驟操作,您可限制 FTP 偵聽的埠。 配置入站防火牆規則以便僅允許到 FTP 所偵聽埠的入站 FTP 連接 1. 打開管理員命令提示符。依次單擊「開始」、「所有程序」和「附件」,右鍵單擊「命令提示符」,然後單擊「以管理員身份運行」。 2. 運行下列命令: 復制代碼 netsh advfirewall firewall add rule name=」FTP Service」 action=allow service=ftpsvc protocol=TCP dir=in 3. 最後,禁用有狀態 FTP 篩選,以使防火牆不會阻止任何 FTP 通信。 復制代碼 netsh advfirewall set global StatefulFTP disable Windows Firewall and non-secure FTP traffic Windows firewall can be configured from command line using netsh command. 2 simple steps are required to setup Windows Firewall to allow non-secure FTP traffic 1) Open port 21 on the firewall netsh advfirewall firewall add rule name="FTP (no SSL)" action=allow protocol=TCP dir=in localport=21 2) Activate firewall application filter for FTP (aka Stateful FTP) that will dynamically open ports for data connections netsh advfirewall set global StatefulFtp enable
❷ 通過FTP軟體的PASV模式,建立與伺服器的被動防火牆連接。。。。怎麼看不懂啊 教教我
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,客戶端在命令鏈路上用 PORT命令告訴伺服器:「我打開了****埠,你過來連接我」。於是伺服器從20埠向客戶端的****埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。
當需要傳送數據時,伺服器在命令鏈路上用 PASV命令告訴客戶端:「我打開了****埠,你過來連接我」。於是客戶端向伺服器的****埠發送連接請求,建立一條數據鏈路來傳送數據。
從上面可以看出,兩種方式的命令鏈路連接方法是一樣的,而數據鏈路的建立方法就完全不同。而FTP的復雜性就在於此。
FTP伺服器端的注意事項
一、FTP伺服器是公網IP,用公網動態域名;或是內網IP,用內網專業版TrueHost
1、伺服器如果安裝了防火牆,請記住要在防火牆上打開FTP埠(默認是21)。
2、所有FTP伺服器軟體都支持PORT方式。至於PASV方式,大部分FTP伺服器軟體都支持。支持PASV方式的FTP伺服器軟體,也可以設置為只工作在PORT方式上。
3、為了PASV方式能正常工作,需要在FTP伺服器軟體上為PASV方式指定可用的埠范圍(設置方法)。此外,還要在伺服器的防火牆上打開這些埠。當客戶端以PASV方式連接伺服器的時候,伺服器就會在這個埠范圍里挑選一個埠出來,給客戶端連接。
二、FTP伺服器是內網IP,用內網動態域名標准版cm*natpro*y
這種情況下,FTP伺服器不需要做特殊設置,只要支持PASV方式就可以了。大部分FTP伺服器軟體都支持PASV方式。
FTP客戶端的注意事項
請注意:選擇用PASV方式還是PORT方式登錄FTP伺服器,選擇權在FTP客戶端,而不是在FTP伺服器。
一、客戶端只有內網IP,沒有公網IP
從上面的FTP基礎知識可知,如果用PORT方式,因為客戶端沒有公網IP,FTP將無法連接客戶端建立數據鏈路。因此,在這種情況下,客戶端必須要用PASV方式,才能連接FTP伺服器。大部分FTP站長發現自己的伺服器有人能登錄上,有人登錄不上,典型的錯誤原因就是因為客戶端沒有公網IP,但用了IE作為FTP客戶端來登錄(IE默認使用PORT方式)。
作為FTP站長,有必要掌握FTP的基礎知識,然後指導您的朋友如何正確登錄您的FTP。
二、客戶端有公網IP,但安裝了防火牆
如果用PASV方式登錄FTP伺服器,因為建立數據鏈路的時候,是由客戶端向伺服器發送連接請求,沒有問題。反過來,如果用PORT方式登錄FTP伺服器,因為建立數據鏈路的時候,是由伺服器向客戶端發送連接請求,此時連接請求會被防火牆攔截。如果要用PORT方式登錄FTP伺服器,請在防火牆上打開 1024以上的高端埠。
三、連接用內網標准版cm*natpro*y搭建的FTP服務,必須要用PASV方式。連接任何公網FTP伺服器、或用內網專業版TrueHost搭建的FTP伺服器,PORT方式和PASV方式都可以使用。
當然,使用PORT方式的時候,還要滿足上面的兩個條件。
四、常見的FTP客戶端軟體PORT方式與PASV方式的切換方法。
大部分FTP客戶端默認使用PASV方式。IE默認使用PORT方式。
在大部分FTP客戶端的設置里,常見到的字眼都是「PASV」或「被動模式」,極少見到「PORT」或「主動模式」等字眼。因為FTP的登錄方式只有兩種:PORT和PASV,取消PASV方式,就意味著使用PORT方式。
IE:
工具 -> Internet選項 -> 高級 -> 「使用被動FTP」(需要IE6.0以上才支持)。
CuteFTP:
Edit -> Setting -> Connection -> Firewall -> 「PASV Mode」
或
File -> Site Manager,在左邊選中站點 -> Edit -> 「Use PASV mode」
FlashGet:
工具 -> 選項 -> 代理伺服器 -> 直接連接 -> 編輯 -> 「PASV模式」
FlashFTP:
選項 -> 參數選擇 -> 代理/防火牆/標識 -> 「使用被動模式」
或
站點管理 -> 對應站點 -> 選項 -> 「使用被動模式」
或
快速連接 -> 切換 -> 「使用被動模式」
LeechFTP:
Option -> Firewall -> Do not Use
五、請盡量不要用IE作為FTP客戶端
IE只是個很粗糙的FTP客戶端工具。首先,IE6.0以下的版本不支持PASV方式;其次,IE在登錄FTP的時候,看不到登錄信息。在登錄出錯的時候,無法找到錯誤的原因。在測試自己的FTP網站的時候,強烈建議不要使用IE。
FTP建站的詳細配置過程
請參考這個網頁的說明來配置:
使用Serv-U建立FTP網站
高級話題
一、為什麼沒有公網IP,也能使用PORT方式登錄FTP?
NAT 網關的工作方式是在TCP/IP數據包的包頭里找區域網的源地址和源埠,替換成網關的地址和埠。對數據包里的內容,是不會改變的。而使用PORT方式登錄FTP的時候,IP地址與埠信息是在數據包裡面的,而不是在包頭。因此,沒有公網IP,使用PORT方式是無法從internet上的ftp伺服器下載數據的。
但是,極少數的NAT網關也支持PORT方式。這些NAT網關連數據包裡面的內容都掃描,掃描到 PORT指令後會替換PORT方式的IP和埠。在這種NAT網關下面,用PORT方式就沒問題了。不過,這些網關也只掃描21埠的數據包,如果FTP 伺服器不是用默認的21埠,也無法使用PORT方式。
二、內網可以用PORT訪問其他FTP,為什麼不能用PORT訪問自己的TrueHost FTP?
下面要討論的問題,只是為了說明一些原理,是不影響實際使用的。如果您沒有興趣深究這些原理,不必花時間看。
內網用戶通過支持PORT方式的NAT網關,訪問自己本機利用TrueHost建立的FTP伺服器,FTP命令鏈路的建立過程如下:
FTP客戶端
10.10.0.1
埠*** <==> ISP NAT網關
61.144.1.2
埠**** <==> TH伺服器
*.*.*.*
埠21 <==> TH客戶端 <==> 用戶FTP伺服器
10.10.0.1
埠21
FTP客戶端通過ISP的NAT網關、科邁TrueHost伺服器、TrueHost客戶端,連接用戶本機的FTP伺服器的21埠。
當需要下載數據的時候,FTP客戶端通過這條命令鏈路,向FTP伺服器發送PORT命令。假設命令為:
PORT 10,10,0,1,30,4 (即IP=10.10.0.1 埠=30*256+4=7684)
當命令通過ISP的NAT網關的時候,NAT網關判斷目的埠是21,並且是PORT命令,於是,修改命令里的IP和埠,替換為自己的IP和埠,比如:
PORT 61,144,1,2,50,6 (即IP=61.144.1.2 埠=50*256+6=12806)
用戶的FTP伺服器最終收到的是上面這個PORT命令。於是,FTP伺服器向這個IP和埠發送連接請求,建立數據鏈路。
用戶FTP伺服器
10.10.0.1
埠20 <==> ISP NAT網關
61.144.1.2
埠12806 <==> FTP客戶端
10.10.0.1
埠7684
但是,因為NAT網關的公網IP只能接收外來的連接請求。就是說,61.144.1.2:12806隻能接收其他公網IP的連接請求,對於從NAT內部(10.10.0.1:20)發起的連接請求,是無法建立連接的。為什麼?原因很簡單,因為內網IP要訪問外網,必須要通過NAT建立映射。於是FTP數據鏈路無法建立。於是,用戶無法在自己的機器上通過21埠訪問自己的TrueHost FTP。
我們再來看看,如果FTP埠不是21,比如是22,會發生什麼情況呢?在FTP客戶端發送PORT命令的時候,NAT網關檢測到目標埠是22,因為支持PORT的 NAT網關只監視目的埠是21的數據包,發現目的埠是22的數據包,不做任何處理,完全放行。於是FTP伺服器收到的PORT命令依然是PORT 10,10,0,1,30,4。於是FTP伺服器向這個IP和埠發送連接請求。
用戶FTP伺服器
10.10.0.1
埠20 <==> FTP客戶端
10.10.0.1
埠7684
這種情況下命令鏈路就可以建立起來了。而且是等於本機連接本機,速度飛快。
綜上所述,內網用戶無法用PORT方式通過21埠訪問自己的TrueHost FTP伺服器。如果FTP埠不是21,則可以訪問,而且實際上是本機連接本機。
❸ 關於FTP被動模式與主動模式中防火牆過濾情況!
主動模式和被動模式是針對伺服器而言。ftp需要建立兩個連接(命令連接和數據連接),主動方式的命令連接由客戶機發起,數據連接由伺服器發起,這樣客戶端的防火牆可能會阻攔;被動連接的兩個連接都由客戶機發起,客戶機的防火牆不會阻攔(就像設置一個門不是為了關自己)。這是主體思想,具體的怎麼連接你上網搜一下,很多的。
回答問題:
不會,一般伺服器都是先前設置好的。
這里考慮的防火牆主要是在建立連接時的作用。
見上。
❹ 為什麼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模式 。
❺ 如何設置windows自帶的ftp使用被動模式上傳
主動式有利於伺服器端管理
但是可能會被客戶端防火牆攔截
被動式由於數據傳輸由客戶端發起出所有不會被客戶端防火牆攔截
但是不利於伺服器管理
使用windows
server搭建完畢
雙擊FTP防火牆
填寫埠和IP即可
例如填寫5000-5100,即為允許100個被動連接(此時可能為灰色需要開通防火牆)
如果埠位置為灰色,需執行以下命令添加防火牆策略
允許ftp
netsh
advfirewall
firewall
add
rule
name="FTP
Service"
action=allow
service=ftpsvc
protocol=TCP
dir=in
netsh
advfirewall
firewall
set
global
StatefulFTP
disable
添加完畢再看埠可以輸入數值
輸入數值
和外部連接的IP地址
點擊應用
此時再次使用被動式連接
即可成功連接
按:
測試發現關閉防火牆無效,填寫被動式埠依然為灰色.
必須添加2條命令
❻ 如何設置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是僅基於TCP的服務,不支持UDP。 與眾不同的是FTP使用2個埠,一個數據埠和一個命令埠(也可叫做控制埠)。通常來說這兩個埠是21(命令埠)和20(數據埠)。但FTP 工作方式的不同,數據埠並不總是20。這就是FTP主動與被動模式的最大不同之處。
(一)主動FTP
主動方式的FTP是這樣的:客戶端從一個任意的非特權埠N(N>1024)連接到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優缺點
主動FTP對FTP伺服器的管理有利,但對客戶端的管理不利。因為FTP伺服器企圖與客戶端的高位隨機埠建立連接,而這個埠很有可能被客戶端的防火牆阻塞掉。被動FTP對FTP客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。
幸運的是,有折衷的辦法。既然FTP伺服器的管理員需要他們的伺服器有最多的客戶連接,那麼必須得支持被動FTP。我們可以通過為FTP伺服器指定一個有 限的埠范圍來減小伺服器高位埠的暴露。這樣,不在這個范圍的任何埠會被伺服器的防火牆阻塞。雖然這沒有消除所有針對伺服器的危險,但它大大減少了危 險。
簡而言之:
主動模式(PORT)和被動模式(PASV)。主動模式是從伺服器端向客戶端發起連接;被動模式是客戶端向伺服器端發起連接。兩者的共同點是都使用 21埠進行用戶驗證及管理,差別在於傳送數據的方式不同,PORT模式的FTP伺服器數據埠固定在20,而PASV模式則在1025-65535之間隨機
FTP主動模式與被動模式的解決與原理
FTP是File Transfer Protocol(文件傳輸協議)的縮寫,用來在兩台計算機之間互相傳送文件。相比於HTTP,FTP協議要復雜得多。復雜的原因,是因為FTP協議要用到兩個TCP連接,一個是命令鏈路,用來在FTP客戶端與伺服器之間傳遞命令;另一個是數據鏈路,用來上傳或下載數據。
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
PORT(主動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,客戶端在命令鏈路上用PORT命令告訴伺服器:「我打開了XXXX埠,你過來連接我」。於是伺服器從20埠向客戶端的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
PASV(被動)方式的連接過程是:客戶端向伺服器的FTP埠(默認是21)發送連接請求,伺服器接受連接,建立一條命令鏈路。當需要傳送數據時,伺服器在命令鏈路上用PASV命令告訴客戶端:「我打開了XXXX埠,你過來連接我」。於是客戶端向伺服器的XXXX埠發送連接請求,建立一條數據鏈路來傳送數據。
概括:
--------------------------------------------------------------------------------
主動模式:伺服器向客戶端敲門,然後客戶端開門
被動模式:客戶端向伺服器敲門,然後伺服器開門
所以,如果你是如果通過代理上網的話,就不能用主動模式,因為伺服器敲的是上網代理伺服器的門,而不是敲客戶端的門
而且有時候,客戶端也不是輕易就開門的,因為有防火牆阻擋,除非客戶端開放大於1024的高端埠
❽ server2008 上用 ftp7.5 要在防火牆里開放哪些埠啊
20號埠,用於FTP控制埠,21號埠,用於FTP傳輸埠;
不知道你知道不知道FTP的主動模式和被動模式,一般客戶機訪問FTP用的都是被動模式,被動模式伺服器會任意打開一個高埠,讓客戶機連進來。也就是說,除了開啟20、21號埠外,還要開一些高於1024的埠,用於客戶機訪問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客戶端的管理有利,但對伺服器端的管理不利。因為客戶端要與伺服器端建立兩個連接,其中一個連到一個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。