国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

FTP協(xié)議詳解

這篇具有很好參考價(jià)值的文章主要介紹了FTP協(xié)議詳解。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


鏈接: C/C++Linux服務(wù)器開發(fā)/后臺(tái)架構(gòu)師【零聲教育】-學(xué)習(xí)視頻教程-騰訊課堂

1 FTP概述

FTPFile Transfer Protocol的縮寫,即文件傳輸協(xié)議,是TCP/IP 協(xié)議族中的協(xié)議之一。FTP是一個(gè)用于在計(jì)算機(jī)網(wǎng)絡(luò)上在客戶端和服務(wù)器之間進(jìn)行文件傳輸?shù)膽?yīng)用層協(xié)議。RFC 959定義了FTP協(xié)議規(guī)范。

同大多數(shù)Internet服務(wù)一樣,FTP也是一個(gè)客戶/服務(wù)器系統(tǒng)(C/S系統(tǒng))。用戶通過(guò)一個(gè)客戶端程序連接至在遠(yuǎn)程計(jì)算機(jī)上運(yùn)行的服務(wù)器程序。依照FTP協(xié)議提供服務(wù),進(jìn)行文件傳送的計(jì)算機(jī)就是FTP服務(wù)器,而連接FTP服務(wù)器,遵循FTP協(xié)議與服務(wù)器傳送文件的電腦就是FTP客戶端。用戶要連上FTP 服務(wù)器,就要用到 FTP 的客戶端軟件,通常Windows系統(tǒng)自帶“ftp”命令,這是一個(gè)命令行的FTP客戶端程序,另外常用的FTP客戶端程序還有FileZilla、 CuteFTP。

2 實(shí)驗(yàn)環(huán)境

為了更透徹的理解和掌握FTP,在敘述FTP協(xié)議內(nèi)容的同時(shí),以“實(shí)戰(zhàn) ” 的方式抓取FTP客戶端FTP服務(wù)器之間交互的網(wǎng)絡(luò)包,以此和FTP協(xié)議相互印證,加深理解。本節(jié)主要介紹抓取FTP網(wǎng)絡(luò)包的環(huán)境搭建。實(shí)驗(yàn)環(huán)境將以Windows系統(tǒng)平臺(tái)作為FTP客戶端,以linux系統(tǒng)虛擬機(jī)作為FTP服務(wù)器。

FTP實(shí)驗(yàn)環(huán)境搭建:

  1. Windows系統(tǒng)安裝wireshark抓包工具;
  2. Windows系統(tǒng)安裝linux虛擬機(jī)(本次實(shí)驗(yàn)版本:Ubuntu 16.04);
  3. 熟悉Windows系統(tǒng)"ftp"命令行的使用。

常用的"ftp"命令行(可以打開cmdPowerShell進(jìn)行驗(yàn)證):

  • ftp 服務(wù)器域名(ip地址),如:ftp ftp.gnu.org,進(jìn)行FTP服務(wù)器登錄;
  • ftp>? 或 ftp>help,顯示"ftp"命令行說(shuō)明;
  • ftp>dir,顯示FTP服務(wù)器目錄文件和子目錄列表;
  • ftp>cd,切換FTP服務(wù)器上的工作目錄;
  • ftp>ls,顯示FTP服務(wù)器上目錄文件和子目錄的縮寫列表;
  • ftp>pwd,顯示FTP服務(wù)器上的當(dāng)前目錄;
  • ftp>mdir,顯示FTP服務(wù)器上目錄文件和子目錄列表,如:mdir Music 1.txt,將服務(wù)器目錄Music中文件和子目錄列表詳細(xì)信息存入本地文件1.txt中;
  • ftp>binary(或bi),將文件傳送類型設(shè)置為二進(jìn)制模式;
  • ftp>ascii,將文件傳送類型設(shè)置為默認(rèn)的ASCII
  • ftp>delete,刪除遠(yuǎn)程計(jì)算機(jī)上的文件,如:delete 123.c,刪除服務(wù)器上的123.c文件;
  • ftp>get,將遠(yuǎn)程服務(wù)器文件復(fù)制到本地計(jì)算機(jī)上,如get 123.c,將服務(wù)器上的123.c文件,復(fù)制到本地;
  • ftp>mget,將遠(yuǎn)程服務(wù)器多個(gè)文件復(fù)制到本地計(jì)算機(jī),如mget 123.c 456.c,將文件123.c456.c復(fù)制到本地計(jì)算機(jī)上;
  • ftp>put,將本地文件復(fù)制到遠(yuǎn)程計(jì)算機(jī)上,如:put 789.c,
  • ftp>disconnect,從服務(wù)器斷開,但保留"ftp"命令行提示(依然是處于"ftp"命令行模式,未退出);
  • ftp>open,與指定的遠(yuǎn)程FTP服務(wù)器連接,可以通過(guò)IP地址計(jì)算機(jī)名稱指定計(jì)算機(jī)(DNS或主機(jī)文件必須可用);
  • ftp>quit或(bye),結(jié)束與遠(yuǎn)程服務(wù)器的FTP會(huì)話并退出"ftp"命令行模式;
  • ftp>status,顯示 FTP 連接和切換的當(dāng)前狀態(tài);
  • ftp>debug,切換調(diào)試,當(dāng)調(diào)試打開時(shí),客戶端發(fā)送到遠(yuǎn)程服務(wù)器的每個(gè)命令都將打印。默認(rèn)情況下,調(diào)試是關(guān)閉的;
  • ftp>!,從"ftp"命令行子系統(tǒng)退出到cmdPowerShellshell。

