一、FTP服務說明
ftp(File Transfer Protocol)即檔案傳輸協定,是網際網路比較古老的服務之一,用于在網絡上進行檔案傳輸的一套标準協定,使用客戶/伺服器模式。它屬于網絡傳輸協定的應用層。
二、FTP服務運作模式
FTP服務一般預設運作在tcp 20(資料傳輸)和tcp 21(通訊信号建立控制)兩個端口。端口20用于在用戶端和伺服器之間傳輸資料流,而端口21用于傳輸控制流。
1、 ftp伺服器運作有兩種模式,即主動模式與被動模式,如下圖所示:
<a href="https://s2.51cto.com/wyfs02/M01/99/B5/wKioL1lLcTDy9gAbAABLTgy8SIw224.png-wh_500x0-wm_3-wmp_4-s_4031737695.png" target="_blank"></a>
圖左邊ftp處于主動模式中,用戶端首先和ftp 21端口建立通訊連接配接,然後和用戶端協商出一個接受資料的端口(用戶端随機開放一個端口),協商成功後,ftp伺服器從20端口主動推送資料到用戶端的這個随機端口;完成資料傳輸。
圖右邊ftp處理被動械中,用戶端同樣是先和ftp21端口建立通訊連接配接,然後告訴用戶端自己的資料端口是20(預設,可以自定義),此時用戶端得知伺服器處理于被動模式,和被動資料開放的端口後,用戶端會用自己随機的端口連接配接伺服器端的資料端口20,來擷取資料。伺服器牌被動放資料狀态;
主動模式和被動模式的差別就在于,資料是主動推送到用戶端的,還是被動等待用戶端來取。
2、分析說明
主動模式由于資料是主動推送到用戶端随機協商的端口,又因為一般的企業或用戶端通路網際網路伺服器時存在防火牆(防止外面的通路進來),是以一般ftp處在主動模式時,除非本地且本地防火牆允許,否則ftp會被防火牆阻斷,導緻無法完成資料傳輸!因而出現了被動模式,一般防火牆防外面進來而不防裡面出去,是以被動模式下,用戶端可以出去通路21 20端口,即使資料傳輸端口20改變,也是固定的,用戶端防火牆可以固定調整,而不像主動情況下,用戶端接收資料是随機的~
三、ftp安全問題
ftp協定比較古老,一般預設傳輸采用的是明文傳輸資料,一個抓包就可以看出ftp的連接配接賬号和密碼,相當不安全,是以一般使用ftp最好采用ssl +ftp,提高ftp的安全性。
本文轉自 dyc2005 51CTO部落格,原文連結:http://blog.51cto.com/dyc2005/1940968,如需轉載請自行聯系原作者