Linux服務(wù)篇之FTP文件共享第一篇

FTP簡(jiǎn)介

  • FTP:(File Transfer Protocol ),全稱文件傳輸協(xié)議,早期的三大應(yīng)用級(jí)協(xié)議之一
  • 他也基于TCP協(xié)議來(lái)工作,屬于應(yīng)用層協(xié)議
  • 文件傳輸協(xié)議的原始規(guī)范于1971年4月16日發(fā)布為RFC 114
  • 直到1980年,F(xiàn)TP運(yùn)行在TCP/ IP的前身NCP上
  • 該協(xié)議后來(lái)被TCP / IP版本,RFC 765(1980年6月)和RFC 959(1985年10月)(當(dāng)前規(guī)范)所取代
  • RFC 959提出了若干標(biāo)準(zhǔn)修改,例如RFC 1579(1994年2月)啟用防火墻FTP(被動(dòng)模式),RFC 2228(1997年6月)提出安全擴(kuò)展,RFC 2428(1998年9月)增加了對(duì)IPv6的支持,并定義了一種新型的被動(dòng)模式
  • FTP服務(wù)一般運(yùn)行在20和21兩個(gè)端口
  • 端口20用于在客戶端和服務(wù)器之間傳輸數(shù)據(jù)流,而端口21用于傳輸控制流,并且是命令通向ftp服務(wù)器的進(jìn)口
  • 當(dāng)數(shù)據(jù)通過數(shù)據(jù)流傳輸時(shí),控制流處于空閑狀態(tài)
  • 而當(dāng)控制流空閑很長(zhǎng)時(shí)間后,客戶端的防火墻會(huì)將其會(huì)話置為超時(shí),這樣當(dāng)大量數(shù)據(jù)通過防火墻時(shí),會(huì)產(chǎn)生一些問題
  • 此時(shí),雖然文件可以成功的傳輸,但因?yàn)榭刂茣?huì)話,會(huì)被防火墻斷開;傳輸會(huì)產(chǎn)生一些錯(cuò)誤

FTP服務(wù)

  • FTP有兩種使用模式:主動(dòng)和被動(dòng)
  • 主動(dòng)模式要求客戶端和服務(wù)器端同時(shí)打開并且監(jiān)聽一個(gè)端口以創(chuàng)建連接。在這種情況下,客戶端由于安裝了防火墻會(huì)產(chǎn)生一些問題
  • 所以,創(chuàng)立了被動(dòng)模式,被動(dòng)模式只要求服務(wù)器端產(chǎn)生一個(gè)監(jiān)聽相應(yīng)端口的進(jìn)程,這樣就可以繞過客戶端安裝了防火墻的問題
  • 一個(gè)主動(dòng)模式的FTP連接創(chuàng)建要遵循以下步驟:
    • 客戶端打開一個(gè)隨機(jī)的端口(端口號(hào)大于1024,在這里,我們稱它為x),同時(shí)一個(gè)FTP進(jìn)程連接至服務(wù)器的21號(hào)命令端口,此時(shí)該tcp連接的來(lái)源地端口為客戶端指定的隨機(jī)端口x,目的地端口(遠(yuǎn)程端口)為服務(wù)器上的21號(hào)端口
    • 客戶端開始監(jiān)聽端口(x+1),同時(shí)向服務(wù)器發(fā)送一個(gè)端口命令(通過服務(wù)器的21號(hào)命令端口),此命令告訴服務(wù)器客戶端正在監(jiān)聽的端口號(hào)并且已準(zhǔn)備好從此端口接收數(shù)據(jù),這個(gè)端口就是我們所知的數(shù)據(jù)端口
    • 服務(wù)器打開20號(hào)源端口并且創(chuàng)建和客戶端數(shù)據(jù)端口的連接、此時(shí),來(lái)源地的端口為20,遠(yuǎn)程數(shù)據(jù)(目的地)端口為(x+1)
    • 客戶端通過本地的數(shù)據(jù)端口創(chuàng)建一個(gè)和服務(wù)器20號(hào)端口的連接,然后向服務(wù)器發(fā)送一個(gè)應(yīng)答,告訴服務(wù)器它已經(jīng)創(chuàng)建好了一個(gè)連接
    • 雙通道協(xié)議:數(shù)據(jù)和命令連接
    • 數(shù)據(jù)傳輸格式:二進(jìn)制(默認(rèn))和文本
    • 兩種模式:服務(wù)器角度
    • 主動(dòng) (PORT style) :服務(wù)器主動(dòng)連接
      • 命令(控制):客戶端:隨機(jī) port ---> 服務(wù)器: tcp21
      • 數(shù)據(jù):客戶端:隨機(jī) port+1 <--- 服務(wù)器: tcp20
    • 被動(dòng) (PASV style) :客戶端主動(dòng)連接
      • 命令(控制):客戶端:隨機(jī) port ---> 服務(wù)器: tcp21
      • 數(shù)據(jù):客戶端:隨機(jī) port+1 --->服務(wù)器:隨機(jī) port
    • 服務(wù)器被動(dòng)模式數(shù)據(jù)端口示例:
    • 227 Entering Passive Mode (192,168,175,138,224,59)
    • 服務(wù)器數(shù)據(jù)端口為: 224*256+59
  • FTP優(yōu)點(diǎn)
    • 促進(jìn)文件的共享(計(jì)算機(jī)程序或數(shù)據(jù))
    • 鼓勵(lì)間接或者隱式的使用遠(yuǎn)程計(jì)算機(jī)
    • 向用戶屏蔽不同主機(jī)中各種文件存儲(chǔ)系統(tǒng)(File system)的細(xì)節(jié)
    • 可靠和高效的傳輸數(shù)據(jù)
  • FTP缺點(diǎn)
    • 密碼和文件內(nèi)容都使用明文傳輸,可能發(fā)生竊聽。
    • 因?yàn)楸仨氶_放一個(gè)隨機(jī)的端口以創(chuàng)建連接,當(dāng)防火墻存在時(shí),客戶端很難過濾處于主動(dòng)模式下的FTP流量,這個(gè)問題,通過使用被動(dòng)模式的FTP,得到了很大解決。
    • 服務(wù)器可能會(huì)被告知連接一個(gè)第三方計(jì)算機(jī)的保留端口。
    • 此方式在需要傳輸文件數(shù)量很多的小文件時(shí),性能不好
  • 狀態(tài)碼:
    • 1XX :信息 125 :數(shù)據(jù)連接打開
    • 2XX :成功類狀態(tài) 200 :命令 OK 230 :登錄成功
    • 3XX :補(bǔ)充類 331 :用戶名 OK
    • 4XX :客戶端錯(cuò)誤 425 :不能打開數(shù)據(jù)連接
    • 5XX :服務(wù)器錯(cuò)誤 530 :不能登錄

