FTP主動模式和被動模式

1.主動模式 

   Port模式FTP 客戶端首先和FTP服務器的TCP 21端口建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼端口接收數據。在傳送數據的時候,服務器端通過自己的TCP 20端口連接至客戶端的指定端口發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。(可以看到在這種方式下是客戶端和服務器建立控制連接,服務器向客戶端建立數據連接,其中,客戶端的控制連接和數據連接的端口號是大於1024的兩個端口號(臨時端口),而FTP服務器的數據端口爲20,控制端口爲21)

核心要點:客戶端首先啓用一個大於1023(假設爲x)的端口,主動連接至服務端的21端口,並告知客戶端的數據端口(x+1),然後服務端主動通過20端口連接到客戶端的x+1,即數據傳輸在20端口與x+1端口之間,而命令端口在21端口和x之間

2.被動模式

    Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP服務器收到Pasv命令後,隨機打開一個臨時端口(也叫自由端口,端口號大於1023小於65535)並且通知客戶端在這個端口上傳送數據的請求,客戶端連接FTP服務器此端口,然後FTP服務器將通過這個端口進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。

核心要點:客戶端在一個隨機端口x連接至服務端21端口後,發送Pasv命令,服務端打開一個大於1023的端口(設爲n)並告知客戶端,然後客戶端主動在x+1端口與n進行數據傳輸

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章