FTP指令
現在的FTP檔案傳輸服務都是透過相關軟體進行,這些FTP軟體都有相關使用者介面。使用FTP軟體容易使用,但是在背景下仍然是透過指令進行檔案傳輸服務。大部份的指令都是國際通用的,具體流程可參考FTP傳輸協議流程圖。以下是可以查到的中文對應。
| 命令 | RFC | 描述 |
|---|---|---|
| ABOR | (ABORT)此命令使伺服器終止前一個FTP服務命令以及任何相關資料傳輸。 | |
| ACCT | (ACCOUNT)此命令的參數部分使用一個Telnet字串來指明用戶的帳戶。 | |
| ADAT | RFC 2228 | (AUTHENTICATION/SECURITY DATA)認證/安全資料 |
| ALLO | 為接收一個檔案分配足夠的磁碟空間 | |
| APPE | 增加 | |
| AUTH | RFC 2228 | 認證/安全機制 |
| CCC | RFC 2228 | 清除命令通道 |
| CDUP | 改變到父目錄 | |
| CONF | RFC 2228 | 機密性保護命令 |
| CWD | 改變工作目錄 | |
| DELE | 刪除檔案 | |
| ENC | RFC 2228 | 隱私保護通道 |
| EPRT | RFC 2428 | 為伺服器指定要連接的擴充位址和埠 |
| EPSV | RFC 2428 | 進入擴充被動模式 |
| FEAT | RFC 2389 | 獲得伺服器支援的特性列表 |
| HELP | 如果指定了命令,返回命令使用文件;否則返回一個通用說明文件 | |
| LANG | RFC 2640 | 語言協商 |
| LIST | 如果指定了檔案或目錄,返回其資訊;否則返回目前工作目錄的資訊 | |
| LPRT | RFC 1639 | 為伺服器指定要連接的長位址和埠 |
| LPSV | RFC 1639 | 進入長被動模式 |
| MDTM | RFC 3659 | 返回指定檔案的最後修改時間 |
| MIC | RFC 2228 | 完整性保護命令 |
| MKD | 建立目錄 | |
| MLSD | RFC 3659 | 如果目錄被命名,列出目錄的內容 |
| MLST | RFC 3659 | 提供命令行指定的物件的資料 |
| MODE | 設定傳輸模式(流、塊或壓縮) | |
| NLST | 返回指定目錄的檔名列表 | |
| NOOP | 無操作(啞包;通常用來保活) | |
| OPTS | RFC 2389 | 為特性選擇選項 |
| PASS | 認證密碼 | |
| PASV | 進入被動模式 | |
| PBSZ | RFC 2228 | 保護緩衝大小 |
| PORT | 指定伺服器要連接的位址和埠 | |
| PROT | RFC 2228 | 資料通道保護級別 |
| PWD | 列印工作目錄,返回主機的目前目錄 | |
| QUIT | 斷開連接 | |
| REIN | 重新初始化連接 | |
| REST | 從指定點重新開始傳輸 | |
| RETR | 傳輸檔案副本 | |
| RMD | 刪除目錄 | |
| RNFR | 從...重新命名 | |
| RNTO | 重新命名到... | |
| SITE | 傳送站點特殊命令到遠端伺服器 | |
| SIZE | RFC 3659 | 返回檔案大小 |
| SMNT | 掛載檔案結構 | |
| STAT | 返回目前狀態 | |
| STOR | 接收資料並且在伺服器站點儲存為檔案 | |
| STOU | 唯一地儲存檔案 | |
| STRU | 設定檔案傳輸結構 | |
| SYST | 返回系統類型 | |
| TYPE | 設定傳輸模式(ASCII/二進位). | |
| USER | 認證用戶名稱 | |
| XCUP | RFC 775 | 改變之目前工作目錄的父目錄 |
| XMKD | RFC 775 | 建立目錄 |
| XPWD | RFC 775 | 列印目前工作目錄 |
| XRCP | RFC 743 | |
| XRMD | RFC 775 | 刪除目錄 |
| XRSQ | RFC 743 | |
| XSEM | RFC 737 | 傳送,否則郵件 |
| XSEN | RFC 737 | 傳送到終端 |
FTP狀態碼
FTP狀態碼中文對應並且格式化的資料非常難找,大部份的資料都是以英文對照為主。下列資料是將搜尋到的中文資料格式化後後排列出,可能並不完整。| 110 | 重新啟動標記回覆。 |
| 120 | 服務就緒,在 nnn 分鐘。 |
| 125 | 資料連線已經開啟;傳輸開始。 |
| 150 | 檔案狀態無誤;將開啟資料連線。 |
| 200 | 指令已經沒有問題了。 |
| 202 | 在這個站台的指令不實作、 多餘。 |
| 211 | 系統狀態或系統說明回覆。 |
| 212 | 目錄狀態。 |
| 213 | 檔案狀態。 |
| 214 | 說明訊息。 |
| 215 | 名稱系統型別,其中名稱是一個正式的系統名稱從指派的數字的文件中的清單。 |
| 220 | 供新使用者的服務。 |
| 221 | 服務正在關閉控制連接。如果可以請登出。 |
| 225 | 資料連線已開啟;沒有正在傳輸中。 |
| 226 | 關閉資料連線。要求的檔案動作成功 (例如,檔案傳輸或檔案中止)。 |
| 227 | 進入被動模式 (h1、 h2、 h3、 h4、 p1,p2)。 |
| 229 | 延伸被動模式輸入。 |
| 230 | 使用者已登入,繼續執行。 |
| 232 | 已登入,使用者的權限的安全性資料交換。 |
| 234 | 的-安全性資料交換完成。 |
| 235 | 已順利完成安全性資料交換。 |
| 250 | 要求的檔案動作無誤,完成。 |
| 257 | 路徑名稱 」 建立。 |
| 331 | 的使用者名稱無誤,需要密碼。 |
| 332 | 需要登入帳戶。 |
| 334 | 要求安全性機制 [確定]。 |
| 335 | 安全性資料是可接受的。更多資料才能完成安全性資料交換。 |
| 336 | 使用者名稱無誤,需要密碼。 |
| 350 | 要求的檔案動作擱置中的其他相關資訊。 |
| 421 | 服務無法使用,正在關閉控制連接。如果服務知道其必須關閉,這可能是對任何命令的回覆。 |
| 425 | 無法開啟資料連接。 |
| 426 | 連接已關閉;傳輸中止。 |
| 431 | 需要某些無法使用的資源,處理安全性。 |
| 450 | 未採取要求的檔案動作。檔案無法使用 (例如,檔案忙碌)。 |
| 451 | 要求的動作已中止。正在處理本機錯誤。 |
| 452 | 要求未採取的動作。在系統中沒有足夠的儲存空間。 |
| 500 | 語法錯誤,無法辨認的命令。這可能包括命令列過長的錯誤。 |
| 501 | 參數或引數中的語法錯誤。 |
| 502 | 未執行命令。 |
| 503 | 錯誤的命令順序。 |
| 504 | 並未實作該參數的命令。 |
| 521 | 無法開啟 資料連線,使用這個連接埠正常設定。 |
| 522 | 伺服器不支援要求的網路通訊協定。 |
| 530 | 未登入。 |
| 532 | 需要帳戶以儲存檔案。 |
| 533 | 命令保護層級拒絕原則的原因。 |
| 534 | 原則原因拒絕要求。 |
| 535 | (雜湊、 序列等等) 的失敗的安全性檢查。 |
| 536 | 要求的連接埠正常層級不支援的機制。 |
| 537 | 命令保護層級不支援的安全性機制。 |
| 550 | 要求未採取的動作。檔案無法使用 (例如,找不到檔案或沒有存取權)。 |
| 551 | 要求的動作已中止: 頁面類型不明。 |
| 552 | 要求的檔案動作已中止。超過儲存配置 (針對目前的目錄或資料集)。 |
| 553 | 要求未採取的動作。不允許的檔案名稱。 |
| 631 | 完整性保護回覆。 |
| 632 | 機密性和完整性保護回覆。 |
| 633 | 機密性保護回覆。 |
| 150 | FTP 使用兩個連接埠: 21 傳送命令,而 20 用於傳送資料。狀態碼 150 表示伺服器將在連接埠 20開啟新的連線,以便傳送某些資料。 |
| 226 | 命令開啟資料連接在連接埠 20,要執行的動作,例如傳送檔案。已順利完成此動作,以及資料連線已關閉。 |
| 230 | 用戶端傳送正確的密碼之後,就會顯示此狀態碼。它會指出使用者已成功地登入。 |
| 331 | 用戶端傳送使用者名稱後,您會看到這個狀態碼。不論所提供的使用者名稱是否為系統上有效的帳戶,皆會出現相同的狀態碼。 |
| 426 | 命令開啟資料連線來執行動作,該動作已取消,但資料連線已關閉。 |
| 530 | 此狀態碼表示使用者無法登入,因為使用者名稱和密碼組合不正確。如果您利用使用者帳戶登入,則您可能輸入錯誤的使用者名稱或密碼,或您已選擇僅允許匿名存取。如果您使用「匿名」帳戶登入,您可能已設定 IIS 來拒絕匿名存取。 |
| 550 | 命令不會執行,因為指定的檔案無法使用。例如,當您嘗試取得的檔案不存在,或當您嘗試將檔案放置在沒有寫入權限的目錄中時,就會發生這個狀態碼。 |
當存取 FTP 伺服器上的內容時,伺服器會傳回一個數字的狀態碼,指出回應的狀態。狀態碼列舉出所有可能發生的情況,無論是由終端機或是透過軟體存取FTP都要確認狀態碼進行動作。
主動與被動
主動式 FTP 連線建立過程- 客戶端打開自已機器大於 1024 的連接埠,並連到伺服器的連接埠 21,建立「控制連線」。
- 客戶端開始對伺服器下指令,告訴伺服器客戶端用來傳輸檔案的連接埠為何。
- 伺服器從連接埠 20 連到客戶端所開放的埠號 (大於 1024),以建立「資料連線」。
客戶端有防火牆時雖然可以送出連線並取得回應,但客戶端的連接埠卻不允許伺服器連過來。所以伺服器要建立資料連線時時會失敗,而無法建立連線。
被動式FTP連線建立過程
- 客戶端打開自已機器大於 1024 的連接埠,並連到伺服器的連接埠 21,建立「控制連線」。
- 客戶端開始對伺服器下指令,告訴伺服器進入「被動模式」。
- 伺服器打開一個大於 1024 的連接埠,等待客戶端的連線。
- 客伺端打開自已機器大於 1024 的連接埠,並連到伺服器以建立「資料連線」。
由於控制連線及資料連線都是由客戶端主動連過去伺服器,如此即可避開防火牆問題。





沒有留言:
張貼留言