注意"ftp"命令行只是Windows系統(tǒng)自帶的FTP客戶端程序,"ftp"命令行的使用和將要介紹的FTP文件傳輸協(xié)議無(wú)關(guān)。

3 FTP詳解

FTP最大的一個(gè)優(yōu)點(diǎn)就是部署、使用起來(lái)非常簡(jiǎn)單。只要兩個(gè)設(shè)備部署了FTP客戶程序FTP服務(wù)程序,知道用戶名和密碼,就能夠?qū)崿F(xiàn)文件的輕松互傳。甚至一些匿名FTP服務(wù)器,就算沒(méi)有用戶名和密碼也能夠訪問(wèn)。如一些軟件分發(fā)、資料分享,就可能使用到匿名FTP服務(wù)器

3.1 文件傳輸過(guò)程

FTP使用簡(jiǎn)單并不意味著其實(shí)現(xiàn)簡(jiǎn)單。與常見的應(yīng)用層協(xié)議http只需要一個(gè)TCP連接不同,FTP需要兩個(gè)TCP連接來(lái)完成文件的傳輸。其中一個(gè)稱為控制連接,一個(gè)稱為數(shù)據(jù)連接

默認(rèn)情況下,FTP使用2021這兩個(gè)端口,其中20用于數(shù)據(jù)連接(傳遞數(shù)據(jù)),21用于控制連接(傳遞控制信息)。但是,是否使用20作為傳輸數(shù)據(jù)的端口與FTP使用的傳輸模式有關(guān),如果采用主動(dòng)模式,那么數(shù)據(jù)傳輸端口就是20;如果采用被動(dòng)模式,則具體最終使用哪個(gè)端口要服務(wù)器端和客戶端協(xié)商決定。

如下圖所示,描述了使用FTP進(jìn)行文件傳輸?shù)倪^(guò)程,用戶通過(guò)客戶端程序(ftp命令行或FileZilla)與ftp服務(wù)器進(jìn)行交互。用戶的輸入邏輯會(huì)被用戶協(xié)議解釋器解析,轉(zhuǎn)換成FTP命令,通過(guò)控制連接(一個(gè)tcp連接,port口為21)給到服務(wù)器協(xié)議解釋器,服務(wù)器協(xié)議解釋器會(huì)回應(yīng)一個(gè)FTP應(yīng)答。并且根據(jù)傳輸過(guò)來(lái)的FTP命令類型,服務(wù)器協(xié)議解釋器可能需要去啟動(dòng)服務(wù)器數(shù)據(jù)傳輸功能,其過(guò)程包括服務(wù)器主動(dòng)發(fā)起建立一個(gè)tcp連接(用port口20),通過(guò)該連接服務(wù)端和客戶端就可以進(jìn)行數(shù)據(jù)傳輸了。在數(shù)據(jù)傳輸完成后,服務(wù)端會(huì)將該數(shù)據(jù)連接關(guān)閉掉,直到下一次需要文件傳輸時(shí)才又開啟,所以可以看到數(shù)據(jù)連接是隨時(shí)開、隨時(shí)關(guān)。而控制連接在被創(chuàng)建后,其會(huì)一直保持下去,隨時(shí)等待用戶命名的輸入,直到主動(dòng)斷開。

