當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]FTP文件傳輸協(xié)議:一、簡(jiǎn)述:1、TCP/IP協(xié)議簇,應(yīng)用層協(xié)議,采用服務(wù)端與客戶端通信方式共享文件。2、FTP根目錄:/ ? ? ? ? ? ?(如路徑: /hello/) ?3、現(xiàn)在的FTP一般用

FTP文件傳輸協(xié)議:


一、簡(jiǎn)述:

1、TCP/IP協(xié)議簇,應(yīng)用層協(xié)議,采用服務(wù)端與客戶端通信方式共享文件。

2、FTP根目錄:/ ? ? ? ? ? ?(如路徑: /hello/) ?

3、現(xiàn)在的FTP一般用Serv-U搭建,IIS搭建的FTP服務(wù)端與Serv-U搭建的服務(wù)端返回的響應(yīng)信息格式不一樣,可能會(huì)導(dǎo)致解析出錯(cuò)。

4、服務(wù)端監(jiān)聽(tīng)端口:

1)端口20:傳輸套接字(僅用于傳輸文件,每傳輸完畢一次,就關(guān)閉一次連接)

2)端口21:控制套接字(對(duì)話,傳輸控制,獲取信息,持久連接)


二、FTP缺點(diǎn):

1、明文登錄.
2、FTP客戶端程序因使用>1024端口接收大數(shù)據(jù),容易被防火墻過(guò)濾.

? (被動(dòng)模式解決,被動(dòng)模式的概念在下面)

3、運(yùn)行FTP服務(wù)端程序的機(jī)器可能在連接目標(biāo)監(jiān)聽(tīng)隨機(jī)端口被防火墻提示.
4、FTP在傳輸數(shù)量多的小文件性能不好.


三、匿名登錄:

1、為了實(shí)現(xiàn)文件在互聯(lián)網(wǎng)上傳輸?shù)拈_(kāi)放性,服務(wù)端管理員可以建立一個(gè)特殊的用戶ID,
? ?提供給互聯(lián)網(wǎng)上的用戶下載和上傳文件,這就是匿名用戶,它不需要密碼.

2、常用的匿名登錄名稱:anonymous


主動(dòng)模式與被動(dòng)模式的概念:(建立文件傳輸連接的兩種不同方式而已)

一、主動(dòng)模式:

1、客戶端創(chuàng)建一個(gè)監(jiān)聽(tīng)套接字,監(jiān)聽(tīng)端口>1024,控制套接字發(fā)送PORT命令附帶IP地址以及端口(特殊格式)到服務(wù)端.
2、服務(wù)端收到PORT命令,服務(wù)端的20端口連接到客戶端,建立文件傳輸通信.

二、被動(dòng)模式:

1、客戶端發(fā)送PASV命令,服務(wù)端收到后,會(huì)創(chuàng)建一個(gè)在>1024端口的監(jiān)聽(tīng)套接字,然后回復(fù)一串IP地址以及端口號(hào)(特殊格式).
2、通過(guò)回復(fù)的信息,連接到服務(wù)端的文件傳輸套接字上進(jìn)行通信.


三、兩種模式下的IP地址以及端口號(hào)的特殊表示形式:(須知)

1、PORT與PASV命令表示IP和端口的特殊格式:(PORT與PASV命令使用方式在下面)

舉例: ? ?IP地址:192.168.1.120 ? ? ?端口:4500
表示格式:192,168,1,120,17,148

解釋:
1、注意是逗號(hào).
2、前4個(gè)字段表示IP地址,即192,168,1,120,沒(méi)有變
3、17,148字段:相當(dāng)于(17 乘 256) + 148 = ?4500端口

總結(jié):
1、使用的是逗號(hào)
2、前四字段為IP地址,第五字段 × ?256 + 第六字段 = 端口號(hào).

3、由于建立文件傳輸套接字連接時(shí),會(huì)發(fā)送一個(gè)IP地址以及端口號(hào)(被動(dòng)模式),說(shuō)明控制連接與文件傳輸連接有可能不在同一臺(tái)機(jī)器上,這是由發(fā)送參數(shù)推斷出來(lái)的,并未測(cè)試過(guò).

為什么會(huì)有兩種文件傳輸連接模式:

1、因?yàn)榉阑饓Φ拇嬖?導(dǎo)致使用FTP協(xié)議的一方可能被防火墻過(guò)濾一些東西.
? ?主動(dòng)模式:客戶端的>1024端口可能被過(guò)濾.

? ?被動(dòng)模式:服務(wù)端的>1024端口可能被過(guò)濾.

