21:55:37.016471 IP 192.168.0.3.21 > 192.168.0.1.2323: P 115:154(39) ack 1 win
65535 (DF)
<FTP协议连接>
0x0000 4500 004f d586 4000 8006 a3cd c0a8 0003 E..O..@.........
0x0010 c0a8 0001 0015 0913 e981 069a 7a0c 4c1e ............z.L.
0x0020 5018 ffff 074f 0000 3232 3020 506c 6561 P....O..220.Plea
0x0030 7365 2065 6e74 6572 2079 6f75 7220 6c6f se.enter.your.lo
0x0040 6769 6e20 6e61 6d65 206e 6f77 2e0d 0a gin.name.now...
21:55:37.022282 IP 192.168.0.1.2323 > 192.168.0.3.21: P 1:12(11) ack 154 win 65382
(DF)
0x0000 4500 0033 b8d2 4000 8006 c09d c0a8 0001 E..3..@.........
0x0010 c0a8 0003 0913 0015 7a0c 4c1e e981 06c1 ........z.L.....
0x0020 5018 ff66 c4eb 0000 5553 4552 2065 6c6c P..f....USER.ell
0x0030 790d 0a y..
<用户名:elly>
21:55:37.059430 IP 192.168.0.3.21 > 192.168.0.1.2323: P 154:188(34) ack 12 win
65524 (DF)
0x0000 4500 004a d58b 4000 8006 a3cd c0a8 0003 E..J..@.........
0x0010 c0a8 0001 0015 0913 e981 06c1 7a0c 4c29 ............z.L)
0x0020 5018 fff4 b343 0000 3333 3120 5061 7373 P....C..331.Pass
0x0030 776f 7264 2072 6571 7569 7265 6420 666f word.required.fo
0x0040 7220 656c 6c79 202e 0d0a r.elly....
21:55:37.060301 IP 192.168.0.1.2323 > 192.168.0.3.21: P 12:27(15) ack 188 win
65348 (DF)
0x0000 4500 0037 b8db 4000 8006 c090 c0a8 0001 E..7..@.........
0x0010 c0a8 0003 0913 0015 7a0c 4c29 e981 06e3 ........z.L)....
0x0020 5018 ff44 e479 0000 5041 5353 2038 3838 P..D.y..PASS.888
0x0030 3838 3838 380d 0a 88888..
<密码:88888888>
21:55:37.243954 IP 192.168.0.3.21 > 192.168.0.1.2323: . ack 27 win 65509 (DF)
0x0000 4500 0028 d59d 4000 8006 a3dd c0a8 0003 E..(..@.........
0x0010 c0a8 0001 0015 0913 e981 06e3 7a0c 4c38 ............z.L8
0x0020 5010 ffe5 6ec8 0000 0000 0000 0000 P...n.........
21:55:37.285586 IP 192.168.0.3.21 > 192.168.0.1.2323: . 188:1648(1460) ack 27 win
65509 (DF)
0x0000 4500 05dc d5a4 4000 8006 9e22 c0a8 0003 E.....@...."....
0x0010 c0a8 0001 0015 0913 e981 06e3 7a0c 4c38 ............z.L8
0x0020 5010 ffe5 0300 0000 3233 302d 5765 6c63 P.......230-Welc
0x0030 6f6d 6520 746f 2076 6920 4654 5020 7365 ome.to.vi.FTP.se
0x0040 7276 6572 0d0a 3233 302d 0d0a 3233 302d rver..230-..230-
0x0050 4375 Cu
<明文数据传输>
\=================================================================/
[page]
3.0 改进: ftp安全扩展, SSL/TLS
在传统的ftp通讯和传输过程中可以看出,ftp协议提供了一种简单实用的网络文件传输方法,
但是缺陷也是显而易见的。传统ftp服务缺乏对数据的机密性和完整性保护,对通讯双方也没
有可靠的认证措施,同时还存在着明文信息传输的弱点 --
在同一个网络上的任何用户都可能窃取到重要的信息。虽然近年来出现了很多种ftp的替代服
务,例如ssh加密通道的sftp/scp,或使用IPSEC协议的VPN通道等等,但是在大多数情况下,f
tp的通用性和易用性使得它在很长一段时间内必然无法被完全取代。所以如同其他一系列古董
服务(例如SMTP/HTTP)一样,近年来也出现了一些不需要对ftp协议自身做完全更改的协议扩展
模块,能够良好的完成兼容性和功能扩展。ftp SSL/TLS Extension就是其中一种方式。
FTP安全扩展: http://www.ietf.org/rfc/rfc2228.txt
http://www.ietf.org/rfc/rfc2246.txt
FTP安全扩展,SSL接口草案:
http://www.ietf.org/internet-drafts/draft-murray-auth-ftp-ssl-13.txt
3.1 SSL/TLS简介
先说一下SSL/TLS协议,SSL(Secure Socket
Layer)最早是netscape公司设计的用于HTTP协议加密的安全传输协议,SSL工作于TCP协议的传
输层(TCP层)和应用程序之间。作为一个中间层,应用程序只要采用SSL提供的一套SSL套接字A
PI来替换标准的Socket套接字,就可以把程序转换为SSL化的安全网络程序,在传输过程中将
由SSL协议实现数据机密性和完整性的保证。SSL协议的当前版本为3.0,当SSL取得大规模成功
后,IETF(www.ietf.org)将SSL作了标准化,规范为RFC2246,并将其称为TLS(Transport
Layer
Security)。从技术上讲,TLS1.0与SSL3.0的差别非常微小,SSL由于其历史应用的原因在当
前的商业应用程序之中使用得更多一些。
TLS协议,RFC 2246: http://www.ietf.org/rfc/rfc2246.txt
3.2 数据机密性和完整性
前面多次提到了数据的机密性和完整性两个方面,在此略微解释一下。数据的机密性确保数据
信息机密可靠,不会被没有权限的对象所访问和浏览到,基本的机密性保护手段就是数据加密
;而数据的完整性则是指数据在传输和存储过程中将保证数据的唯一和完整,不会被恶意篡改
着所修改,保证数据完整性的基本手段主要有数字签名。
这里就牵扯到数据加密领域的两类算法,加密算法和散列算法。加密算法从数学原理上看可以
分为对称加密和非对称加密,从数据处理方法上可以分为流加密和分组加密,本文重点不在此
,不再赘述,只举例几种常用的加密算法: DES, 3DES, AES,
BlowFish,RC2-RC6等等。数据签名算法是加密领域的另一套方法,又叫数据散列算法,用于对
数据进行处理生成一个唯一的等长签名字符串,原数据的长度可能是任意的,而任意两个相似
但哪怕只有少许细微差别的数据集,都将产生差别非常大的等长签名字符串,这个字符串在一
般意义下被认为是极少会发生空间冲突(重复)的,因此数据散列算法对于确保数据的唯一性是
一种必要的手段;常见的数字散列算法有MD5,SHA-1,CAST-256等等。
可以看出,面对如此多种类的加密算法,应用程序处理起来是很繁琐的。SSL在这个层次中就
提供了一种自动的算法协商,密钥交换和数据加密过程。SSL协议分为两部分:Handshake
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