ftp協(xié)議,libevent C++高并發(fā)網(wǎng)絡(luò)編程,服務(wù)器,網(wǎng)絡(luò),linux

3.2 報(bào)文格式

在FTP協(xié)議中,FTP命令FTP應(yīng)答,是以ASCII碼形式的明文傳遞。FTP命令的一般報(bào)文格式是:命令 選項(xiàng)參數(shù) \r\nFTP應(yīng)答的一般報(bào)文格式為:狀態(tài)碼 報(bào)文選項(xiàng) \r\n。先來(lái)介紹FTP命令。

FTP命令都是34個(gè)字節(jié)的大寫ASCII字符組成,其中一些命令帶選項(xiàng)參數(shù)。從客戶端向服務(wù)器發(fā)送的FTP命令有很多,在rfc959中有定義。本節(jié)介紹一些常用的。

命令                             說(shuō)明

ABOR                        放棄先前的FTP命令和數(shù)據(jù)傳輸
LIST filelist               列表顯示文件或目錄
PASS password               服務(wù)器上的密碼
PORT n1,n2,n3,n4,n5,n6      客戶端IP地址(n1 .n2 .n3 .n4)和端口(n5 × 256 + n6)
QUIT                        從服務(wù)器退出
RETR filename               檢索(?。┮粋€(gè)文件
STOR filename               存儲(chǔ)(放)一個(gè)文件
SYST                        服務(wù)器返回系統(tǒng)類型
TYPE type                   說(shuō)明文件類型:A表示ASCII碼,I表示二進(jìn)制類型
USER username               服務(wù)器上用戶名

FTP應(yīng)答的狀態(tài)碼是ASCII碼形式的3位數(shù)字,并且跟有報(bào)文選項(xiàng)。應(yīng)答狀態(tài)碼中每一位數(shù)字都有不同的含義。應(yīng)答狀態(tài)碼第1位第2位的含義如下,第3位給出出錯(cuò)報(bào)文的附加含義。

狀態(tài)碼                解釋

1yz          正面的初步答復(fù)。該操作正在啟動(dòng),但在發(fā)送另一個(gè)命令之前需要另一個(gè)回復(fù)。
2yz          肯定完成回復(fù),可以發(fā)送新命令。
3yz          正面的中間答復(fù)。命令已被接受,但必須發(fā)送另一個(gè)命令。
4yz          暫時(shí)否定完成回復(fù)請(qǐng)求的操作沒(méi)有發(fā)生,但錯(cuò)誤情況是暫時(shí)的,因此可以稍后重新發(fā)出命令。
5yz          永久否定完成回復(fù)。 該命令未被接受,不應(yīng)重試。
x0z          語(yǔ)法錯(cuò)誤。
x1z          信息。
x2z          連接。涉及控制或數(shù)據(jù)連接的回復(fù)。
x3z          身份驗(yàn)證和記帳?;貜?fù)登錄或記帳命令。
x4z          未指定。
x5z          文件系統(tǒng)狀態(tài)。

一些典型的狀態(tài)碼含義如下:

  • 125 數(shù)據(jù)連接已經(jīng)打開,數(shù)據(jù)傳輸開始
  • 200 命令OK
  • 214 幫助消息(針對(duì)用戶)
  • 331 用戶名OK,需要密碼
  • 425 無(wú)法打開數(shù)據(jù)連接
  • 452 寫入文件時(shí)出錯(cuò)
  • 500 語(yǔ)法錯(cuò)誤(無(wú)法識(shí)別的命令)
  • 501 語(yǔ)法錯(cuò)誤(無(wú)效參數(shù))。
  • 502 未實(shí)現(xiàn)的 MODE 類型。

下面來(lái)通過(guò)抓實(shí)際環(huán)境中的網(wǎng)絡(luò)包,看客戶端和服務(wù)器的FTP命令、FTP應(yīng)答交互過(guò)程。使用前面介紹的windows環(huán)境下的"ftp"命令行和FTP服務(wù)器進(jìn)行交互。如下圖所示為客戶端登錄到FTP服務(wù)器的抓包過(guò)程,客戶端ip地址為192.168.213.1,服務(wù)端ip地址為192.168.213.136。如圖中紅框所示,可以看到首先客戶端和服務(wù)器通過(guò)tcp三次握手建立了一條tcp通路,服務(wù)端端口號(hào)21,客戶端端口號(hào)是64257,這條通路就是上面所說(shuō)的控制連接。因?yàn)闆](méi)有進(jìn)行文件數(shù)據(jù)傳輸,所以數(shù)據(jù)連接尚未建立。