通常都是使用被動(dòng)方式進(jìn)行FTP連接。


編寫(xiě)FTP客戶端:

一、編寫(xiě)步驟:

1、控制套接字連接服務(wù)端的21端口,使用USER 、PASS 登錄.
2、利用控制套接字獲取感興趣信息,文件套接字在傳輸文件時(shí)才連接服務(wù)端.

3、QUIT 退出.


二、上傳文件:

1、文件套接字連接,可以設(shè)置一些雜項(xiàng)(如傳輸類(lèi)型),一般默認(rèn)就行.
2、發(fā)送STOR命令,接收一個(gè)服務(wù)端的響應(yīng)碼.
3、開(kāi)始在文件套接字使用send函數(shù)將文件數(shù)據(jù)上傳上去.
4、文件套接字send執(zhí)行完畢后,不用管,直接closesocket文件套接字.
5、控制套接字用recv函數(shù)等待服務(wù)端發(fā)出接收完成信號(hào)即可.


三、下載文件:

1、文件套接字連接,可以設(shè)置一些雜項(xiàng)(如傳輸類(lèi)型),一般默認(rèn)就行.
2、發(fā)送RETR命令,意思讓服務(wù)端把指定的文件的數(shù)據(jù),send過(guò)來(lái)文件套接字,之后接收一個(gè)服務(wù)端的響應(yīng)碼(一般為226發(fā)送完畢信號(hào),要等待這個(gè)信號(hào)來(lái)到為止).
3、226發(fā)送完畢信號(hào)到來(lái),就可以讓文件套接字recv函數(shù)來(lái)接收到來(lái)的數(shù)據(jù)了.


四、需要注意:

1、文本模式:傳輸文本文件時(shí)使用,一般在使用REST命令斷點(diǎn)續(xù)傳時(shí),不能指定為文本模式.
2、二進(jìn)制模式:通用


常用命令:(每執(zhí)行一次命令后,服務(wù)端會(huì)給與回復(fù))

一、登錄類(lèi):


USER 賬號(hào)rn登錄賬號(hào)PASS 密碼rn登錄密碼REINrn想重新登錄,連接不會(huì)關(guān)閉,下一條命令USER可重新連接QUITrn退出

二、建立文件傳輸套接字通信類(lèi):


PASVrn被動(dòng)模式,服務(wù)端會(huì)回復(fù)一個(gè)IP地址和端口,然后你再連接.(一般使用被動(dòng)模式)PORT 表示IP端口的特殊格式rn主動(dòng)模式,讓服務(wù)端主動(dòng)來(lái)連接你的文件監(jiān)聽(tīng)套接字
三、操作文件類(lèi):


STOR 文件名rn上傳文件APPE 文件名rn上傳文件,如果文件名已存在,把數(shù)據(jù)插入尾部DELE 文件名rn刪除指定文件REST 字節(jié)個(gè)數(shù)rn跳過(guò)字節(jié)數(shù),短點(diǎn)續(xù)傳,下載文件前使用,使RETR命令僅下載偏移后的部分RETR 文件名rn下載文件ABORrn放棄傳輸一個(gè)文件,將關(guān)閉文件套接字通信
注意:REST命令一般不能在文本模式來(lái)使用.一般在二進(jìn)制模式下使用(I),經(jīng)測(cè)試,不能在上傳時(shí)使用(不確定,可以自己去試試).

四、目錄操作類(lèi):


CWD 目錄名rn改變當(dāng)前目錄到指定目錄CDUPrn返回上一次目錄,當(dāng)?shù)礁夸洉r(shí),不變LISTrn顯示當(dāng)前目錄下的文件,包括長(zhǎng)度,文件類(lèi)型(如目錄)與權(quán)限(表示類(lèi)型:drwxr-xr-x)LIST 目錄名rn顯示指定目錄下的文件,包括長(zhǎng)度,文件類(lèi)型(如目錄)與權(quán)限(表示類(lèi)型:drwxr-xr-x)MKD 目錄名rn創(chuàng)建一個(gè)目錄PWDrn顯示當(dāng)前目錄的路徑RMD 目錄名rn刪除目錄RNFR 文件或目錄名rn將某文件或目錄重命名,接下來(lái)要使用RNTO指定新名稱RNTO 文件或目錄名rn重命名為....NLSTrn僅顯示當(dāng)前目錄下的文件,以rn表示下一個(gè)NLST 目錄rn僅顯示指定目錄下的文件,以rn表示下一個(gè)
五、模式與類(lèi)型:


