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 的連接埠,並連到伺服器以建立「資料連線」。
由於控制連線及資料連線都是由客戶端主動連過去伺服器,如此即可避開防火牆問題。
沒有留言:
張貼留言