FTP的主動模式與被動模式

FTP的主動模式,被動模式介紹:
FTP是一種文件傳輸協議,它支持兩種模式,一種方式叫做Standard (也就是 Active,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP server。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一下這兩種方式的工作原理:
   Standard模式FTP 客戶端首先和FTP Server的TCP 21端口建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送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的TCP 20端口連接內部IP的<1024的端口,這條是爲了防止外部連接內部的常規端口;第三條驗證ACK是否等於1。
所 以如果安全的配置的話非常困難,這個時候就想起來了PASV模式,因爲不用建立新的連接,所以也就不會涉及到後面的問題了。但是管理員可能不想使用 PASV模式,因爲這個時候FTP Server會開放一個隨機的高端口,儘管在IIS4和IIS5裏面端口的範圍是1024-5000,但是許多FTP Server的端口範圍達到了1024-65535,這個時候在這個主動開放的隨機端口上是有完全的訪問權限的,如果IIS也要設置成開放的端口爲 1024-65535,具體方法如下:
1. regedt32
2. 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip \Parameters
3. 編輯-添加-數值
Value Name: MaxUserPort Data Type: REG_DWORD Value: 65534
  所以如果遇到了有防火牆的話或者怕配置麻煩的話還是採用PASV模式比較好些,但是如果真的對安全的需求很高的話建議採用Standard模式。

在使用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:選項 -> 參數選擇 -> 代理/防火牆/標識 -> “使用被動模式” 或 站點管理 -> 對應站點 -> 選項 -> “使用被動模式”或快速連接 -> 切換 -> “使用被動模式”。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章