FTP 兩種模式 總結

2021-06-19 21:55:47 字數 1417 閱讀 8513

com.enterprisedt.net.ftp.ftpclient ftp元件的使用:

ftp.getconnectmode()

ftp.isautopassiveipsubstitution()預設》預設ftp伺服器需要被動連線

ftp連線方式分為兩種:active & pasv

port模式的連線過程是:在開始乙個ftp的連線時,客戶端程式首先會為自己隨機分配乙個tcp埠,使用這個埠向伺服器的ftp埠(預設為21)發出連線請求,伺服器接受請求之後會建立一條控制鏈路,然後客戶程式發出port命令(通常格式為port a, a, a, a, i,i,其中a,a,a,a為客戶端ip位址,i,i為隨機的乙個資料連線埠號)告訴伺服器它的資料通道的埠開啟了。在傳送資料的時候,伺服器端通過自己的tcp20埠連線至客戶端的指定埠傳送資料。ftpserver必須和客戶端建立乙個新的連線用來傳送資料。

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

所謂pasv模式也就是被動模式。隨著網路的不斷發展,出現了防火牆。老的ftp協議在遇到防火牆的時候就束手無策了,這是因為20埠往往是防火牆的重點封堵物件,因此資料也就不能傳送出去了,於是pasv模式就誕生了。

pasv 模式的連線過程是:在開始乙個ftp的連線時,客戶端程式首先為自己隨機分配乙個tcp埠,它使用這個埠向伺服器的ftp埠(預設為21)發出連線請求,伺服器接受請求之後會建立一條控制鏈路,然後客戶端程式發出pasv命令,代替原來port命令告訴伺服器它的資料連線埠,於是伺服器便為自己隨機分配乙個資料通道埠,並將這個埠號告訴客戶端程式。當需要傳送資料時,客戶端程式會向伺服器的資料通道埠傳送連線請求,請求被接受之後便開始傳輸資料,資料鏈路通道也就開啟了。

兩者之間有什麼不同:

不同之處是由於port這個方式需要在接上tcp 21埠後,伺服器通過自己的tcp 20來發出資料。並且需要建立乙個新的連線來傳送檔案。而port的命令包含一些客戶端沒用的資料,所以有了pasv的出現。

而pasv模式就當然擁有port模式的優點及去掉一些port的缺點。pasv執行方式就是當伺服器接收到pasv命令時,就會自動從埠1024到5000中隨機選擇,而且還會使用同乙個埠來傳送資料,不用建立新的連線。

,兩種方式的命令鏈路連線方法是一樣的,而資料鏈路的建立方法就完全不同。

很多防火牆的設定都是不允許接受外部連線的,所以active模式在很多時候內部網路的機器通過防火牆出去時候收到限制,因為伺服器的tcp20 無法和內部網路的客戶端建立乙個新的連線,無法工作。

所以遇到了防火牆的話或者怕配置麻煩採用pasv 但是真的對安全的需求很高則用active

很多防火牆在設定的時候都是不允許接受外部發起的連線的,所以許多位於防火牆後或內網的ftp伺服器不支援pasv模式,因為客戶端無法穿過防火牆開啟ftp伺服器的高階埠;而許多內網的客戶端不能用port模式登陸ftp伺服器,因為從伺服器的tcp20無法和內部網路的客戶端建立乙個新的連線,造成無法工作。

FTP兩種連線模式

ftp是有兩種傳輸的模式的,主動模式和被動模式,之前一直沒怎麼去搞明白之,現在找了下資料,重新整理了下 乙個完整的ftp檔案傳輸需要建立兩種型別的連線,一種為檔案傳輸下命令,稱為控制連線,另一種實現真正的檔案傳輸,稱為資料連線。1.控制連線 2.資料連線 ftp控制連線建立之後,即可開始傳輸檔案,傳...

ftp的兩種模式

常用ftp的人都知道,ftp在傳輸檔案的時候分為兩種模式 ascii模式 和 二進位制模式 1 ascii模式是一般是用來傳輸文字檔案的 2 二進位制模式是用來傳輸二進位制檔案的 一般我們使用ftp工具進行檔案傳輸的時候,工具內部應該會識別檔案型別,而如果我們使用windows內建的ftp,在命令列...

FTP 兩種連線模式

當ftp客戶端需要登陸到ftp伺服器上的時候,伺服器與客戶端需要進行一系列的身份驗證過程,這個過程就叫做命令連線。如在客戶端向伺服器發起連線請 求的時候,客戶端會隨即的選擇某個tcp埠來跟ftp伺服器的21號埠進行連線,這主要是通過tcp三方握手來實現的。當三方握手完成之後,客戶端與 伺服器之間便建...