FTP服務器訪問主動模式、被動模式


在公司里面,經常需要訪問外網FTP取資料等情況。但是有時用windows界面訪問經常遇到各種問題。

下面介紹兩種客戶端是如何訪問ftp服務器。

首先我們需要說明:防火牆,是阻攔外界與內部的通訊的一道關卡。從內部出去如果沒有特殊設置,一般是任意出,而從外界進來,

就是防火牆設置的重點,並非任意進。

主動模式(PORT)(默認):

如上圖,在主動模式中:在下面中C代表客戶端。S代表服務端.

第一步:C用任意x端口訪問S的21端口且附帶信息說明自己自己X+1端口開啟監聽(如果沒有改變,ftp服務默認端口是21).

    然后C把此信息通過自己的防火牆,到達S端,因為S端開啟ftp服務,那么它的防火牆肯定開啟此21端口這樣就可以訪問到S。

第二部:S端收到訪問后通過21端口到達C的X端口,表明自己接受到此信息,然后S端開啟X+1來等待數據連接。

第三部:S端開啟20號端口與A端口的X+1建立數據傳輸,然后S端口20端口訪問C的X+1端口時,C所在的局域網防火強
       並沒有開啟此端口來允許外界的任何端口來訪問此局域網中的C的X+1端口。

所以防火牆受阻,無法建立通訊,如果在同局域網內沒有問題。非同局域網就要設置C端的防火牆。

 

訪問FTP的第二種模式:被動模式(PAVS)

         

第一步:同樣,C端開始通過X端口訪問FTP21端口。告訴S端自己采用PASV模式,此時中間防火牆都不會阻攔此信息,因為服務器已開啟21端口。

第二步:服務器收到信息后,自己建立一個Y端口,且通過剛才的通道告訴C端,自己等待數據連接的端口是Y端口。

第三步:C端收到信息后,開啟任意端口來訪問s端的Y端口來實現數據傳輸。

第四步:就是C與S的Y端口數據開始傳輸。

此種模式中需要注意的事第三步:怎么實現C端收到信息后開啟任意端口來連接S端的Y端口不會被S鎖在的局域網防火牆阻攔。

這種問題,就要設計到防火牆設置,已經建立FTP服務器時端口的設置。在PASV,ftp服務器設置可以指定一段端口,然后在防火牆中開啟,

且指定此段端口映射到S服務器上。這樣就可以保證S端開啟的Y端口可以從外界來通訊。

 

在WINDOWS中,模式的是主動模式,如果需要被動模式去訪問FTP服務器如何設置,請參考下圖,

如果用軟件客戶端訪問,那么對應的軟件客戶端在選項中肯定有FTP被動模式和主動模式的選擇。

 

 

上面步驟僅是參考模型,網絡的輸出肯定不是這么簡單,只是為了方便簡單理解兩種模式中的不同。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM