關於FTP主動模式與被動模式的一點理解

2021-09-21 00:05:12 字數 1276 閱讀 6279

又一次面試的時候,面試像這樣問我:請簡述ftp的主動模式與被動模式的區別?ftp這玩意不是天天都要用到的麼,看起來這麼簡單的問題我居然回答不上來,好尷尬!經過幾天的思考與理解,終於有點眉目,拙見讓諸位見笑了。

主動模式中ftp的客戶端傳送 port 命令到ftp伺服器。被動模式中ftp的客戶端傳送 pasv命令到 ftp 伺服器。

我們可以通過以下及文字理解每種ftp方式是怎樣工作的。

主動模式(伺服器向客戶端敲門,然後客戶端開門)ftp:

客戶機與伺服器之間建立連線時,客戶機是大於1024的埠上,伺服器是20埠。

客戶機的埠是大於1024的,而伺服器的埠是21埠接收請求,而是20埠給客戶機回應。

允許ftp客戶機從大於1024的埠連線伺服器的21埠。

允許ftp伺服器從21埠回應ftp客戶機中大於1024埠的網路連線。

允許ftp伺服器從20埠主動連線ftp客戶機中大於1024的埠。

允許ftp客戶機從大於1024的埠回應來自ftp伺服器的20埠的網路連線。

命令連線:客戶端 >1024埠 -> 伺服器 21埠

資料連線:客戶端 >1024埠

被動模式(客戶端向伺服器敲門,然後伺服器開門)ftp:

客戶機與伺服器之間建立連線都是在大於1024的埠上的。

客戶機的埠是大於1024的,而伺服器的埠是21埠接收請求,而是從大於1024埠給客戶機回應。

允許ftp客戶機從大於1024的埠連線伺服器的21埠。

允許ftp伺服器從21埠回應ftp客戶機中大於1024埠的網路連線。

允計ftp客戶機從大於1024的埠連線ftp伺服器的大於1024埠。

允許ftp伺服器從大於1024的埠回應來自ftp客戶機大於1024埠的網路連線。

命令連線:客戶端 >1024埠 -> 伺服器 21埠

資料連線:客戶端 >1024埠 -> 伺服器 >1024埠

主動模式對便於ftp伺服器的管理,不便於對客戶端進行管理。因為ftp伺服器企圖與客戶端的高位隨機埠建立連線,而這個埠很有可能被客戶端的防火牆所阻塞。被動模式對ftp便於對客戶端進行管理,不便於對伺服器端進行管理。因為客戶端要與伺服器端建立兩個連線,其中乙個連到乙個高位隨機埠,而這個埠很有可能被伺服器端的防火牆阻塞掉。

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命令,告訴服務端 我建立了乙個...