FTP協(xié)議有兩種工作方式:PORT(主動)方式和PASV(被動)方式沟沙。連接是采用哪種模式是由客戶端采用哪種方式連接服務(wù)端來決定的。 目前惠啄,我們使用較為廣泛的是PASV(被動為出于對服務(wù)器安全方面的考慮慎恒,我們一般會更改默認(rèn)的FTP21端口,并提供幾個被動模式端口用于FTP傳輸撵渡。
ftp的主動模式
主動模式的工作原理:
- 客戶端發(fā)起請求融柬,從非特殊端口(N>=1024)連接服務(wù)端的21號端口。
- 客戶端開始監(jiān)聽N+1端口趋距,并發(fā)送PORT命令告知服務(wù)端粒氧。
- 服務(wù)器會數(shù)據(jù)端口20連接到客戶端在第二步中監(jiān)控的N+1端口。
ftp的被動模式
被動模式的工作原理:
- 客戶端發(fā)起請求時节腐,會打開兩個非特殊端口(N>=1024,N+1)外盯。
- 第一個端口N連接服務(wù)端的21端口,發(fā)送PAST命令翼雀,這樣服務(wù)端會開啟一個非特殊端口(P>=1024)饱苟。
- 服務(wù)端發(fā)送POST命令給客戶端,客戶端會從N+1端口去連接服務(wù)端的P端口狼渊。