設為首頁收藏本站

 取回密碼
 註冊
搜尋
熱搜: Redump discuz
檢視: 509|回覆: 4

【教學】 FTP二種模式-- Standard vs PASV

[複製連結]
發表於 2002年10月7日 05:43:50 | 顯示全部內容 |閱讀模式
字體大小 16px
10px 32px
[教學]FTP二種模式-- Standard vs PASV   

--------------------------------------------------------------------------------

為了讓大家更明白在使用FTP軟體做檔案傳輸時,為何要在PASV之間做切換的動作,特地去找了這篇文章,看完之後,應該就知道原理了吧~~

===============================================
FTP是一種檔傳輸協定,它支援兩種模式,一種方式叫做Standard (也就是 Active,主動式),一種是 Passive (也就是PASV,被動式)。 Standard模式 FTP的用戶端發送 PORT 命令到FTPserver。Passive模式FTP的用戶端發送 PASV命令到 FTP Server。

下面介紹一個這兩種方式的工作原理:
Standard模式FTP 用戶端首先和FTP Server的TCP 21 prot建立連接,通過這個通道發送命令,用戶端需要接收資料的時候在這個通道上發送PORT命令。 PORT命令包含了用戶端用什麼port接收資料。在傳送資料的時候,伺服器端通過自己的TCP 20port發送資料。 FTP server必須和用戶端建立一個新的連接用來傳送資料。

Passive模式在建立控制通道的時候和Standard模式類似,當用戶端通過這個通道發送PASV 命令的時候,FTP server打開一個位於1024和5000之間的隨機port並且通知用戶端在這個port上傳送資料的請求,然後FTP server 將通過這個port進行資料的傳送,這個時候FTP server不再需要建立一個新的和用戶端之間的連接。

很多防火牆在設置的時候都是不允陰筐~部發起的連接的,所以FTP的Standard模式在釵h時候在內部網路的機器通過防火牆出去的時候受到了限制,因為從伺服器的TCP 20 port無法和內部網路的用戶端建立一個新的連接,造成無法工作。當然也可以設置成,首先要創建一條規則就是允酗熙〞截P連接外部的IP的21 port;第二條就是禁止外部IP的TCP 20 port連接內部IP的<1024的port,這條是為了防止外部連接內部的常規port;第三條驗證ACK是否等於1,這個的原理就參見TCP建立連接的三次握手吧。所以如果安全的配置的話非常困難,這個時候就想起來了PASV模式,因為不用建立新的連接,所以也就不會涉及到後面的問題了。但是管理員可能不想使用PASV模式,因為這個時候FTP Server會開放一個隨機的port,儘管在IIS4和IIS5裏面port的範圍是1024-5000,但是釵hFTP Server的port範圍達到了1024-65535,這個時候在這個主動開放的隨機port上是有完全的訪問野i權的,如果IIS也要設置成開放的port為1024-65535,具體方法如下:
1. regedt32
2. 找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters
3. 編輯-添加-數值
Value Name: MaxUserPort Data Type: REG_DWORD Value: 65534 <for example&g t;

所以如果遇到了有防火牆的話或者怕配置麻煩的話還是採用PASV模式比較好些,但是如果真的對安全的需求很高的話建議採用Standard模式。

這份教學是momoca在無限的朋友garynp兄
由簡轉繁的作品..並加以修飾文中不順之文句..
作者文章推薦
發表於 2002年10月11日 11:57:10 | 顯示全部內容
啊哈.....
好東西謝謝分享~ 辛苦了!
發表於 2003年3月15日 13:51:18 | 顯示全部內容
感謝分享..
thanks!!
發表於 2003年3月23日 12:13:00 | 顯示全部內容
感謝momoca前輩的資訊提供..這樣小弟終於搞清楚被動模式是啥意義了
發表於 2003年4月15日 10:42:38 | 顯示全部內容
受教了這對小弟來說非常有幫助謝謝啦---
懶得打字嗎?讓本助手協助你 【使用進階編輯器請點選右方進階模式】
您需要登入後才可以回覆 登入 | 註冊

本版積分規則

手機版|Archiver|漁家小舖

GMT+8, 2026年6月7日 00:25 , Processed in 2.387179 second(s), 27 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回覆 返回頂端 返回清單