(转)ftp可以正常登录,但登录后执行ftp命令没有响应

首先需要了解ftp的工作模式:FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。   下面介绍一个这两种方...显示全部
首先需要了解ftp的工作模式:
FTP支持两种模式,一种方式叫做Standard (也就是 PORT方式,主动方式),一种是 Passive (也就是PASV,被动方式)。 Standard模式 FTP的客户端发送 PORT 命令到FTP服务器。Passive模式FTP的客户端发送 PASV命令到 FTP Server。
  
下面介绍一个这两种方式的工作原理:
  Port模式FTP 客户端首先和FTP服务器的TCP 21端口建立连接,通过这个通道发送命令,客户端需要接收数据的时候在这个通道上发送PORT命令。 PORT命令包含了客户端用什么端口接收数据。在传送数据的时候,服务器端通过自己的TCP 20端口连接至客户端的指定端口发送数据。 FTP server必须和客户端建立一个新的连接用来传送数据。
  Passive模式在建立控制通道的时候和Standard模式类似,但建立连接后发送的不是 Port命令,而是Pasv命令。FTP服务器收到Pasv命令后,随机打开一个高端端口(端口号大于1024)并且通知客户端在这个端口上传送数据的请求,客户端连接FTP服务器此端口,然后FTP服务器将通过这个端口进行数据的传送。
这样当使用port方式时20端口被禁用则执行ls,get之类的ftp命令时,会看到命令无法输出结果。而在pasv方式时,由于防火墙的存在,不允许外部发起的连接,所以client端无法穿过防火墙打开高端端口进行传输。当遇到类似AIX系统ftp可以正常登录,但执行登录后ftp命令没有响应的问题是就需要开启20端口或者关闭防火墙。

我的做法是:telnet IP 20/21看是否能连通.收起
参与7

查看其它 5 个回答tiantom的回答

tiantomtiantom技术经理****有限公司
学习了,呵呵,
互联网服务 · 2012-05-31
浏览2131

回答者

tiantom
技术经理****有限公司
擅长领域: 云计算私有云主机

tiantom 最近回答过的问题

回答状态

  • 发布时间:2012-05-31
  • 关注会员:1 人
  • 回答浏览:2131
  • X社区推广