武漢網(wǎng)站建設(shè)需要多少錢(ftp的概念和作用)ftp的含義,
FTP(文件傳輸協(xié)議)FTP(File Transfer Protocol) ,是一種處于應(yīng)用層的用于文件傳輸?shù)膮f(xié)議。是基于TCP協(xié)議的應(yīng)用層協(xié)議,用于在網(wǎng)絡(luò)上傳輸文件。
該協(xié)議使用的端口號(hào)為20和21,其中20是數(shù)據(jù)端口,21是命令端口(默認(rèn)情況下)是否使用20作為傳輸數(shù)據(jù)的端口與FTP使用的傳輸模式有關(guān):如果采用主動(dòng)模式,那么數(shù)據(jù)傳輸端口就是20端口;如果采用被動(dòng)模式,則具體最終使用哪個(gè)端口要服務(wù)器端和客戶端協(xié)商決定。
1.FTP的目標(biāo)提高文件的共享性和可靠高效地傳送數(shù)據(jù)在傳輸文件時(shí),F(xiàn)TP客戶端先與服務(wù)器建立連接,然后向服務(wù)器發(fā)送命令服務(wù)器接收到命令后給予響應(yīng),并執(zhí)行命令FTP協(xié)議與操作系統(tǒng)無(wú)關(guān),任何操作系統(tǒng)上的程序只要符合FTP協(xié)議,就可以相互傳輸數(shù)據(jù)。
2.FTP協(xié)議作用提高傳輸效率FTP協(xié)議較其他網(wǎng)絡(luò)協(xié)議更為復(fù)雜,與一般的C/S應(yīng)用不同點(diǎn)在于:一般的C/S應(yīng)用程序只會(huì)建立一個(gè)Socket連接,這個(gè)連接同時(shí)處理服務(wù)器端和客戶端的連接命令和數(shù)據(jù)傳輸然而FTP協(xié)議將命令與數(shù)據(jù)分開(kāi)傳送,當(dāng)然這種方法無(wú)疑提高了傳輸效率。
3.FTP協(xié)議簡(jiǎn)述FTP 協(xié)議分為兩個(gè)部分:一部分用于傳輸控制命令,一部分用于傳輸數(shù)據(jù),比如當(dāng)前目錄或者是要傳輸?shù)奈募刂芐ocket用于傳送命令,數(shù)據(jù)Scoket是用于傳送數(shù)據(jù)每一個(gè)FTP命令發(fā)送后,F(xiàn)TP服務(wù)器都會(huì)返回一串字符串,其中包括一個(gè)相應(yīng)代碼和一些說(shuō)明信息,其中的返回碼主要用來(lái)判斷命令是否被成功執(zhí)行。
C–>S:命令 S–>C:返回碼 每一個(gè)FTP發(fā)送之后,F(xiàn)TP服務(wù)器都會(huì)返回一串字符串,其中包括一個(gè)返回代碼和一串說(shuō)明信息FTP 控制幀即指 TELNET 交換信息,包含 TELNET 命令和選項(xiàng)大多數(shù)的FTP控制幀是簡(jiǎn)單的 ASCII 文本,可以分為 FTP 命令或 FTP 消息。
FTP 消息是對(duì) FTP 命令的響應(yīng),由帶有解釋文本的應(yīng)答代碼構(gòu)成4.命令端口一般來(lái)說(shuō),客戶端有一個(gè)Socket用來(lái)連接FTP服務(wù)器的端口,負(fù)責(zé)FTP命令的發(fā)送和接收返回的響應(yīng)信息一些操作如“登錄”,“改變目錄”,“刪除文件”均依靠這個(gè)連接發(fā)送命令。
5.數(shù)據(jù)端口對(duì)于有數(shù)據(jù)傳輸?shù)牟僮?,主要是顯示目錄列表,上傳,下載文件,這時(shí)我們需要依靠另一個(gè)Scoket來(lái)完成使用被動(dòng)模式:通常服務(wù)器會(huì)返回一個(gè)端口號(hào),客戶端需要用另一個(gè)Socket來(lái)連接這個(gè)端口,然后我們可根據(jù)操作來(lái)發(fā)送命令,數(shù)據(jù)會(huì)通過(guò)新開(kāi)的一個(gè)端口傳輸。
在被動(dòng)模式下,客戶端通過(guò)控制命令與服務(wù)端交互,當(dāng)需要傳輸數(shù)據(jù)時(shí),服務(wù)器會(huì)在某個(gè)端口進(jìn)行監(jiān)聽(tīng),并把端口號(hào)通過(guò)控制部分返回給客戶端,當(dāng)客戶端連接上了這個(gè)端口,就可以進(jìn)行數(shù)據(jù)的傳輸使用主動(dòng)模式:通常客戶端會(huì)發(fā)送一個(gè)端口號(hào)給服務(wù)器端,并在這個(gè)端口設(shè)置監(jiān)聽(tīng),服務(wù)器需要連接到客戶端開(kāi)放的這個(gè)端口,才可以進(jìn)行數(shù)據(jù)傳輸。
簡(jiǎn)單的 server 和 client 通信的例子:首先 client 向 server 發(fā)送了用戶名和密碼,server 驗(yàn)證成功后 client 向 server 發(fā)送 LIST 請(qǐng)求當(dāng)前目錄的文件列表,并指定使用 PASV 即被動(dòng)模式。
server 打開(kāi)一個(gè)端口,并把地址和端口通過(guò)一個(gè)六元組的形式返回給了 client,client 只要再連接上這個(gè)地址和端口就可以獲取到文件列表的數(shù)據(jù)一般來(lái)說(shuō),被動(dòng)模式下都是利用類似的方式來(lái)傳輸數(shù)據(jù)的。
6.FTP實(shí)現(xiàn)的命令FTP 控制幀即遠(yuǎn)程交換信息,包含控制命令和選項(xiàng)大多數(shù) FTP 控制幀是簡(jiǎn)單的ASCII文本,用戶通過(guò)用戶PI向服務(wù)器PI發(fā)出FTP命令,服務(wù)器PI執(zhí)行用戶PI的FTP命令,并將執(zhí)行的結(jié)果返回給用戶。
FTP 每個(gè)命令都有 3 到 4 個(gè)字母組成,命令后面跟參數(shù),用空格分開(kāi)每個(gè)命令都以" "結(jié)束USER [用戶名] PASS [密碼] SIZE:從服務(wù)器上返回指定文件的大小 PWD :顯示當(dāng)前目錄。
MKD :創(chuàng)建文件夾 RMD :刪除文件夾 MLSD :如果目錄被命名,列出目錄的內(nèi)容 TYPE :指定傳輸模式 FEAT :獲取支持的模式 LIST :獲取當(dāng)前目錄的內(nèi)容 CWD : 改變當(dāng)前目錄 RETR :傳輸文件。
RETR(Retrieve,檢索)命令 retr這條命令會(huì)讓服務(wù)器給客戶傳送一份在路徑名中指定的文件的副本并不會(huì)影響該文件在服務(wù)器站點(diǎn)上的狀態(tài)和內(nèi)容FTP 的主要功能如下:提供文件的共享(計(jì)算機(jī)程序 / 數(shù)據(jù)); 支持間接使用遠(yuǎn)程計(jì)算機(jī); 使用戶不因各類主機(jī)文件存儲(chǔ)器系統(tǒng)的差異而受影響; 可靠且有效的傳輸數(shù)據(jù)。
FTP傳輸文件類型:1.文本(ASCII)方式— A(文本文件的傳輸采用ASCII方式,一般FTP默認(rèn)為ASCll文件傳輸方式) 2.二進(jìn)制(Binary)----- I (圖象、聲音文件、加密和壓縮文件等非文本文件采用二進(jìn)制方式傳輸) 3.EBCDIC文件類型------ E (該文本文件傳輸方式要求兩端都是EBCDIC系統(tǒng))
FTP返回碼/響應(yīng)碼(響應(yīng)代碼/解釋說(shuō)明):110 新文件指示器上的重啟標(biāo)記 120 服務(wù)器準(zhǔn)備就緒的時(shí)間(分鐘數(shù)) 125 打開(kāi)數(shù)據(jù)連接,開(kāi)始傳輸 150 打開(kāi)連接 200 成功 202 命令沒(méi)有執(zhí)行 211 系統(tǒng)狀態(tài)回復(fù) 212 目錄狀態(tài)回復(fù) 213 文件狀態(tài)回復(fù) 214 幫助信息回復(fù) 215 系統(tǒng)類型回復(fù) 220 服務(wù)就緒 221 退出網(wǎng)絡(luò) 225 打開(kāi)數(shù)據(jù)連接 226 結(jié)束數(shù)據(jù)連接 227 進(jìn)入被動(dòng)模式(IP 地址、ID 端口) 230 登錄完成 250 文件行為完成 257 路徑名建立 331 要求密碼 332 要求帳號(hào) 350 文件行為暫停 421 服務(wù)關(guān)閉 425 無(wú)法打開(kāi)數(shù)據(jù)連接 426 結(jié)束連接 450 文件不可用 451 遇到本地錯(cuò)誤 452 磁盤空間不足 500 無(wú)效命令 501 錯(cuò)誤參數(shù) 502 命令沒(méi)有執(zhí)行 503 錯(cuò)誤指令序列 504 無(wú)效命令參數(shù) 530 未登錄網(wǎng)絡(luò) 532 存儲(chǔ)文件需要帳號(hào) 550 文件不可用 551 不知道的頁(yè)類型 552 超過(guò)存儲(chǔ)分配 553 文件名不允許
RETR和STOR命令RETR和STOR命令是FTP協(xié)議中的下載和上傳命令, 可以針對(duì)文件和目錄:一. 下載文件客戶端命令序列:打開(kāi)Telnet窗口(稱為"控制窗口") telnet 【ip】(連接FTP Server) —> user 【用戶名】(登錄) —> pass 【密碼】 —> rest 0 (從文件最開(kāi)始出下載) —> pasv (服務(wù)器返回連接端口) —>retr test.txt (下載文件"test.txt"), 在數(shù)據(jù)窗口中可以看到指定下載的test.txt文件的內(nèi)容;
對(duì)于下載操作來(lái)說(shuō), 是服務(wù)器讀出文件內(nèi)容, 用IP數(shù)據(jù)包傳遞到客戶端, 客戶端寫入本地硬盤二. 上傳文件打開(kāi)telnet窗口(稱為"控制窗口") telnet 【ip】–> user 【用戶名】 (登錄) —> pass 【密碼】—> type i (使用二進(jìn)制傳輸) —> size xxx.txt, cwd /xxx.txt (判斷要上傳的xxx.txt文件是否在服務(wù)器上已存在) —> pasv (服務(wù)器返回連接端口) —> stor xxx.txt (告知服務(wù)器準(zhǔn)備上傳文件xxx.txt)。
對(duì)于上傳操作來(lái)說(shuō), 是客戶端讀出文件內(nèi)容, 傳遞到服務(wù)器端, 服務(wù)器端寫入本地硬盤. 如果目錄中還包括子目錄, 則形成了遞歸操作RETR命令復(fù)現(xiàn)靶機(jī)環(huán)境下我們使用telnet命令進(jìn)行遠(yuǎn)程登陸:命令:telnet 192.168.10.140 110 telnet是Iteret的遠(yuǎn)程登錄協(xié)議,可以通過(guò)它遠(yuǎn)程登錄來(lái)控制別的計(jì)算機(jī)。
輸入: user [用戶名] pass [密碼] list(輸出文件列)
使用retr命令下載文件:RETR和STOR命令是FTP協(xié)議中的下載和上傳命令, 可以針對(duì)文件和目錄:
可以看到使用retr命令后,在kali終端數(shù)據(jù)窗口中,服務(wù)器成功讀出文件內(nèi)容, 并用IP數(shù)據(jù)包傳遞到客戶端, 客戶端寫入本地硬盤。
推薦觀看>>>新手必備-Linux入門之云計(jì)算是什么>>>紅帽認(rèn)證入門-Linux系統(tǒng)介紹及企業(yè)版本選型>>>新手必備-Linux系統(tǒng)安裝配置+Xshell遠(yuǎn)程連接>>>Linux常用命令行合集之絕對(duì)路徑和相對(duì)路徑
>>>軟連接與硬連接運(yùn)維界升職加薪必備的云計(jì)算技術(shù),你學(xué)了嗎?學(xué)完高級(jí)運(yùn)維云計(jì)算課程之后,你可以:跨越90%企業(yè)的招聘硬門檻增加70%就業(yè)機(jī)會(huì)拿下BAT全國(guó)TOP100大廠敲門磚體系化得到運(yùn)維技術(shù)硬實(shí)力
技術(shù)大佬年薪可達(dá)30w+最后再附上一些學(xué)習(xí)資料吧,非常適合剛開(kāi)始接觸學(xué)習(xí)Linux運(yùn)維的朋友,里面更多的是一些基礎(chǔ)的內(nèi)容如果對(duì)未來(lái)的發(fā)展,或者行業(yè)的前景不是很明確的話,可以聽(tīng)聽(tīng)看,會(huì)對(duì)你有很大的幫助Linux運(yùn)維實(shí)戰(zhàn)課程
?www.thinkmo.cn/Home/Course/nradio/course_id/299.html?etoken=506e617f