windows環(huán)境"ftp"命令行客戶端展現(xiàn)的交互過(guò)程:

D:\> ftp 192.168.213.136
連接到 192.168.213.136。
220 (vsFTPd 3.0.3)
200 Always in UTF8 mode.
用戶(192.168.213.136:(none)): book
331 Please specify the password.
密碼:
230 Login successful.
ftp>

ftp協(xié)議,libevent C++高并發(fā)網(wǎng)絡(luò)編程,服務(wù)器,網(wǎng)絡(luò),linux

建立好控制連接之后,客戶端和服務(wù)器就開始了報(bào)文交互,如圖中的框所示,下面文字也描述了其報(bào)文交互過(guò)程,并且做了注釋。

服務(wù)端(192.168.2.2)220 (vsFTPd 3.0.3)                //220,表示服務(wù)器準(zhǔn)備完成,客戶端可以發(fā)送命令了。 后面跟的是FTP服務(wù)器的版本信息。
客戶端(192.168.2.6):OPTS UTF8 ON                       //表示服務(wù)器需要切換到UTF8字符集進(jìn)行工作。
服務(wù)端(192.168.2.2)200 Always in UTF8 mode.          //200,表示命令執(zhí)行成功,后面的提示信息表示已經(jīng)工作再UTF8模式下了。
客戶端(192.168.2.6):USER book                          //指定用戶book登錄
服務(wù)端(192.168.2.2)331 Please specify the password.  //331 表示需要輸入密碼
客戶端(192.168.2.6):PASS 123456                        //客戶端輸入密碼123456
服務(wù)端(192.168.2.2)230 Login successful.             //# 230 表示用戶登入成功

下圖展示了第一個(gè)FTP應(yīng)答報(bào)文220 (vsFTPd 3.0.3)\r\n的二進(jìn)制數(shù)據(jù)形式,其也印證了FTP報(bào)文是以ASCII碼明文進(jìn)行傳遞的。220 (vsFTPd 3.0.3)\r\n報(bào)文的20個(gè)字節(jié)(包含空格)的ASCII碼為32 32 30 20 28 76 73 46 54 50 64 20 33 2e 30 2e 33 29 0d 0a。

ftp協(xié)議,libevent C++高并發(fā)網(wǎng)絡(luò)編程,服務(wù)器,網(wǎng)絡(luò),linux

3.3 數(shù)據(jù)連接

上一節(jié)看到了控制連接的建立和連接建立之后的客戶端和服務(wù)器之間的報(bào)文交互。本節(jié)來(lái)看一下數(shù)據(jù)連接。數(shù)據(jù)連接有如下三個(gè)用途:

  • 從客戶向服務(wù)器發(fā)送一個(gè)文件。
  • 從服務(wù)器向客戶發(fā)送一個(gè)文件。
  • 從服務(wù)器向客戶發(fā)送文件或目錄列表。

這里再?gòu)?qiáng)調(diào)一下控制連接一直保持到客戶端—服務(wù)器連接的全過(guò)程,但數(shù)據(jù)連接可以根據(jù)需要隨時(shí)開、隨時(shí)關(guān)。根據(jù)FTP數(shù)據(jù)連接的用途可以看到,在進(jìn)行文件傳輸或是查詢服務(wù)器端文件或目錄列表時(shí),需要?jiǎng)?chuàng)建數(shù)據(jù)連接。數(shù)據(jù)連接的創(chuàng)建過(guò)程如下:

  • 數(shù)據(jù)連接的創(chuàng)建由客戶端控制,因?yàn)槭强蛻舳税l(fā)出需要數(shù)據(jù)連接的命令(獲取文件、上傳文件或列出目錄)。
  • 客戶端通常在客戶端主機(jī)上選擇一個(gè)臨時(shí)端口號(hào)來(lái)結(jié)束數(shù)據(jù)連接。客戶端從該端口發(fā)出被動(dòng)打開。
  • 客戶端使用PORT命令通過(guò)控制連接將此端口號(hào)發(fā)送到服務(wù)器。
  • 服務(wù)器接收控制連接上的端口號(hào),并向客戶端主機(jī)上的該端口發(fā)出主動(dòng)打開。數(shù)據(jù)連接的服務(wù)器端始終使用端口20

