FTP應答碼

來源:互聯網
上載者:User

FTP協議

1.  檔案傳輸

 

檔案傳輸服務是網路互聯環境所必需的一種服務,當前網路中檔案傳輸最主要的傳輸方式是使用FTP協議。

 

FTP,全稱File Transfer Protocol,中文名為檔案傳輸通訊協定,它可以在網路中傳輸電子文檔、圖片、聲音、影視、程式及程式等多種類型的檔案。如果使用者需要將檔案從自己的電腦上發送到另一台電腦上,可使用FTP上傳(upload)或(put)操作,而更多種的情況是使用者使用FTP下載(download)或擷取(get)操作從FTP伺服器上下載檔案。

 

2.  FTP工作原理

一個完整的FTP檔案傳輸需要建立兩種類型的串連,一種為檔案傳輸下命令,稱為控制串連,另一種實現真正的檔案傳輸,稱為資料連線。

1)      控制串連

用戶端希望與FTP伺服器建立上傳下載的資料轉送時,它首先向伺服器的TCP 21連接埠發起一個建立串連的請求,FTP伺服器接受來自用戶端的請求,完成串連的建立過程,這樣的串連就稱為FTP控制串連。

2)      資料連線

FTP控制串連建立之後,即可開始傳輸檔案,傳輸檔案的串連稱為FTP資料連線。FTP資料連線就是FTP傳輸資料的過程,它有兩種傳輸模式:主動傳輸模式(PORT)和被動傳輸模式(PASSIVE,簡稱PASV)。主動傳輸模式下,FTP伺服器使用20連接埠與用戶端的暫時連接埠進行串連,並傳輸資料,用戶端只是處於接收狀態。被動傳輸模式下,FTP伺服器開啟一個暫態連接埠等待用戶端對其進行串連,並傳輸資料,伺服器並不參與資料的主動傳輸,只是被動接受。

FTP兩種工作模式:主動模式(Active FTP)和被動模式(Passive FTP)

    在主動模式下,FTP用戶端隨機開啟一個大於1024的連接埠N向伺服器的21號連接埠發起串連,然後開放N+1號連接埠進行監聽,並向伺服器發出PORT N+1命令。伺服器接收到命令後,會用其本地的FTP資料連接埠(通常是20)來串連用戶端指定的連接埠N+1,進行資料轉送。

    在被動模式下,FTP用戶端隨機開啟一個大於1024的連接埠N向伺服器的21號連接埠發起串連,同時會開啟N+1號連接埠。然後向伺服器發送PASV命令,通知伺服器自己處於被動模式。伺服器收到命令後,會開放一個大於1024的連接埠P進行監聽,然後用PORT P命令通知用戶端,自己的資料連接埠是P。用戶端收到命令後,會通過N+1號連接埠串連伺服器的連接埠P,然後在兩個連接埠之間進行資料轉送。

    總的來說,主動模式的FTP是指伺服器主動串連用戶端的資料連接埠,被動模式的FTP是指伺服器被動地等待用戶端串連自己的資料連接埠。

    被動模式的FTP通常用在處於防火牆之後的FTP客戶訪問外界FTp伺服器的情況,因為在這種情況下,防火牆通常配置為不允許外界訪問防火牆之後主機,而只允許由防火牆之後的主機發起的串連請求通過。因此,在這種情況下不能使用主動模式的FTP傳輸,而被動模式的FTP可以良好的工作。

(

 

?

 

 

區別在於:

主動模式是client bind a port,然後server從server的20port把資料寫道client開的port上來。

被動模式是client要求server開一個port,然後client連那個port把資料取回來。

 

簡明一點就是:

主動模式是server把資料寫道client。

被動模式是client去server端把資料去回來.

 

)

 

 

3.  FTP命令

FTP常見的命令如表1所示。

 

 

命令

 

描述

 

USER

 

為使用者驗證提供使用者名稱

 

PASS

 

為使用者驗證提供密碼

 

PWD

 

輸出FTP伺服器的當前工作目錄

 

TYPE

 

設定傳輸的檔案類型

 

SYST

 

擷取FTP伺服器的作業系統

 

LIST

 

擷取FTP伺服器上目前的目錄的檔案清單

 

PORT

 

指定使用主動模式進行資料轉送

 

PASV

 

指定使用被動模式進行資料轉送

 

HELP

 

從FTP伺服器上擷取協助檔案

 

STOR

 

從用戶端上傳指定的檔案到FTP伺服器

 

RETR

 

從FTP伺服器下載指定的檔案到用戶端

 

DELE

 

刪除FTP伺服器上指定的檔案

 

MKD

 

在FTP伺服器上建立目錄

 

 

 

RMD

 

 

刪除FTP伺服器上的指定目錄

 

 

 

QUIT

 

 

退出關閉FTP串連

 

 

(表1 FTP常見命令)

4.  FTP應答

從上面的分析及中我們可以知道,對用戶端發出的所有命令,FTP伺服器都會對其做出應答,

ftp應答碼及其意義
110      重新啟動標記應答。在這種情況下文本是確定的,它必須是:MARK yyyy=mmmm,其中yyyy是使用者進程資料流標記,mmmm是伺服器標記。
120      服務在nnn分鐘內準備好
125      資料連線已開啟,準備傳送
150      檔案狀態良好,開啟資料連線
200      命令成功
202      命令未實現
211      系統狀態或系統協助響應
212      目錄狀態
213      檔案狀態
214      協助資訊,資訊僅對人類使用者有用
215      名字系統類別型
220      對新使用者服務準備好
221      服務關閉控制串連,可以退出登入
225      資料連線開啟,無傳輸進行中
226      關閉資料連線,請求的檔案x作成功
227      進入被動模式
230      使用者登入
250      請求的檔案x作完成
257      建立"PATHNAME"
331      使用者名稱正確,需要口令
332      登入時需要帳戶資訊
350      請求的檔案x作需要進一步命令
421      不能提供服務,關閉控制串連
425      不能開啟資料連線
426      關閉串連,中止傳輸
450      請求的檔案x作未執行
451      中止請求的x作:有本地錯誤
452      未執行請求的x作:系統儲存空間不足
500      格式錯誤,命令不可識別
501      參數語法錯誤
502      命令未實現
503      命令順序錯誤
504      此參數下的命令功能未實現
530      未登入
532      隱藏檔需要帳戶資訊
550      未執行請求的x作
551      請求x作中止:頁類型未知
552      請求的檔案x作中止,儲存分配溢出
553      未執行請求的x作:檔案名稱不合法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.