① 如何設置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:選項
->
參數選擇
->
代理/防火牆/標識
->
「使用被動模式」
或
站點管理
->
對應站點
->
選項
->
「使用被動模式」或
快速連接
->
切換
->
「使用被動模式」。
② 如何設置IIS,FTP的設置是選主動模式還是被動模式
一、什麼是主動FTP 主動模式的FTP工作原理:客戶端從一個任意的非特權埠N連接到FTP伺服器的命令埠,也就是21埠。然後客戶端開始監聽埠N+1,並發送FTP命令「port N+1」到FTP伺服器。接著伺服器會從它自己的數據埠(20)連接到客戶端指定...
③ 什麼是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傳輸需要2個埠。主動的話是21等候連接,20主動發起,被動的話是21和一個大於1024的隨機埠等待連接逗轎。主動模式可能被客戶端的防火牆屏蔽,被碼指團動模式的話伺服器的隨機埠可遲橘能被攻擊。如果兩端都沒防火牆的話,主動被動無所謂的
⑤ 請問用IIS搭建FTP伺服器,在哪裡設置"主動模式"和"被動模式"
FTP兩種工作模式:主動模式(Active FTP)和被動模式(Passive FTP)
在主動模式下,FTP客戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,然後開放N+1號埠進行監聽,並向伺服器發出PORT N+1命令。伺服器接收到命令後,會用其本地的FTP數據埠(通常是20)來連接客戶端指定的埠N+1,進行數據傳輸。
在被動模式下,FTP庫戶端隨機開啟一個大於1024的埠N向伺服器的21號埠發起連接,同時會開啟N+1號埠。然後向伺服器發送PASV命令,通知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的埠P進行監聽,然後用PORT P命令通知客戶端,自己的數據埠是P。客戶端收到命令後,會通過N+1號埠連接伺服器的埠P,然後在兩個埠之間進行數據傳輸。
總的來說,主動模式的FTP是指伺服器主動連接客戶端的數據埠,被動模式的FTP是指伺服器被動地等待客戶端連接自己的數據埠。
被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTp伺服器的情況,因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的連接請求通過。因此,在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作。
很多人誤認為利用WINDOWS組件IIS來構建的FTP伺服器沒有實用價值,只能做一些測試和學習。主要是FTP服務的PORT和PASV兩種連接模式下防火牆難以設置。對於PORT模式,客戶端無法在此環境下運行,因為 FTP 服務必須向 FTP 客戶端發出新的連接請求,防火牆會將這些連接檢測為未經請求的連接嘗試,並因此而將它們斷開。防火牆管理員可能也不希望使用PASV模式 FTP 伺服器,因為該 FTP 服務可以打開任何短暫的埠號。如果防火牆配置允許未經請求的連接完全訪問所有的短暫埠,則可能會是不安全的。
從實用的角度來看,建立一個默認短暫埠范圍有限制的PASV模式 FTP 服務方案應該是較好的選擇。下面通過一個實例,說明如何在Windows 2003 中利用IIS組件架設PASV模式FTP服務。
1建立一個PORT模式的FTP服務
1.1安裝「文件傳輸協議(FTP)服務」組件
安裝步驟:
控制面板--->添加刪除程序--->添加刪除windows組件--->應用程序伺服器--->Internet信息服務(IIS)--->文件傳輸協議(FTP)服務
將「文件傳輸協議(FTP)服務」復選框鉤上,插入windows 2003安裝盤或選擇windows 2003安裝路徑,直至安裝結束。
1.2FTP主目錄及用戶許可權的配置
主目錄:D:/soft/ftpup
擁有讀寫許可權而不允許其它用戶訪問的用戶:
ww1用戶擁有 ww1目錄的讀寫許可權,位置在:D:/soft/ftpup/LocalUser/ww1
XX1用戶擁有 XX1目錄的讀寫許可權,位置在:D:/soft/ftpup/LocalUser/XX1
允許匿名用戶只讀訪問:
Everyone 擁有 public目錄的只讀許可權,位置在:D:/soft/ftpup/LocalUser/public
創建 ww1和xx1用戶並設置密碼。
建立相應的目錄,並設置對應的許可權。
1.3創建FTP站點
通過「控制面板 ---> 管理工具 ---> Internet信息服務(IIS)管理器 ---> Internet信息服務--->本地計算機---> FTP 站點」標簽,右擊「FTP 站點」--->新建--->FTP 站點,進入FTP站點建立向導:站點描述--->IP地址和埠設置--->隔離用戶--->FTP站點主目錄(D:/soft/ftpup ),直到向導結束。
右擊剛建立的FTP站點,在「安全帳戶」選項卡上選中「允許匿名用戶連接」。至此,一個PORT模式的FTP站點架設完成。
可以關閉防火牆在客戶端進行測試是否符合要求。
2將FTP站點設置成PASV模式
2.1啟用直接編輯元資料庫
打開 IIS Microsoft 管理控制台 (MMC):控制面板 ---> 管理工具---> Internet信息服務(IIS)管理器 ---> Internet信息服務--->本地計算機
右擊本地計算機節點,選擇屬性,選擇啟用直接編輯元資料庫復選框。
2.2 修改埠號 方法 1 通過 ADSUTIL 腳本配置 PassivePortRange
運行cmd.exe程序進入命令行模式,並輸入以下命令:
C:/Inetpub/AdminScripts/adsutil.vbs set /MSFTPSVC/PassivePortRange "5500-5550"
這樣就將FTP伺服器上TCP 默認短暫埠范圍限制在5500-5550范圍內,如果同時連接數量較多,可適當進行調整。
用以下命令查看PassivePortRange:
C:/Inetpub/AdminScripts/adsutil.vbs get /MSFTPSVC/PassivePortRange 方法 2 通過修改配置文件 打開下面這個文件 : 1. C:/WINDOWS/system32/inetsrv/MetaBase.xml 搜索 MaxConnections 這個欄位 在 MaxConnections 下面新加一行被動模式的配置信息,修改後的配置文件為 LogType="1" MSDOSDirOutput="TRUE" MaxClientsMessage=" " MaxConnections="100000" PassivePortRange="5500-5550"
3.windows 2003 中防火牆的設置
3.1打開FTP控制埠TCP 21(如果更改埠號,這里要做相應的更改)
在命令行輸入:
NETSH FIREWALL ADD PORTOPENING TCP 21 FTPPort21
3.2打開PassivePortRange 5500-5550的TCP埠
建立以下批處理文件並運行(例如:ftpport.bat):
ECHO OPENING FIREWALL PORTS 5500-5550
FOR /L %%I IN (5500,1,5550) DO NETSH FIREWALL ADD PORTOPENING TCP %%I FTPPort%%I
iisreset /restart
ECHO FINISHED
Pause
至此,整個服務架設完成,可在啟用防火牆的情況下進行測試。