下面來(lái)進(jìn)行網(wǎng)絡(luò)抓包看一下實(shí)際的數(shù)據(jù)連接建立過(guò)程。通過(guò)windows環(huán)境下的"ftp"命令行客戶端向FTP服務(wù)器請(qǐng)求一個(gè)文件123.c來(lái)觸發(fā)數(shù)據(jù)連接的建立。下圖為數(shù)據(jù)連接的網(wǎng)絡(luò)抓包過(guò)程??蛻舳送ㄟ^(guò)PORT命令將端口信息(192.168.231.1 227,188、端口號(hào):277*256+188=58230)傳到服務(wù)端;服務(wù)端通過(guò)自身20端口和客戶端58230端口,主動(dòng)建立TCP連接,此連接就是為數(shù)據(jù)連接。文件數(shù)據(jù)123.c就是通過(guò)該連接進(jìn)行傳輸。文件數(shù)據(jù)傳輸完成后,服務(wù)端又會(huì)主動(dòng)發(fā)起斷開該連接,如下圖中紅框所示的四次揮手。

windows環(huán)境"ftp"命令行客戶端展現(xiàn)的交互過(guò)程:

ftp> get 123.c
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for 123.c (13 bytes).
226 Transfer complete.
ftp: 收到 13 字節(jié),用時(shí) 0.0013000.00千字節(jié)/秒。

ftp協(xié)議,libevent C++高并發(fā)網(wǎng)絡(luò)編程,服務(wù)器,網(wǎng)絡(luò),linux

3.4 主動(dòng)模式

思考一下上一節(jié)描述的數(shù)據(jù)連接會(huì)有什么問(wèn)題?其發(fā)起數(shù)據(jù)連接過(guò)程為,客戶端通過(guò)PORT命令將客戶端監(jiān)聽的端口號(hào)傳遞給服務(wù)端,服務(wù)端通過(guò)固定的20端口主動(dòng)去和客戶端監(jiān)聽的端口進(jìn)行TCP連接,此連接就是數(shù)據(jù)連接??梢钥吹饺绻?strong>客戶端的防火墻阻止了服務(wù)器的主動(dòng)連接請(qǐng)求,那么數(shù)據(jù)連接就會(huì)失敗。所以主動(dòng)模式有一定缺陷。

上面描述的這種連接模式就是主動(dòng)模式,主動(dòng)是相對(duì)于服務(wù)端來(lái)說(shuō)的。下圖示意了主動(dòng)模式過(guò)程,控制連接是客戶端發(fā)起,數(shù)據(jù)連接是服務(wù)端發(fā)起。

ftp協(xié)議,libevent C++高并發(fā)網(wǎng)絡(luò)編程,服務(wù)器,網(wǎng)絡(luò),linux

3.5 被動(dòng)模式

為了解決主動(dòng)模式所面臨的問(wèn)題,F(xiàn)TP協(xié)議也支持被動(dòng)模式。被動(dòng)模式的示意圖如下圖所示:控制連接和數(shù)據(jù)連接都由客戶端主動(dòng)發(fā)起,而且服務(wù)端數(shù)據(jù)連接端口不在是固定端口20,而是被分配了一個(gè)臨時(shí)端口。因?yàn)閮纱芜B接都是客戶端主動(dòng)發(fā)起,所以就不會(huì)有防火墻的問(wèn)題。

ftp協(xié)議,libevent C++高并發(fā)網(wǎng)絡(luò)編程,服務(wù)器,網(wǎng)絡(luò),linux

通過(guò)網(wǎng)絡(luò)數(shù)據(jù)包來(lái)看一下被動(dòng)模式的交互過(guò)程??蛻舳送ㄟ^(guò)發(fā)送PASV,表明客戶端明確告知FTP服務(wù)器它使用被動(dòng)模式。服務(wù)器收到PASV后,會(huì)分配一個(gè)臨時(shí)端口號(hào)37499(192,168,2,5,146,123,端口號(hào)=146*256+123=34799),并通過(guò)報(bào)文將該端口號(hào)通知到客戶端。明確好了兩端的端口號(hào),客戶端就會(huì)主動(dòng)通過(guò)TCP三次握手和服務(wù)器建立連接,該連接就是數(shù)據(jù)連接。在文件傳輸完畢后,服務(wù)器通過(guò)TCP四次揮手,斷開該連接。

ftp協(xié)議,libevent C++高并發(fā)網(wǎng)絡(luò)編程,服務(wù)器,網(wǎng)絡(luò),linux

3.6 匿名服務(wù)器

上面介紹的客戶端向FTP服務(wù)器發(fā)起連接的過(guò)程,第一步基本都需要輸入服務(wù)器的用戶名和密碼。但有一些FTP服務(wù)器天然就是為了分發(fā)軟件和共享文件而存在,讓每一個(gè)人都申請(qǐng)用戶名和密碼,將非常的不方便。匿名FTP(anonymous FTP)就是為了應(yīng)對(duì)這種場(chǎng)景而出現(xiàn)的。

匿名FTP服務(wù)器的實(shí)質(zhì)是:提供服務(wù)的機(jī)構(gòu)在它的FTP服務(wù)器上建立一個(gè)公開賬戶(一般為anonymous),并賦予該賬戶訪問(wèn)公共目錄的權(quán)限。用戶想要登錄到這些FTP服務(wù)器時(shí),無(wú)需事先申請(qǐng)用戶賬戶和密碼,可以用anonymous作為用戶名,用自己的E-mail地址做密碼或直接不輸入密碼,便可登錄,獲取FTP服務(wù)。

ftp.gnu.org就是一個(gè)匿名服務(wù)器,用于GNU 的軟件分發(fā)和資料共享。如下是其登錄過(guò)程,直接用anonymous當(dāng)作用戶名,不需要輸入密碼。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-783534.html

ftp> open ftp.gnu.org
連接到 ftp.gnu.org。
220 GNU FTP server ready.
200 Always in UTF8 mode.
用戶(ftp.gnu.org:(none)): anonymous
230-NOTICE (Updated October 15 2021):
230-
230-If you maintain scripts used to access ftp.gnu.org over FTP,
230-we strongly encourage you to change them to use HTTPS instead.
230-
230-Eventually we hope to shut down FTP protocol access, but plan
230-to give notice here and other places for several months ahead
230-of time.
230-
230----
230-
230-Due to U.S. Export Regulations, all cryptographic software on this
230-site is subject to the following legal notice:
230-
230-    This site includes publicly available encryption source code
230-    which, together with object code resulting from the compiling of
230-    publicly available source code, may be exported from the United
230-    States under License Exception "TSU" pursuant to 15 C.F.R. Section
230-    740.13(e).
230-
230-This legal notice applies to cryptographic software only. Please see
230-the Bureau of Industry and Security (www.bxa.doc.gov) for more
230-information about current U.S. regulations.
230 Login successful.
ftp>

4 總結(jié)

  • FTP是一個(gè)用于在計(jì)算機(jī)網(wǎng)絡(luò)上在客戶端和服務(wù)器之間進(jìn)行文件傳輸?shù)膽?yīng)用層協(xié)議。RFC 959定義了FTP協(xié)議規(guī)范。
  • FTP需要兩個(gè)TCP連接來(lái)完成文件的傳輸。其中一個(gè)稱為控制連接,一個(gè)稱為數(shù)據(jù)連接。
  • 控制連接一直保持到客戶端—服務(wù)器連接的全過(guò)程,但數(shù)據(jù)連接可以根據(jù)需要隨時(shí)開、隨時(shí)關(guān)。
  • 數(shù)據(jù)連接可以分為主動(dòng)模式被動(dòng)模式,主動(dòng)模式有被客戶端防火墻阻止的風(fēng)險(xiǎn)。
  • 主動(dòng)模式,FTP使用2021這兩個(gè)端口,其中20用于數(shù)據(jù)連接(傳遞數(shù)據(jù)),21用于控制連接(傳遞控制信息)。
  • 如果采用被動(dòng)模式,具體最終使用哪個(gè)端口做數(shù)據(jù)連接要服務(wù)器端和客戶端協(xié)商決定。
  • FTP報(bào)文是以ASCII碼明文進(jìn)行傳遞的。

