220 Serv-U FTP Server v12.1 ready...
USER ep
331 User name okay, need password.
PASS ep
230 User logged in, proceed.
SYST
215 UNIX Type: L8
FEAT
211-Extensions supported
OPTS MODE;MLST
CLNT
CSID Name; Version;
HOST domain
SITE PSWD;SET;ZONE;CHMOD;MSG;EXEC;HELP
AUTH TLS;SSL;TLS-C;TLS-P;
PBSZ
PROT
CCC
SSCN
RMDA directoryname
DSIZ
AVBL
EPRT
EPSV
MODE Z
THMB BMP|JPEG|GIF|TIFF|PNG max_width max_height pathname
REST STREAM
SIZE
MDTM
MDTM YYYYMMDDHHMMSS[+-TZ];filename
MFMT
MFCT
MFF Create;Modify;
XCRC filename;start;end
XMD5 filename;start;end
XSHA1 filename;start;end
XSHA256 filename;start;end
XSHA512 filename;start;end
COMB target;source_list
MLST Type*;Size*;Create;Modify*;Perm;Win32.ea;Win32.dt;Win32.dl
211 End (for details use "HELP commmand" where command is the command of interest)
CLNT FlashFXP 4.0.0.1522
200 Noted.
PWD
257 "/" is current directory.
PASV
227 Entering Passive Mode (10,18,34,18,229,212)
MLSD
150 Opening BINARY mode data connection for MLSD.
226 Transfer complete. 2,287 bytes transferred. 139.59 KB/sec.
以上,红体是客户端的消息,表明使用 Pasv模式:
对于PORT和PASV的定义,比较容易理解的解释是针对FTP服务端而言的
PORT是主动模式,在建立数据通道时,服务端去连接别人
PASV是被动模式,在建立数据通道时,服务端被别人连接
建立数据通道时,用PORT模式还是PASV模式,选择权在于FTP客户端
具体点说是这样
Port模式:
当客户端向服务端连接后,使用的是PORT模式,那么客户端B会发送一条命令告诉服务端(客户端B在本地打开了一个端口N在等着你进行数据连接),当服务端收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成
Pasv模式:
当客户端B向服务端连接后,使用的是PASV模式,服务端会发信息给客户端,这个信息是(服务端在本地打开了一个端口M,你现在去连接我吧),当客户端收到这个信息后,就可以向服务端的M端口进行连接,连接成功后,数据连接也建立了