TYPE 字符rn選擇傳輸類(lèi)型
A為文本模式
I為二進(jìn)制模式
E為EBCDIC
N為Nonprint非打印模式
T為T(mén)elnet格式控制符六、參數(shù)信息:


SYSTrn獲取服務(wù)端系統(tǒng)信息(NT或Unix)STAT 文件或文件夾rn獲取相關(guān)信息七、其他不常用的命令:


ACCT 用戶帳號(hào)rn發(fā)送PASS命令并接收到332代碼之后才應(yīng)發(fā)送SMNT 另一個(gè)文件數(shù)據(jù)系統(tǒng)的路徑rn允許用戶裝配另一個(gè)文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)而無(wú)需改變登錄MODE 字符rn指定傳輸類(lèi)型:默認(rèn)為流模式(S為流)(B為塊)(C為經(jīng)過(guò)壓縮)STRU 字符rn指定結(jié)構(gòu)類(lèi)型:F為文件結(jié)構(gòu)(默認(rèn)值,就是流式傳輸)ALLO 邏輯字節(jié)數(shù)rn上傳文件前,使用此命令申請(qǐng)內(nèi)存(本人還沒(méi)見(jiàn)到需要的,都是直接上傳)NOOP測(cè)試通信HELP幫助,會(huì)列出有效命令

FTP服務(wù)端的響應(yīng)碼:


150文件狀態(tài)良好,打開(kāi)數(shù)據(jù)連接200命令成功212目錄狀態(tài)213文件狀態(tài)110重新啟動(dòng)標(biāo)記應(yīng)答500格式錯(cuò)誤,命令不可識(shí)別501參數(shù)語(yǔ)法錯(cuò)誤502命令未實(shí)現(xiàn)120在X分鐘內(nèi)準(zhǔn)備好125連接打開(kāi)準(zhǔn)備傳送214幫助信息,信息僅對(duì)人類(lèi)用戶有用215名字系統(tǒng)類(lèi)型220對(duì)新用戶服務(wù)準(zhǔn)備好221服務(wù)關(guān)閉控制連接,可以退出登錄202命令未實(shí)現(xiàn)211系統(tǒng)狀態(tài)或系統(tǒng)幫助響應(yīng)225數(shù)據(jù)連接打開(kāi),無(wú)傳輸正在進(jìn)行226關(guān)閉數(shù)據(jù)連接,請(qǐng)求的文件操作成功227進(jìn)入被動(dòng)模式230用戶登錄331用戶名正確,需要口令332登錄時(shí)需要帳戶信息350請(qǐng)求的文件操作需要進(jìn)一步命令421連接用戶過(guò)多425不能打開(kāi)數(shù)據(jù)連接426關(guān)閉連接,中止傳輸450請(qǐng)求的文件操作未執(zhí)行451中止請(qǐng)求的操作:有本地錯(cuò)誤452未執(zhí)行請(qǐng)求的操作:系統(tǒng)存儲(chǔ)空間不足250請(qǐng)求的文件操作完成257創(chuàng)建"PATHNAME"503命令順序錯(cuò)誤504此參數(shù)下的命令功能未實(shí)現(xiàn)530賬號(hào)或密碼錯(cuò)誤532存儲(chǔ)文件需要帳戶信息550未執(zhí)行請(qǐng)求的操作551請(qǐng)求操作中止:頁(yè)類(lèi)型未知552請(qǐng)求的文件操作中止,存儲(chǔ)分配溢出553未執(zhí)行請(qǐng)求的操作:文件名不合法

關(guān)于與Serv-U搭建FTP服務(wù)器通信返回的文件格式:

舉例:發(fā)送LIST命令到服務(wù)端,返回一個(gè)文件列表,每一個(gè)文件最前面帶有:drwxr-xr-x
(這應(yīng)該是Linux下用戶權(quán)限與文件類(lèi)型的表達(dá)方式)
(我對(duì)Linux不熟,所以一開(kāi)始我還以為是什么加密的數(shù)據(jù),其實(shí)他代表用戶權(quán)限與文件類(lèi)型)

drwxr-xr-x ? ?10個(gè)域 ? Linux下表示用戶擁有的權(quán)限
順序:從左到右
第1位(文件類(lèi)型):d(目錄文件)、l(鏈接文件),-(普通文件),p(管道)
第2-4位(權(quán)限):r(讀)、w(寫(xiě))、x(可執(zhí)行)
第5-7位(此文件屬主的用戶組權(quán)限)
第8-10位(其他用戶所具有的權(quán)限)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