FTP主动模式和被动模式!
FTP簡介
FTP(File Transfer Protocol,文件傳輸協議)?是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP服務器,其二為FTP客戶端。其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位于FTP服務器上的資源。在開發網站的時候,通常利用FTP協議把網頁或程序傳到Web服務器上。此外,由于FTP傳輸效率非常高,在網絡上傳輸大的文件時,一般也采用該協議。
默認情況下FTP協議使用TCP端口中的?20和21這兩個端口,其中20用于傳輸數據,21用于傳輸控制信息。但是,是否使用20作為傳輸數據的端口與FTP使用的傳輸模式有關,如果采用主動模式,那么數據傳輸端口就是20;如果采用被動模式,則具體最終使用哪個端口要服務器端和客戶端協商決定。
FTP支持兩種模式,它在工作運行時也主要是這兩種模式,一種模式叫作Standard也被稱為PORT方式和主動方式,另一種模式叫作Passive也叫作PASV,被動方式。Standard模式FTP的客戶端發出PORT命令到服務器,Passive模式FTP的客戶端發送PASV命令到FTP Server中,從而保證文件相互傳輸正常。
FTP主動模式
我們使用華為的模擬器Ensp來做一個小實驗。
FTP三次握手有兩次,第一次的TCP三次握手是控制層的握手,第二次是數據層的TCP三次握手
(1)服務器打開端口 21,等待連接;
(2)客戶端(100.1.12.1)發起控制連接的建立請求,服務器響應連接,控制連接建立,使用TCP 三次握手(第一次TCP三次握手);
隨機端口的計算
可以看到PORT為10,0,0,2,8,6
隨機端口計算為:8*256+6=2054
(3)客戶端通過控制連接發送 PORT 命令(在應用層數據中帶有自己的 ip 地址和臨時端口),將客戶端數據連接的臨時端口號告訴服務器
(4)服務器的 20 號端口與客戶端建立起數據連接,使用TCP 三次握手(第二次TCP三次握手);
點擊登出后控制端口斷開連接
FTP被動模式
FTP三次握手有兩次,第一次的TCP三次握手是控制層的握手,第二次是數據層的TCP三次握手
(1)服務器打開端口 21,等待連接
(2)客戶端發起控制連接的建立請求,服務器響應連接,控制連接建立,使用TCP 三次握手(第一次TCP三次握手);
?
(3)客戶端通過控制連接發送命令字 PASV,告知服務器處于被動模式;
(4)服務器回應,將服務器數據連接的臨時端口號(2060)告訴客戶端;
(5)客戶端與服務器的臨時端口建立起數據連接,使用TCP 三次握手(第二次TCP三次握手);
作者:yao
鏈接:https://juejin.cn/post/7001145374467440671
來源:掘金
總結
以上是生活随笔為你收集整理的FTP主动模式和被动模式!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FUTURES模型 | 4. Deman
- 下一篇: java ftp 被动模式_ftp 主动