到了這里,關(guān)于FTP協(xié)議詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FTP文件傳輸協(xié)議詳解

    FTP文件傳輸協(xié)議詳解

    簡(jiǎn)介:FTP是基于TCP協(xié)議之上的具有C/S架構(gòu)的文件服務(wù)器。 需要通過(guò)控制連接20端口來(lái)控制雙方的通信 需要通過(guò)數(shù)據(jù)連接21端口來(lái)進(jìn)行雙方的通信 主動(dòng)模式:最大的特點(diǎn)是數(shù)據(jù)連接由服務(wù)器的20端口主動(dòng)發(fā)起連接,這種情況可能會(huì)被客戶端的防火墻拒絕 被動(dòng)模式,是由客戶端向

    2024年02月06日
    瀏覽(28)
  • FTP協(xié)議詳解

    FTP協(xié)議詳解

    鏈接: C/C++Linux服務(wù)器開發(fā)/后臺(tái)架構(gòu)師【零聲教育】-學(xué)習(xí)視頻教程-騰訊課堂 FTP 為 File Transfer Protocol 的縮寫,即文件傳輸協(xié)議,是 TCP/IP 協(xié)議族中的協(xié)議之一。 FTP 是一個(gè)用于在計(jì)算機(jī)網(wǎng)絡(luò)上在客戶端和服務(wù)器之間進(jìn)行文件傳輸?shù)膽?yīng)用層協(xié)議。 RFC 959 定義了 FTP 協(xié)議規(guī)范。 同大

    2024年02月02日
    瀏覽(21)
  • TCP/IP詳解——FTP 協(xié)議,Telnet協(xié)議

    TCP/IP詳解——FTP 協(xié)議,Telnet協(xié)議

    FTP 數(shù)據(jù)傳輸協(xié)議,屬于是 成塊數(shù)據(jù)流 。 FTP是用來(lái)傳送文件的協(xié)議。使用FTP實(shí)現(xiàn)遠(yuǎn)程文件傳輸?shù)耐瑫r(shí),還可以保證數(shù)據(jù)傳輸?shù)目煽啃院透咝浴?TCP連接 使用FTP進(jìn)行文件傳輸時(shí),會(huì)使用兩個(gè)TCP連接。 第一個(gè)連接是FTP客戶端和FTP服務(wù)器間的 控制連接 。FTP服務(wù)器開啟21號(hào)端口,

    2024年01月20日
    瀏覽(22)
  • TCP/IP協(xié)議、HTTP協(xié)議和FTP協(xié)議等網(wǎng)絡(luò)協(xié)議簡(jiǎn)介

    TCP/IP協(xié)議、HTTP協(xié)議和FTP協(xié)議等網(wǎng)絡(luò)協(xié)議簡(jiǎn)介

    常見的網(wǎng)絡(luò)協(xié)議主要包括TCP/IP協(xié)議、HTTP協(xié)議、FTP協(xié)議等。 TCP/IP協(xié)議(Transmission Control Protocol/Internet Protocol)是互聯(lián)網(wǎng)最基礎(chǔ)的協(xié)議,由網(wǎng)絡(luò)層的IP協(xié)議和傳輸層的TCP協(xié)議組成。 TCP/IP定義了電子設(shè)備如何連入因特網(wǎng),以及數(shù)據(jù)如何在它們之間傳輸?shù)臉?biāo)準(zhǔn),是Internet國(guó)際互聯(lián)網(wǎng)絡(luò)

    2024年04月10日
    瀏覽(37)
  • 網(wǎng)絡(luò)協(xié)議——FTP(文件傳輸協(xié)議)與TFTP(簡(jiǎn)單文件傳輸協(xié)議)原理及搭建使用

    網(wǎng)絡(luò)協(xié)議——FTP(文件傳輸協(xié)議)與TFTP(簡(jiǎn)單文件傳輸協(xié)議)原理及搭建使用

    1. FTP基本概念 ???? ???? FTP采用典型的C/S架構(gòu)(即服務(wù)器端與客戶端模型),端口號(hào)為20/21,客戶端與服務(wù)器端建立TCP連接之后即可實(shí)現(xiàn)文件的上傳、下載。20端口用來(lái)傳輸數(shù)據(jù)流,21端口用來(lái)傳輸控制流。 2. FTP傳輸文件的模式 針對(duì)傳輸?shù)奈募愋筒煌?,F(xiàn)TP可以采用不同的

    2024年04月26日
    瀏覽(18)
  • FTP(File Transfer Protocol,文件傳輸協(xié)議)是一種用于在網(wǎng)絡(luò)上傳輸文件的協(xié)議

    FTP(File Transfer Protocol,文件傳輸協(xié)議)是一種用于在網(wǎng)絡(luò)上傳輸文件的協(xié)議。它允許用戶通過(guò)網(wǎng)絡(luò)連接到遠(yuǎn)程計(jì)算機(jī),并在本地計(jì)算機(jī)和遠(yuǎn)程計(jì)算機(jī)之間進(jìn)行文件傳輸。 FTP分為兩個(gè)主要角色:客戶端和服務(wù)器??蛻舳耸前l(fā)起文件傳輸請(qǐng)求的計(jì)算機(jī),而服務(wù)器是存放文件和響

    2024年02月05日
    瀏覽(33)
  • 【Linux網(wǎng)絡(luò)】詳解使用http和ftp搭建yum倉(cāng)庫(kù),以及yum網(wǎng)絡(luò)源優(yōu)化

    【Linux網(wǎng)絡(luò)】詳解使用http和ftp搭建yum倉(cāng)庫(kù),以及yum網(wǎng)絡(luò)源優(yōu)化

    目錄 一、回顧yum的原理 1.1yum簡(jiǎn)介 yum安裝的底層原理: yum的好處: 二、學(xué)習(xí)yum的配置文件及命令 1、yum的配置文件 2、yum的相關(guān)命令詳解 3、yum的命令相關(guān)案例 三、搭建yum倉(cāng)庫(kù)的方式 1、本地yum倉(cāng)庫(kù)建立 2、通過(guò)http搭建內(nèi)網(wǎng)的yum倉(cāng)庫(kù) 3、通過(guò)ftp搭建內(nèi)網(wǎng)的yum倉(cāng)庫(kù) 4、創(chuàng)建本地的

    2024年02月03日
    瀏覽(26)
  • 計(jì)算機(jī)網(wǎng)絡(luò) 應(yīng)用層上 | 域名解析系統(tǒng)DNS 文件傳輸協(xié)議FTP,NFS 萬(wàn)維網(wǎng)URL HTTP HTML

    計(jì)算機(jī)網(wǎng)絡(luò) 應(yīng)用層上 | 域名解析系統(tǒng)DNS 文件傳輸協(xié)議FTP,NFS 萬(wàn)維網(wǎng)URL HTTP HTML

    之前我們講運(yùn)輸層的時(shí)候已經(jīng)講了運(yùn)輸層可以給不同進(jìn)程之間通信,但我們還需要應(yīng)用層原因是,許多 應(yīng)用需要多個(gè)進(jìn)程之間相互配合完成,所以應(yīng)用層進(jìn)程用來(lái)約束這些配合! 每個(gè)應(yīng)用層協(xié)議用來(lái)解決一個(gè)問(wèn)題 應(yīng)用層的許多協(xié)議都是基于客戶服務(wù)器方式 客戶是請(qǐng)求方,服

    2024年01月24日
    瀏覽(59)
  • FTP 協(xié)議

    FTP 協(xié)議

    FTP協(xié)議的(file Transfer Protocol)文本傳輸協(xié)議,簡(jiǎn)稱為FTP, **FTP 是一種基于 TCP 的應(yīng)用層協(xié)議,它不支持 UDP 協(xié)議。 FTP 工作在一種特殊的服務(wù)機(jī)制上,** 采用的是c/s模式 也就是客戶端和服務(wù)器 服務(wù)器分為兩個(gè)端口 一個(gè) ‘?dāng)?shù)據(jù)’ 端口20(傳輸端口)和一個(gè) ‘命令’ 端口21(也

    2024年02月04日
    瀏覽(21)
  • FTP協(xié)議相關(guān)知識(shí)

    FTP協(xié)議允許TCP/IP網(wǎng)絡(luò)上的兩臺(tái)計(jì)算機(jī)之間進(jìn)行文件傳輸。而FTP服務(wù)是基于FTP協(xié)議的文件傳輸服務(wù)。工作時(shí),一臺(tái)計(jì)算機(jī)上運(yùn)行FTP客戶端應(yīng)用程序,另一臺(tái)計(jì)算機(jī)上需要運(yùn)行FTP服務(wù)器端程序。只有擁有了FTP服務(wù),客戶端才能進(jìn)行文件傳輸。下面介紹FTP服務(wù)的構(gòu)成和文件傳輸模式

    2024年02月15日
    瀏覽(14)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包