在solaris10上登入ftp输入用户名和密码后,执行类似ls发现出现如下问题Entering Extended Passive Mode
ftp> ls
229 Entering Extended Passive Mode (|||51374|)
要解决这种情况,ctrl+c后输入epsv4 off回车即可。
ftp> epsv4 off
EPSV/EPRT on IPv4 off.
ftp> ls
227 Entering Passive Mode (9,44,51,77,147,2).
150 Opening ASCII mode data connection for file list
drwxr-xr-x 2 root system 256 Jul 28 22:21 dev
具体原因可以通过搜了下ftp主动和被动模式的区别在连接上服务器之后创建数据通道的时候:
- PORT 模式是建立从服务器高端口连到客户端20端口数据连接
- PASV 模式是建立客户高端口连到服务器返回的数据端口的数据连接
PORT(主动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,服务器从20端口向客户端的空闲端口发送连接请求,建立一条数据链路来传送数据。
PASV(被动)方式的连接过程是:客户端向服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。当需要传送数据时,客户端向服务器的空闲端口发送连接请求,建立一条数据链路来传送数据。
FTP仅仅提供了建立在IPv4上进行数据通信的能力,它基于网络地址是32位这一假设。但是,当IPv6出现以后,地址就比32位长许多了。原来对FTP进行的扩展在多协议环境中有时会失败。针对IPv6对FTP再次进行扩展,两个FTP命令PORT和PASV通过扩展后,我们称它们为EPRT和EPSV。
这个错误类型后面参数各异,但用epsv4 off都可以解决。
229 Entering Extended Passive Mode (|||51951|)
229 Entering Extended Passive Mode (|||51374|)
229 Entering Extended Passive Mode (|||31108|)
……