今天心血來潮,研究了下ftp協(xié)議,在linux搭建了一個ftp服務器,主要是研究下ftp的主動和被動模式。
簡單的說下ftp安裝配置吧
ftp服務器:192.168.3.14 linux vsftpd
ftp客戶端:windows 7
檢查是否有安裝ftp
沒有安裝直接運行yum install vsftpd -y
修改ftp配置文件
vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES——是否將所有用戶限制在主目錄,YES為啟用
anonymous_enable=NO ——不允許匿名進行訪問
chroot_list_enable=YES——是否啟動限制用戶的名單 YES為啟用
chroot_list_file=/etc/vsftpd/chroot_list——是否限制在主目錄下的用戶名單
做了以上修改保存
在/etc/vsftpd目錄下創(chuàng)建用戶認證文件chroot_list并添加本地系統(tǒng)用戶進行ftp認證
[root@jw vsftpd]# cat chroot_list ——添加本地操作系統(tǒng)用戶進行認證一行一個帳號
ftpuser
ftptest
修改密碼:passwd ftptest
密碼為:niceman
重啟服務并查看21端口是否偵聽
使用lsof查看端口是否偵聽
現(xiàn)在開始訪問ftp;注意,訪問前請關(guān)閉selinux或暫時關(guān)閉防火墻,具體深入的ftp服務器配置,請自行百度查看文檔,不再贅述。
安裝wireshark
yum install wireshark -y
抓包命令:tshark -ni eth0 -R "ftp"
可以發(fā)現(xiàn)ftp是明文傳輸?shù)摹?br/>tshark -ni eth0 -R "tcp.dstport eq 21"——抓包控制端口
接下來說說FTP的兩種模式
FTP的主動模式
主動FTP:
命令連接:客戶端大于1023端口 ——>服務器 21端口
數(shù)據(jù)連接:客戶端 大于1023端口 <——服務器 20端口
客戶端使用大于1023的端口建立鏈接服務器偵聽的FTP21命令端口,服務器使用FTP20的數(shù)據(jù)端口主動鏈接客戶端開放一個大于1023的端口
被動FTP:
命令連接:客戶端 大于1023端口 ——> 服務器 21端口
數(shù)據(jù)連接:客戶端 大于1023端口 ——> 服務器 >1023端口
客戶端仍然使用大于1023的端口鏈接服務器偵聽的FTP21命令控制端口,服務器再開啟大于1023的隨機端口給客戶端進行數(shù)據(jù)傳輸,被動模式服務器不再使用20數(shù)據(jù)端口進行傳輸。
注意:windows使用IE或者資源管理器打開輸入地址ftp://ip訪問,是否主動或被動模式取決于這里的配置,看截圖;IE——Internet選項——高級
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。