看完這篇,別再說你不懂FTP協議啦!

看完這篇,別再說你不懂FTP協議啦!

看完這篇,別再說你不懂FTP協議啦!

FTP簡介

FTP(File Transfer Protocol,文件傳輸協議) 是 TCP/IP 協議組中的協議之一。FTP協議包括兩個組成部分,其一為FTP服務器,其二為FTP客戶端。其中FTP服務器用來存儲文件,用戶可以使用FTP客戶端通過FTP協議訪問位於FTP服務器上的資源。

看完這篇,別再說你不懂FTP協議啦!

FTP端口

默認情況下FTP協議使用TCP端口中的 20和21這兩個端口,其中20用於傳輸數據,21用於傳輸控制信息。但是,是否使用20作為傳輸數據的端口與FTP使用的傳輸模式有關,如果採用主動模式,那麼數據傳輸端口就是20;如果採用被動模式,則具體最終使用哪個端口要服務器端和客戶端協商決定。

看完這篇,別再說你不懂FTP協議啦!

FTP數據連接模式

ftp有2種數據連接模式:命令連接和數據連接。

命名連接:是指文件管理類命令,始終在線的持久性連接,直到用戶退出登錄止;

數據連接:是指數據傳輸,按需創建及關閉的連接。

數據傳輸格式有以下兩種:

文件傳輸

二進制傳輸

數據傳輸模式有兩種:

主動模式:由服務器端創建數據連接

看完這篇,別再說你不懂FTP協議啦!

被動模式:由客戶端創建數據連接

看完這篇,別再說你不懂FTP協議啦!

兩種數據傳輸模式的建立過程:

主動模式:命令連接——客戶端以一個隨機端口(隨機端口大於1023)來連服務器端的21號端口;數據連接——服務器端以自己的20號端口去連客戶端創建命令連接時使用的隨機端口+1的端口號進行連接。

被動模式:命令連接——客戶端以一個隨機端口(隨機端口大於1023)來連服務器端的21號端口,服務端並告知客服端一個隨機端口;數據連接——客戶端以創建命令連接的端口+1的端口號去連服務器端通過命令連接告知自己的一個隨機端口號來創建數據連接。

看完這篇,別再說你不懂FTP協議啦!

vsftpd常見的配置參數

看完這篇,別再說你不懂FTP協議啦!

看完這篇,別再說你不懂FTP協議啦!

搭建要求

安裝vsftpd服務

配置匿名用戶ftp

安裝並配置完成後要使用ftp客戶端工具登錄驗證

搭建環境

看完這篇,別再說你不懂FTP協議啦!

本實驗所用redhat7.0系統;

防火牆、selinux已關閉;

本實驗所用地址如下:

看完這篇,別再說你不懂FTP協議啦!

相關文件:

主配置文件

/etc/vsftpd/vsftpd.conf

匿名用戶的共享資源位置

/var/ftp/pub

搭建步驟

安裝vsftpd

yum -y install vsftpd

啟動vsftpd服務

systemctl start vsftpd

匿名用戶

1

配置匿名用戶,利用匿名用戶訪問ftp

## 在客戶端安裝ftp命令,以匿名用戶登錄FTP,匿名賬號為anonymous,密碼直接確認 ##

[root@client ~]# yum -y install ftp

## 匿名用戶默認開啟,若沒有開啟則將NO改為YES ##

anonymous_enable=YES

2

進行登錄測試

## 登錄172.16.12.130 ftp服務器,賬號為anonymous,密碼直接確認 ##

[root@client ~]# ftp 172.16.12.131

Connected to 172.16.12.131 (172.16.12.131).

220 (vsFTPd 3.0.2)

Name (172.16.12.131:root): anonymous

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

3

登錄之後查看當前匿名用戶訪問的目錄

## 登錄之後 ,ls 可以看到,匿名用戶訪問的是pub目錄 ##

ftp> ls

227 Entering Passive Mode (172,16,12,131,46,39).

150 Here comes the directory listing.

drwxr-xr-x 2 0 0 6 Aug 03 2017 pub

226 Directory send OK.

ftp>

4

進入Pub目錄創建文件提示沒有權限

## 進入pub目錄,在ftp目錄中創建目錄,目錄沒有權限創建 ##

ftp> mkdir aaa

550 Permission denied.

ftp>

5

進入Pub目錄想要創建文件必須修改配置

## 要想在ftp目錄中寫,就必須修改配置, ##

[root@client ~]# vim /etc/vsftpd/vstpd.conf

找到這兩行取消這注釋,或者重新再寫

anon_upload_enable=YES #允許匿名用戶上傳

anon_mkdir_write_enable=YES #允許匿名用戶創建目錄

添加一行

anon_other_write_enable=YES #允許匿名用戶除創建和上傳之外的權限,如刪除、重命名

:wq #保存退出

## 因為匿名用戶登錄ftp所用的賬戶是ftp用戶,所以將/var/ftp/pub的屬主和屬組改為ftp ##

chown ftp.ftp /var/ftp/pub

6

重啟服務

## 重啟vsftpd服務 ##

systemctl restart vsftpd

7

再次在pub目錄下創建目錄即可寫入

## 再在/var/ftp/pub目錄下創建目錄,這時可以寫 ##

ftp> mkdir test

257 "/pub/test" created

ftp> ls

227 Entering Passive Mode (172,16,12,131,53,244).

150 Here comes the directory listing.

drwx------ 3 14 50 16 Sep 13 00:03 aaa

drwx------ 2 14 50 6 Sep 13 00:09 test

226 Directory send OK.

ftp>


看完這篇,別再說你不懂FTP協議啦!


豐富的網絡管理和網絡硬件測試經驗

通過認證:

H3CNE-R&S、H3CSE-R&S

H3CCE-雲計算、RCNA-R&S

授課內容:

路由交換H3CNE、H3CSE

WLAN、Windows server 2008

項目經驗:

印度巴西58ECN內網建設加環境測試項目的實施

AIS網絡項目搭建維護測試實施

4820-28F內網環境建設加測試項目實施


分享到:


相關文章: