Day01
背景知識
FTP概述
- FTP(File Transfer Protocol,檔案傳輸協定) 是 TCP/IP 協定組中的協定之一。
- 同大多數Internet服務一樣,FTP也是一個客戶/伺服器系統
- FTP伺服器用來存儲檔案,使用者可以使用FTP用戶端通過FTP協定通路位于FTP伺服器上的資源。
FTP的應用
- 在開發網站的時候,通常利用FTP協定把網頁或程式傳到Web伺服器上。
- 由于FTP傳輸效率非常高,在網絡上傳輸大的檔案時,一般也采用該協定。
FTP的主動模式與被動模式
- 主動模式
- 用戶端先與伺服器的
端口建立連接配接,用于傳輸控制資訊(PORT指令)。TCP 21
- 用戶端在需要接受資訊時,通過
端口發送PORT指令給伺服器(PORT指令包含了用戶端用什麼端口接收資料)。TCP 21
- 伺服器端通過自己的
端口連接配接至用戶端的指定端口發送資料。TCP 20
- 用戶端先與伺服器的
- 被動模式
-
端口建立連接配接,用于傳輸控制資訊(Pasv指令)。TCP 21
-
端口發送Pasv指令給伺服器。TCP 21
- 伺服器收到Pasv指令後,随機打開一個高端端口(端口号大于1024)并且通知用戶端在這個端口上傳送資料的請求
- 用戶端連接配接此端口,用戶端與伺服器通過此通道傳輸資料
-
- 兩者對比
當用戶端主動時,伺服器就容易管理 → 用
TCP 21
端口傳輸控制資訊 ,
TCP 20
端口傳輸資料
當用戶端被動時,伺服器就難以管理 → 用
TCP 21
端口傳輸控制資訊, 高端端口 傳輸資料
FTP伺服器之 vsftpd
- vsftpd(very secure FTP daemon)是一款在Linux發行版中最受推崇的FTP伺服器。
- 它可以運作在諸如 Linux、BSD、Solaris、 HP-UNIX等系統上面
- 是一個完全免費的、開放源代碼的ftp伺服器軟體,支援很多其他的 FTP 伺服器所不支援的特征。
比如:非常高的安全性需求、帶寬限制、良好的可伸縮性、可建立虛拟使用者、支援IPv6、速率高等。
開始實驗
連接配接ECS伺服器的幾種方式
- 系統自帶的終端工具
- putty, XShell(推薦)
安裝與配置vsftpd
修改配置檔案vsftpd.conf 時,解開
anon_upload_enable=YES
注釋的時候,可以借助vim的查找功能進行查找。
即:在vim的normal模式下輸入 '/' + 'keyword' + 回車
其餘部分實驗教程已經十分詳細,便不再贅述。
用戶端測試
- 直接使用Windows下的資料總管進行測試

- 此時,可能會顯示“請檢查權限的提示”。解決方案:
- 登入成功後,因為檔案夾
必定為空/var/ftp/test
- 在本地建立test.txt檔案直接拖入
- 在伺服器檢視檔案是否成功上傳