步骤:
1. 客户端向服务器的FTP端口(默认是21)发送连接请 求,服务器接受连接,建立一条命令链路。
2 .当需要传送数据时
主动模式: 客户端在命令链路上用PORT 命令告诉服务器:“我打开了XXXX端口,你过来连接我”。于是服务器从20端口向客户端的 XXXX端口发送连接请求,建立一条数据链路来传送数据。
被动模式:服务器在命令链路上用PASV 命令告诉客户端:“我打开了XXXX端口,你过来连接我”。于是客户端向服务器的XXXX端口 发送连接请求,建立一条数据链路来传送数据。
3. 被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而 只允许由防火墙之后的主机发起的连接请求通过。因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
被动传输:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(2796|6056) connected to (218.193.130.170:21)
220 Microsoft FTP Service
USER ××××××××
331 Password required for EMSDatabase_test.
PASS ××××××
230 User EMSDatabase_test logged in.
CWD Devices
250 CWD command successful.
TYPE I
200 Type set to I.
PASV
227 Entering Passive Mode (218,193,130,170,16,60).
(2796|6056) connected to (218.193.130.170:21)
STOR TJFTP_demo.zip
125 Data connection already open; Transfer starting.
226 Transfer complete.
Send TJFTP_demo.zip(176346) OK!
QUIT/r/n