一:FTP功能簡介:
1:FTP水滿鄉(xiāng)服務器能夠進行檔案的傳輸與管理功能;
2:可以依據使用者登入的情況分為三種不同的身份,分別是
2.1:實體賬戶:real user
2.2:訪客:guest
2.3:匿名登錄者anonymous
3:FTP利用系統的syslog進行數據的記錄,包括了用戶曾經下達的命令與用戶傳輸數據(傳輸時間、檔案大小)的記錄,日志目錄/var/log/
4:將使用者的工作范圍局限在用戶的指定目錄中,避免其他多余的操作;
二:FTP水滿鄉(xiāng)服務器概述
1:FTP水滿鄉(xiāng)服務器默認使用TCP協議的20、21端口與客戶端進行通信。21端口用于建立控制連接,并傳輸FTP指令。20端口用于建立數據連接,傳輸數據流。
2:根據FTP服務器在建立數據連接過程中的主、被動關系,FTP數據連接分為主動模式和被動模式。
2.1:主動模式:由服務器主動發(fā)起數據連接;
2.2:被動模式:服務器被動等待數據連接;
二:FTP主動模式連接:
FTP的傳輸使用的是TCP封包協議;不過FTP服務器使用了兩個聯機,分別是命令信道與數據流通道(ftp-data)。兩次聯機都需要三次握手;先以FTP預設的主動式聯機進行說明:
FTP主動式聯機圖
1:建立命令通道的聯機
如圖所示,
1:建立命令通道的聯機
客戶端會隨機取一個大于1024以上的端口(port AA)來與FTP服務器端的port21達成聯機,這個過程為三次握手,達成聯機后用戶便可以對FTP下達指令,包括查詢文件名、下載、上傳等指令;
2:通知FTP服務器端使用Actvive且告知連接的端口
FTP服務器的21端口用于命令的下達,但當涉及數據流傳輸,就需要另外一個聯機。當客戶在需要數據的情況下,會告知服務器用什么方式聯機,如果是主動式(Active),客戶端隨機啟用一個端口(port BB),通過命令通道告知FTP服務器,等待FTP服務器聯機;
3:FTP服務器主動向客戶端聯機:
FTP服務器由命令通道了解客戶端的需求后,主動由20端口向客戶端的port BB進行三次握手聯機。此時FTP與客戶端建立兩條聯機,分別用于命令的下達和數據的傳遞。
注意:數據流通道是在有數據傳輸的行為時才會建立的通道,并不是一開始連接到FTP服務器就建立的;
三:FTP被動模式連接:
111.1:用戶與服務器建立命令信道:
與主動聯機圖第一步相同;
2:客戶端發(fā)出PASV聯機請求:
當有使用數據信道的指令時,客戶端可透過命令通道發(fā)出PASV的被動聯機要求,并等待服務器回應;
3:FTP服務器啟動數據端口,通知客戶端
如果FTP服務器能夠處理被動式聯機,此時FTP服務器先啟動一個隨機或者自定義某一范圍的端口監(jiān)聽。然后FTP服務器通過命令通道告知客戶端啟動的端口(port PASV),等待客戶端聯機;
4:客戶端隨機取用大于1024的端口進行聯機:
客戶端隨機取用一個大于1024的端口號來對FTP的port PASV進行三次握手聯機。此時FTP與客戶端建立兩條聯機,分別用于命令的下達和數據的傳遞。
以上文章來源于網絡,如有侵權請聯系創(chuàng)一網的客服處理。謝謝!