FTP 軟件介紹

  • FTP 服務(wù)器軟件:
    • Wu-ftpd , Proftpd , Pureftpd , ServU , IIS
    • vsftpd:Very Secure FTP Daemon , CentOS 默認(rèn) FTP 服務(wù)器
      • 高速,穩(wěn)定,下載速度是 WU-FTP 的兩倍
      • ftp,redhat.com 數(shù)據(jù) : 單機(jī)最多可支持 15000 個(gè)并發(fā)
  • FTP 客戶端軟件:
    • ftp , lftp , lftpget , wget , curl
    • ftp -A ftpserver port -A 主動(dòng)模式 –p 被動(dòng)模式
    • lftp –u username ftpserver
    • lftp username@ftpserver
    • lftpget ftp://ftpserver/pub/file
    • gftp: GUI centos5 最新版 2.0.19 (11/30/2008)
    • filezilla , CuteFtp , FlashFXP , LeapFtp ,等等FTP客戶端軟件
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,933評(píng)論 18 139
  • 27.1 引言 FTP是另一個(gè)常見的應(yīng)用程序。它是用于文件傳輸?shù)腎nternet標(biāo)準(zhǔn)。我們必須分清文件傳送(fil...
    張芳濤閱讀 2,022評(píng)論 0 8
  • 1.OkHttp源碼解析(一):OKHttp初階2 OkHttp源碼解析(二):OkHttp連接的"前戲"——HT...
    隔壁老李頭閱讀 21,022評(píng)論 24 176
  • 名詞延伸 通俗的說,域名就相當(dāng)于一個(gè)家庭的門牌號(hào)碼,別人通過這個(gè)號(hào)碼可以很容易的找到你。如果把IP地址比作一間房子...
    楊大蝦閱讀 20,640評(píng)論 2 56
  • 圣寺呈祥瑞象奇, 天遺舍利佛光曦。 柏深不見禽棲跡, 樑舊難尋燕筑基。 凡草身微羞近院, 井蛙眼淺愧臨池。 千年古...
    王世榮閱讀 306評(píng)論 0 1