ftp的主動模式與被動模式

2022-06-23 23:33:13 字數 1718 閱讀 6601

ftp傳輸有兩種工作模式,active mode和passive mode(主動模式和被動模式),簡單描述連線過程如下:

主動模式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時, 客戶端在命令鏈路上用port命令告訴伺服器:「我開啟了***埠,你過來連線我」。於是伺服器從20埠向客戶端的***埠傳送連線請求,建立一條資料鏈路來傳送資料。  

被動模式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時, 伺服器在命令鏈路上用pasv命令告訴客戶端:「我開啟了***埠,你過來連線我」。於是客戶端向伺服器的***埠傳送連線請求,建立一條資料鏈路來傳送資料。 

了解模式的目的,是為了了解埠。使用 ftp 傳輸時,至少會使用到兩個 port 來建立連線通道:

主動模式 ( active mode )

ftp client 跟 ftp server 聯機後,會主動利用 port 指令提出 data channel 聯機的要求,如下: 12

指令:port 10,18,53,171,17,114

回應:200 port command successful.

這裡的 port 指令是由 ftp client 送出的,當需要建立 data channel 時,ftp server 會主動利用 server 主機的 port 20 發出聯機到 ftp client 的主機,而 port 指令後的引數說明如下:

後兩個數字是 ftp client 接受聯機的埠號,埠號的計算方式是 (第五個數字 * 256 + 第六個數字),以此範例來說,ftp client 接受的聯機埠號是 17 * 256 + 114 = 4,466

由此可知,如果 ftp client 處於 nat 的環境下的話,ftp server 幾乎無法正常的聯機到 ftp client 的主機,所以現在大部分的聯機模式幾乎都建議使用者使用被動模式(passive mode)。

被動模式 ( passive mode )

ftp client 跟 ftp server 聯機後,會主動利用 pasv 指令提出 data channel 聯機的要求,如下:12

指令:pasv

回應:227 entering passive mode(59,37,124,43,158,251)

你可以看到由 ftp client 送出的 pasv 指令並沒有送出其他的引數,而是在 ftp server 響應的時候出現了(59,37,124,43,158,251) 字串,當需要建立 data channel 時,這時就會由 ftp client 主動連至 ftp server 動態開放的 port 供 ftp client 連線,其中 (59,37,124,43,158,251) 的說明如下:

後兩個數字是 ftp server 接受聯機的埠號,埠號的計算方式是 (第五個數字 * 256 + 第六個數字),以此範例來說,ftp server 可接受的聯機埠號是 158 * 256 + 251 = 40,699

由此可知,使用被動模式(passive mode)對 ftp server 的系統管理員來說,可掌控的部分是比較多的,因為 ftp server 無法決定使用者是否可使用主動模式聯機,但若改使用被動模式聯機的話,就幾乎能讓所有人正常的使用。

FTP主動模式與被動模式

ftp最權威的參考見rfc 959,有興趣的朋友可以仔細閱讀 ftp使用2個tcp埠,首先是建立乙個命令埠 控制埠 然後再產生乙個資料埠。主動模式使用tcp 21和20兩個埠。被動模式會工作在大於1024隨機埠。1 主動模式 port模式 客戶端從乙個任意的非特權埠n n 1024 連線到ftp伺服...

FTP主動模式與被動模式

一般來說,客戶端有乙個 socket 用來連線 ftp 伺服器的相關埠,它負責 ftp 命令的傳送和接收返回的響應資訊。一些操作如 登入 改變目錄 刪除檔案 依靠這個連線傳送命令就可完成。伺服器的命令埠號一般是21。如果使用主動模式,通常客戶端會傳送乙個埠號給伺服器端,並在這個埠監聽。伺服器需要連線...

FTP主動與被動模式

首先要知道ftp只支援tcp協議,不支援udp協調的。ftp主動模式與被動模式 主動模式 port 客戶端向服務端的ftp埠 預設是21 傳送請求,服務端ftp守護程序 執行緒收到請求後,建立一條命令鏈結。當需要傳輸資料時,客戶端通過這個命令鏈結傳送命令給服務端port命令,告訴服務端 我建立了乙個...