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服務器打開一個暫態端口等待客戶端對其進行連接,并傳輸數據,服務器并不參與數據的主動傳輸,只是被動接受。
3. FTP命令
FTP傳輸過程中所有的操作都是通過在客戶端發送命令完成的,FTP常見的命令如表1所示。
| USER | 為用戶驗證提供用戶名
|
| PASS | 為用戶驗證提供密碼 |
| PWD | 輸出FTP服務器的當前工作目錄 |
| TYPE | 設置傳輸的文件類型 |
| SYST | 獲取FTP服務器的操作系統 |
| LIST | 獲取FTP服務器上當前目錄的文件列表 |
| PORT | 指定使用主動模式進行數據傳輸 |
| PASV | 指定使用被動模式進行數據傳輸 |
| HELP | 從FTP服務器上獲取幫助文件 |
| STOR | 從客戶端上傳指定的文件到FTP服務器 |
4. FTP應答
FTP常見的應答代碼如表2所示。
| 125 | 打開數據連接,且此連接可用于數據傳輸 |
| 200 | 命令被成功執行 |
| 211 | FTP服務器忙 |
| 212 | FTP服務器返回當前的目錄狀態給客戶端 |
| 213 | FTP服務器返回當前的文件狀態給客戶端 |
| 214 | FTP服務器返回用戶請求的幫助信息 |
| 226 | FTP服務器返回文件傳輸完成的消息給客戶端 |
| 331 | FTP服務器返回用戶名正確,需要密碼的消息給客戶端 |
| 425 | FTP服務器返回不能打開數據連接的消息給客戶端 |
| 452 | FTP服務器返回寫文件錯的消息給客戶端,可能是空間不足 |