FTP協(xié)議的分析和擴(kuò)展

| <------------------------------------------- 220 |
| AUTH TLS -------------------------------------------> |
| <------------------------------------------- 234 |
| TLSneg() <------------------------------------------> TLSneg() |
| PBSZ 0 -------------------------------------------> |
| <------------------------------------------- 200 |
| PROT P -------------------------------------------> |
| <------------------------------------------- 200 |
| USER elly -------------------------------------------> |
| <------------------------------------------- 331 |
| PASS **** -------------------------------------------> |
| <------------------------------------------- 230 |
| |
\====================================================================/
一個(gè)SSL FTP的連接過程實(shí)例:
/====================================================================\
| |
| WinSock 2.0 -- OpenSSL 0.9.7d 17 Mar 2004 |
| [R] Connecting to 192.168.21.3 -> IP=192.168.21.3 PORT=2121 |
| [R] Connected to 192.168.21.3 |
| [R] 220 Please enter your login name now. |
| [R] AUTH TLS (認(rèn)證方法)|
| [R] 234 AUTH Command OK. Initializing SSL connection. |
| [R] Connected. Negotiating SSL/TLS session.. |
| [R] SSL/TLS negotiation successful... (協(xié)商關(guān)聯(lián))|
| [R] TLSv1/SSLv3 encrypted session using cipher AES256-SHA (256 bits)
| [R] PBSZ 0 (PBSZ設(shè)置)|
| [R] 200 PBSZ Command OK. Protection buffer size set to 0. |
| [R] USER elly (ftp傳統(tǒng)認(rèn)證)|
| [R] 331 Password required for elly . |
| [R] PASS (hidden) |
| [R] 230 User elly logged in. |
| [R] SYST |
| [R] 215 UNIX Type: L8 , CP:936 |
| [R] FEAT (擴(kuò)展指令測試)|
| [R] 211-Extensions supported: |
| [R] SIZE |
| [R] MDTM |
| [R] MDTM YYYYMMDDHHMMSS filename |
| [R] LIST -laT |
| [R] STAT -laT |
| ... |
| [R] AUTH SSL |
| [R] AUTH TLS |
| [R] PROT |
| [R] PBSZ |
| [R] SSCN |
| [R] UTF8 |
| [R] 211 END |
| [R] CLNT FlashFXP 2.2.985 |
| [R] 213 client type set to FlashFXP 2.2.985. |
| [R] PWD (傳統(tǒng)通訊過程)|
| [R] 257 "/" is current directory |
| [R] TYPE A |
| [R] 200 Type set to ASCII. |
| [R] PROT P (切換到保護(hù)模式)|
| [R] 200 PROT P accepted. |
| [R] PASV |
| [R] 227 Entering Passive Mode (192,168,21,3,5,122) |
| [R] Opening data connection IP: 192.168.21.3 PORT: 1402 |
| [R] LIST -al |
| [R] Connected. Negotiating SSL/TLS session.. (加密通訊過程)|
| [R] 150 Opening ASCII data connection for ls / using SSL/TLS. |
| [R] SSL/TLS negotiation successful... |
| [R] TLSv1/SSLv3 encrypted session using cipher AES256-SHA (256 bits)
| [R] 226-free disk space under this directory : 101 mb |
| [R] 226 Transfer finished successfully. Data connection closed . |
| [R] List Complete: 181 bytes in 0.14 seconds (1.26 KBps) |
| |
\====================================================================/
在ssl ftp中,有以下幾個(gè)特殊點(diǎn):
1, AUTH是可選指令,因?yàn)閟sl ftp實(shí)現(xiàn)的方式不同而存在,詳見下一節(jié)explicit SSL
與implicit SSL;
2, PBSZ和PROT是必須指令,用于切換到保護(hù)通道模式;
3, AUTH,PBSZ和PROT指令是實(shí)現(xiàn)SSL認(rèn)證方式的必須方法,但可以與傳統(tǒng)的User/Password
模式共存,或只取其一;
4, SSL認(rèn)證方法的SSL認(rèn)證過程(AUTH/PBSZ)和傳統(tǒng)模式認(rèn)證并無嚴(yán)格的先后順序關(guān)聯(lián),可能在
用戶名和密碼之前,也可能在之后;但出于安全因素,最好在User/Password傳輸之前切換
到安全模式,可以確保User/Password的傳輸安全;
5, 在explicit SSL模式中,可以在任何時(shí)間切換到保護(hù)模式,如第四條所述;在implicit
SSL模式中,初始化連接將直接采用SSL Socket建立,不需要AUTH指令切換。
>>3.4 Explicit SSL和Implicit SSL
由于歷史和軟件兼容性因素,ssl FTP的實(shí)現(xiàn)有兩種方式,分別是Explicit SSL和Implicit SSL,
上面的大部分?jǐn)?shù)據(jù)都是以explicit SSL為范例。
Explicit SSL(外部SSL),又被稱為AUTH SSL方式;Explicit SSL保持了與傳統(tǒng)ftp服務(wù)的
良好兼容性,以一個(gè)ftp服務(wù)擴(kuò)展指令的方式存在。初始化連接可以采用與傳統(tǒng)ftp兼容的連
接模式,當(dāng)需要傳輸加密信息時(shí)使用AUTH SSL指令切換到保護(hù)模式。使用Explicit SSL時(shí)
Server必須完整地實(shí)現(xiàn)AUTH/PBSZ/PROT等指令。
Implicit SSL(隱含SSL),是一個(gè)全新的ftp實(shí)現(xiàn)方式,在TCP三步握手完成之后就直接使用
SSL Socket進(jìn)行協(xié)商和通訊,之后將全程采用SSL加密連接。在這種模式中一般ftp server
將監(jiān)聽在一個(gè)新的服務(wù)端口,IANA指定ftps:tcp:990為implicit SSL ftp的默認(rèn)端口。因?yàn)樵?nbsp;
連接初始階段就自動由SSL實(shí)現(xiàn)完成了協(xié)商,因此implicit模式中AUTH指令是可選的。
在不考慮兼容性的因素下,在服務(wù)期端最好優(yōu)先使用implicit SSL模式,可以獲得更好的保密
特性。
比較兩種ssl ftp實(shí)現(xiàn)模式區(qū)別如下:
/======================================================================\
| explicit implicit |
| client server client server |
|======================================================================|
| | |
| connect() ------> -+-明文 | sslConnect() ------> 加密 |
| <------ 220 | | <------ 220 -+ |
| AUTH SSL ------> | | USER *** ------> | |
| <------ 234 -+ | <------ 331 | |
| TLSneg() <-----> TLSneg() -+-加密 | PASS *** ------> | |
| <------ 200 | | <------ 230 | |
| USER *** ------> | | LIST <-----> ... | |
| <------ 331 | | RETR <-----> ... | |
| PASS *** ------> | | ... | |
| <------ 230 | | | |
| LIST/RETR <-----> ... | | sslClose() <-----> ... -+ |
| close() <-----> ... -+ | |
| | |
\======================================================================/
>>3.5 一些雜亂圖示
在3.3種引用了一個(gè)Explicit SSL連接指令序列,這里是對應(yīng)的Implicit SSL連接過程:
/======================================================================\
| WinSock 2.0 -- OpenSSL 0.9.7d 17 Mar 2004 |
| [R] Connecting to 192.168.21.3 -> IP=192.168.21.3 PORT=9909 |
| [R] Connected to 192.168.21.3 |
| [R] Connected. Negotiating SSL/TLS session.. |
| [R] SSL/TLS negotiation successful... |
| [R] TLSv1/SSLv3 encrypted session using cipher AES256-SHA (256 bits) |
| [R] 220 Please enter your login name now. |
| [R] PBSZ 0 |
| [R] 200 PBSZ Command OK. Protection buffer size set to 0. |
| [R] USER elly |
| [R] 331 Password required for elly . |
| [R] PASS (hidden) |
| [R] 230 User elly logged in. |
| [R] SYST |
| [R] 215 UNIX Type: L8 , CP:936 |
| [R] PROT P |
| [R] 200 PROT P accepted. |
| [R] PASV |
| [R] 227 Entering Passive Mode (192,168,21,3,5,122) |
| [R] Opening data connection IP: 192.168.21.
相關(guān)文章
微軟新版Outlook將推出郵件分類快捷鍵及多項(xiàng)優(yōu)化:5月開始部署
微軟計(jì)劃在新版Outlook for Windows中引入郵件分類快捷功能,用戶可通過預(yù)設(shè)快捷鍵快速對郵件進(jìn)行分類,從而大幅提升工作效率并優(yōu)化管理流程2025-04-21rsync The --password-file option may only be used when accessing a
客戶端上傳文件執(zhí)行命令出錯,提醒The --password-file option may only be used when accessing an rsync daemon.查找資料也很少這樣的說法,最后發(fā)現(xiàn)是冒號的問題2025-02-26郵箱密碼忘記了怎么找回來? 網(wǎng)易郵箱密碼找回流程
郵箱在使用的時(shí)候,由于各種原因,有時(shí)候我們可能會遇到忘記密碼、賬號被盜等問題,這時(shí)候就需要進(jìn)行163郵箱找回操作,本文將為大家介紹如何進(jìn)行163郵箱找回操作2025-02-01- 電子郵件成為了我們?nèi)粘I詈凸ぷ髦胁豢苫蛉钡囊徊糠?,無論是注冊社交媒體、購物平臺,還是與他人溝通,一個(gè)穩(wěn)定的郵箱賬號都變得至關(guān)重要,本文將為您提供詳細(xì)的電子郵件2025-02-01
wps調(diào)用Outlook 批量發(fā)送電子郵件時(shí)持續(xù)彈出警告框怎么辦?
如何解決程序調(diào)用outlook時(shí)一直警告,wps調(diào)用outlook發(fā)送郵件時(shí),發(fā)送的時(shí)候,會一直出現(xiàn)警告,需要你一個(gè)個(gè)點(diǎn)確定或拒絕,本文介紹如何解決這個(gè)警告2025-02-01QQ郵箱文件怎么發(fā)送微信? 電腦qq郵箱中轉(zhuǎn)站中文件分享到微信的方法
在使用郵箱軟件的時(shí)候,有的用戶想要通過QQ郵箱文件,QQ郵箱中存在這種功能,但是很多小伙伴不知道到底要如何操作,下面小編就給大家?guī)鞶Q郵箱文件發(fā)送微信教程,感興趣的2024-09-29微信電腦版怎么獨(dú)立窗口中打開訂閱號? 訂閱號獨(dú)立窗口顯示的教程
微信電腦版看訂閱號的時(shí)候,想要獨(dú)立窗口顯示訂閱號,該怎么操作呢?下面我們就來看看詳細(xì)的教程2024-09-29Outlook在windows系統(tǒng)中有哪些快捷鍵? Outlook的鍵盤快捷方式大全
Outlook可以用它來收發(fā)電子郵件、管理聯(lián)系人信息、記日記、安排日程、分配任務(wù),新版Outlook for Windows帶來了許多新功能,今天我們就來看看Outlook快捷鍵匯總2024-09-13微信怎么調(diào)默認(rèn)瀏覽器? 微信設(shè)置默認(rèn)瀏覽器打開網(wǎng)頁鏈接的教程
微信怎么調(diào)默認(rèn)瀏覽器?只需簡單設(shè)置,在微信就可以使用默認(rèn)瀏覽器打開網(wǎng)站,該怎么設(shè)置呢?詳細(xì)請看下文介紹2024-08-14GameViewer怎么刪除設(shè)備 GameViewer刪除設(shè)備的步驟
GameViewer怎么刪除設(shè)備?GameViewer 是一款專為游戲玩家設(shè)計(jì)的遠(yuǎn)程控制助手,下文中為大家?guī)砹薌ameViewer刪除設(shè)備步驟,需要的朋友快來看看吧2024-06-17