什麼是檔案傳輸協定 (FTP)?定義、運作方式
FTP 代表檔案傳輸協定,是一種網際網路標準應用程式級 TCP/IP 協定,可用於在 TCP/IP 網路上的主機之間傳輸檔案。
檔案傳輸協定的工作原理
檔案傳輸協定(FTP)是最早的網際網路協定之一,至今仍用於在客戶端和伺服器之間上傳和下載檔案。
FTP 建置在用戶端-伺服器模型架構之上,使用用戶端與伺服器之間的個別控制和資料連線。FTP 使用者可以使用明文登入通訊協定(通常以使用者名稱和密碼的形式)進行自我驗證,但如果伺服器設定為允許,則可以匿名連線。為了保護使用者名稱和密碼並加密內容的安全傳輸,FTP 通常使用 SSL/TLS (FTPS) 進行保護,或替換為 SSH 檔案傳輸協定 (SFTP)。
FTP 用戶端
FTP 用戶端是可以向 FTP 伺服器發出 FTP 命令的應用程式,而 FTP 伺服器是在伺服器上執行的服務或常駐程式,可回應來自用戶端的 FTP 命令。FTP指令可用於變更目錄、變更二進位和ASCII之間的傳輸模式、上傳檔案和下載檔案。
檔案傳輸協定
FTP 使用傳輸控制協定 (TCP) 透過在啟動資料傳輸之前建立會話來實現可靠的網路通訊。FTP 伺服器上的 TCP 埠號 21 會接聽來自 FTP 用戶端的連線嘗試,並用作控制埠,以建立用戶端與伺服器之間的連線、容許用戶端將 FTP 指令傳送至伺服器,以及傳回伺服器對指令的回應。
建立控制連線後,伺服器會開啟連接埠號碼 20,與用戶端建立新的連接,以便在上傳和下載期間傳輸實際資料。
什麼是匿名 FTP?
提供 FTP 服務的主機可以提供匿名 FTP 存取。當提示輸入使用者名稱時,使用者通常會使用「匿名」(在某些 FTP 伺服器中為小寫且區分大小寫)帳戶登入服務。儘管用戶通常被要求發送他們的電子郵件地址而不是密碼,但實際上沒有對提供的數據執行驗證。許多以提供軟體更新為目的的 FTP 主機將允許匿名登入。
FTP 命令清單 (Windows 命令提示字元)
FTP 指令 | 指令說明 |
---|---|
! | 此命令在作業系統和 ftp 之間來回切換。回到作業系統後,鍵入 exit 會帶您返回 FTP 命令列。 |
? | 存取說明畫面。 |
append | 將文字附加至本機檔案。 |
ascii | 切換到 ASCII 傳輸模式。 |
bell | 開啟或關閉鈴鐺模式。 |
binary | 切換至二進位傳輸模式。 |
bye | 退出 FTP。 |
cd | 變更目錄。 |
close | 退出 FTP。 |
delete | 刪除檔案。 |
debug | 設定偵錯開啟或關閉。 |
dir | 列出檔案 (如果已連線)。 dir -C = 以寬格式列出檔案。 dir -1 = 以字母順序以裸格式列出檔案。 dir -r = 以字母倒序列出目錄。 dir -R = 列出目前目錄和子目錄中的所有檔案。 dir -S = 按字母順序以裸格式列出文件。 |
disconnect | 退出 FTP。 |
get | 從遠端電腦取得檔案。 |
glob | 設定通行開啟或關閉。關閉時,put 和 get 命令中的檔案名稱會按字面意思理解,並且不會查看萬用字元。 |
hash | 設定雜湊標記列印開啟或關閉。開啟時,每收到 1024 個位元組的資料,就會顯示雜湊標記 (#)。 |
help | 存取「說明」畫面,如果命令是在說明之後鍵入,則顯示有關命令的資訊。 |
lcd | 如果單獨鍵入或在 lcd 之後鍵入的路徑將更改本地目錄,則顯示本地目錄。 |
literal | 將文字命令傳送至連線的電腦,並具有預期的單行回應。 |
ls | 列出遠端連線電腦的檔案。 |
mdelete | 多重刪除。 |
mdir | 列出多個遠端目錄的內容。 |
mget | 取得多個檔案。 |
mkdir | Make 目錄。 |
mls | 列出多個遠端目錄的內容。 |
mput | 傳送多個檔案。 |
open | 打開地址。 |
prompt | 啟用或停用提示。 |
put | 傳送一個檔案。 |
pwd | 列印工作目錄。 |
quit | 退出 FTP。 |
quote | 與文字命令相同。 |
recv | 接收檔案。 |
remotehelp | 從遠端伺服器取得協助。 |
rename | 重新命名檔案。 |
rmdir | 移除遠端電腦上的目錄。 |
send | 傳送單一檔案。 |
status | 顯示目前啟用和停用選項的狀態。 |
trace | 切換封包追蹤。 |
Type | 設定檔案傳輸類型。 |
user | 傳送新使用者資訊。 |
verbose | 設定詳細設定開啟或關閉。 |