FTP協(xié)議的分析和擴展
| <------------------------------------------- 220 |
| AUTH TLS -------------------------------------------> |
| <------------------------------------------- 234 |
| TLSneg() <------------------------------------------> TLSneg() |
| PBSZ 0 -------------------------------------------> |
| <------------------------------------------- 200 |
| PROT P -------------------------------------------> |
| <------------------------------------------- 200 |
| USER elly -------------------------------------------> |
| <------------------------------------------- 331 |
| PASS **** -------------------------------------------> |
| <------------------------------------------- 230 |
| |
\====================================================================/
一個SSL FTP的連接過程實例:
/====================================================================\
| |
| 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] 234 AUTH Command OK. Initializing SSL connection. |
| [R] Connected. Negotiating SSL/TLS session.. |
| [R] SSL/TLS negotiation successful... (協(xié)商關聯)|
| [R] TLSv1/SSLv3 encrypted session using cipher AES256-SHA (256 bits)
| [R] PBSZ 0 (PBSZ設置)|
| [R] 200 PBSZ Command OK. Protection buffer size set to 0. |
| [R] USER elly (ftp傳統(tǒng)認證)|
| [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 (擴展指令測試)|
| [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 (切換到保護模式)|
| [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中,有以下幾個特殊點:
1, AUTH是可選指令,因為ssl ftp實現的方式不同而存在,詳見下一節(jié)explicit SSL
與implicit SSL;
2, PBSZ和PROT是必須指令,用于切換到保護通道模式;
3, AUTH,PBSZ和PROT指令是實現SSL認證方式的必須方法,但可以與傳統(tǒng)的User/Password
模式共存,或只取其一;
4, SSL認證方法的SSL認證過程(AUTH/PBSZ)和傳統(tǒng)模式認證并無嚴格的先后順序關聯,可能在
用戶名和密碼之前,也可能在之后;但出于安全因素,最好在User/Password傳輸之前切換
到安全模式,可以確保User/Password的傳輸安全;
5, 在explicit SSL模式中,可以在任何時間切換到保護模式,如第四條所述;在implicit
SSL模式中,初始化連接將直接采用SSL Socket建立,不需要AUTH指令切換。
>>3.4 Explicit SSL和Implicit SSL
由于歷史和軟件兼容性因素,ssl FTP的實現有兩種方式,分別是Explicit SSL和Implicit SSL,
上面的大部分數據都是以explicit SSL為范例。
Explicit SSL(外部SSL),又被稱為AUTH SSL方式;Explicit SSL保持了與傳統(tǒng)ftp服務的
良好兼容性,以一個ftp服務擴展指令的方式存在。初始化連接可以采用與傳統(tǒng)ftp兼容的連
接模式,當需要傳輸加密信息時使用AUTH SSL指令切換到保護模式。使用Explicit SSL時
Server必須完整地實現AUTH/PBSZ/PROT等指令。
Implicit SSL(隱含SSL),是一個全新的ftp實現方式,在TCP三步握手完成之后就直接使用
SSL Socket進行協(xié)商和通訊,之后將全程采用SSL加密連接。在這種模式中一般ftp server
將監(jiān)聽在一個新的服務端口,IANA指定ftps:tcp:990為implicit SSL ftp的默認端口。因為在
連接初始階段就自動由SSL實現完成了協(xié)商,因此implicit模式中AUTH指令是可選的。
在不考慮兼容性的因素下,在服務期端最好優(yōu)先使用implicit SSL模式,可以獲得更好的保密
特性。
比較兩種ssl ftp實現模式區(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種引用了一個Explicit SSL連接指令序列,這里是對應的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.
相關文章

微軟新版Outlook將推出郵件分類快捷鍵及多項優(yōu)化:5月開始部署
微軟計劃在新版Outlook for Windows中引入郵件分類快捷功能,用戶可通過預設快捷鍵快速對郵件進行分類,從而大幅提升工作效率并優(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ā)現是冒號的問題2025-02-26
郵箱在使用的時候,由于各種原因,有時候我們可能會遇到忘記密碼、賬號被盜等問題,這時候就需要進行163郵箱找回操作,本文將為大家介紹如何進行163郵箱找回操作2025-02-01
電子郵件成為了我們日常生活和工作中不可或缺的一部分,無論是注冊社交媒體、購物平臺,還是與他人溝通,一個穩(wěn)定的郵箱賬號都變得至關重要,本文將為您提供詳細的電子郵件2025-02-01
wps調用Outlook 批量發(fā)送電子郵件時持續(xù)彈出警告框怎么辦?
如何解決程序調用outlook時一直警告,wps調用outlook發(fā)送郵件時,發(fā)送的時候,會一直出現警告,需要你一個個點確定或拒絕,本文介紹如何解決這個警告2025-02-01
QQ郵箱文件怎么發(fā)送微信? 電腦qq郵箱中轉站中文件分享到微信的方法
在使用郵箱軟件的時候,有的用戶想要通過QQ郵箱文件,QQ郵箱中存在這種功能,但是很多小伙伴不知道到底要如何操作,下面小編就給大家?guī)鞶Q郵箱文件發(fā)送微信教程,感興趣的2024-09-29
微信電腦版怎么獨立窗口中打開訂閱號? 訂閱號獨立窗口顯示的教程
微信電腦版看訂閱號的時候,想要獨立窗口顯示訂閱號,該怎么操作呢?下面我們就來看看詳細的教程2024-09-29
Outlook在windows系統(tǒng)中有哪些快捷鍵? Outlook的鍵盤快捷方式大全
Outlook可以用它來收發(fā)電子郵件、管理聯系人信息、記日記、安排日程、分配任務,新版Outlook for Windows帶來了許多新功能,今天我們就來看看Outlook快捷鍵匯總2024-09-13
微信怎么調默認瀏覽器? 微信設置默認瀏覽器打開網頁鏈接的教程
微信怎么調默認瀏覽器?只需簡單設置,在微信就可以使用默認瀏覽器打開網站,該怎么設置呢?詳細請看下文介紹2024-08-14
GameViewer怎么刪除設備 GameViewer刪除設備的步驟
GameViewer怎么刪除設備?GameViewer 是一款專為游戲玩家設計的遠程控制助手,下文中為大家?guī)砹薌ameViewer刪除設備步驟,需要的朋友快來看看吧2024-06-17







