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